From 1dfbb6e7f85cfe191320a1fb66d9f17c9ee61c17 Mon Sep 17 00:00:00 2001
From: Fabian Brosig <fabian.brosig@uni-wuerzburg.de>
Date: Wed, 4 Jul 2012 00:21:51 +0000
Subject: [PATCH] git-svn-id:
 https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@7811
 9e42b895-fcda-4063-8a3b-11be15eb1bbd

---
 .classpath                                    |     9 -
 .project                                      |    34 -
 META-INF/MANIFEST.MF                          |    30 -
 build.properties                              |     6 -
 .../AbstractRepositoryDSLRuntimeModule.java   |   142 -
 .../repository/text/RepositoryDSL.xmi         |  3049 --
 ...RepositoryDSLStandaloneSetupGenerated.java |    40 -
 .../RepositoryDSLParsetreeConstructor.java    | 31625 ----------------
 .../RepositoryDSLAntlrTokenFileProvider.java  |    15 -
 .../parser/antlr/RepositoryDSLParser.java     |    39 -
 .../antlr/internal/InternalRepositoryDSL.g    |  8544 -----
 .../internal/InternalRepositoryDSL.tokens     |   329 -
 .../internal/InternalRepositoryDSLLexer.java  |  7847 ----
 .../internal/InternalRepositoryDSLParser.java | 21019 ----------
 .../services/RepositoryDSLGrammarAccess.java  |  8021 ----
 .../AbstractRepositoryDSLJavaValidator.java   |    24 -
 .../text/GenerateRepositoryDSL.mwe2           |   121 -
 .../repository/text/RepositoryDSL.xtext       |   620 -
 .../text/RepositoryDSLRuntimeModule.java      |    11 -
 .../text/RepositoryDSLStandaloneSetup.java    |    14 -
 .../formatting/RepositoryDSLFormatter.java    |    39 -
 .../scoping/RepositoryDSLScopeProvider.java   |    17 -
 .../RepositoryDSLJavaValidator.java           |    13 -
 23 files changed, 81608 deletions(-)
 delete mode 100644 .classpath
 delete mode 100644 .project
 delete mode 100644 META-INF/MANIFEST.MF
 delete mode 100644 build.properties
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java
 delete mode 100644 src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java
 delete mode 100644 src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java

diff --git a/.classpath b/.classpath
deleted file mode 100644
index 406ca4ab..00000000
--- a/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="src" path="xtend-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/.project b/.project
deleted file mode 100644
index 81322c6e..00000000
--- a/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>edu.kit.ipd.descartes.mm.applicationlevel.repository.text</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-	</natures>
-</projectDescription>
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
deleted file mode 100644
index d8c36916..00000000
--- a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: edu.kit.ipd.descartes.mm.applicationlevel.repository.text
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0
-Bundle-SymbolicName: edu.kit.ipd.descartes.mm.applicationlevel.repository.text; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;bundle-version="2.1.0";visibility:=reexport,
- org.eclipse.xtext.xbase;bundle-version="2.1.0";resolution:=optional;visibility:=reexport,
- org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
- org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport,
- org.eclipse.xtext.generator;resolution:=optional,
- org.eclipse.emf.codegen.ecore;resolution:=optional,
- org.eclipse.emf.mwe.utils;resolution:=optional,
- org.eclipse.emf.mwe2.launch;resolution:=optional,
- edu.kit.ipd.descartes.mm,
- org.eclipse.xtext.util,
- org.antlr.runtime
-Import-Package: org.apache.log4j,
- org.apache.commons.logging
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: edu.kit.ipd.descartes.mm.applicationlevel.repository.text,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping,
- edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting
-
diff --git a/build.properties b/build.properties
deleted file mode 100644
index 31255ed0..00000000
--- a/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/,\
-          src-gen/,\
-          xtend-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java
deleted file mode 100644
index 19261c2f..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * generated by Xtext
- */
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text;
-
-import java.util.Properties;
-
-import org.eclipse.xtext.Constants;
-import org.eclipse.xtext.service.DefaultRuntimeModule;
-
-import com.google.inject.Binder;
-import com.google.inject.name.Names;
-
-/**
- * Manual modifications go to {edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSLRuntimeModule}
- */
- @SuppressWarnings("all")
-public abstract class AbstractRepositoryDSLRuntimeModule extends DefaultRuntimeModule {
-
-	protected Properties properties = null;
-
-	@Override
-	public void configure(Binder binder) {
-		properties = tryBindProperties(binder, "edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.properties");
-		super.configure(binder);
-	}
-	
-	public void configureLanguageName(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL");
-	}
-	
-	public void configureFileExtensions(Binder binder) {
-		if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
-			binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("repositoryDSL");
-	}
-	
-	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
-	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
-	public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction.RepositoryDSLParsetreeConstructor.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.RepositoryDSLParser.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
-		return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.RepositoryDSLAntlrTokenFileProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public com.google.inject.Provider<edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer> provideInternalRepositoryDSLLexer() {
-		return org.eclipse.xtext.parser.antlr.LexerProvider.create(edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public void configureRuntimeLexer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
-		return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment
-	public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
-		return org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
-	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation.RepositoryDSLJavaValidator> bindRepositoryDSLJavaValidator() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation.RepositoryDSLJavaValidator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping.RepositoryDSLScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
-		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
-	}
-
-	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
-	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
-		return org.eclipse.xtext.naming.SimpleNameProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
-	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
-		return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting.RepositoryDSLFormatter.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
-		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
-		return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptions(com.google.inject.Binder binder) {
-		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 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);
-	}
-
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi
deleted file mode 100644
index 0c23df9c..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi
+++ /dev/null
@@ -1,3049 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
-  <xtext:Grammar name="edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL" usedGrammars="/1">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel">
-      <ePackage href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="servicebehavior">
-      <ePackage href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="repository">
-      <ePackage href="http://www.descartes-research.net/metamodel/repository/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="system">
-      <ePackage href="http://www.descartes-research.net/metamodel/system/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="resourceconfiguration">
-      <ePackage href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="functions">
-      <ePackage href="http://www.descartes-research.net/metamodel/functions/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="resourcetype">
-      <ePackage href="http://www.descartes-research.net/metamodel/resourcetype/0.1#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:ParserRule" name="Repository">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Repository"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Repository"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="datatypes"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="interfaces"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="components"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="components" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="components" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="DataType">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RepositoryComponent">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Relationship">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.79"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.80"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InfluencingParameter">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.34"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InterfaceProvidingEntity">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingEntity"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InterfaceProvidingRequiringEntity">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ServiceBehaviorAbstraction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCall">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.76"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.48"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="AbstractAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.38"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.40"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.41"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.42"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.43"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.44"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.45"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.46"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.47"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.48"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ComponentInternalBehavior">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.39"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProcessingResourceType">
-      <type metamodel="/0/@metamodelDeclarations.7">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.54"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProbabilityFunction">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityFunction"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.63"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.65"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EString">
-      <type metamodel="/0/@metamodelDeclarations.2">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Interface">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Interface"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parentInterfaces"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="parentInterfaces" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="parentInterfaces" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.3">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="signatures"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="signatures" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="signatures" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RepositoryComponent_Impl">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="RepositoryComponent"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="relationship"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.0">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CollectionDataType">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CollectionDataType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CollectionDataType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="innerType"/>
-        <elements xsi:type="xtext:Assignment" feature="innerType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CompositeDataType">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CompositeDataType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parentTypes"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="parentTypes" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="parentTypes" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.3">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="innerDeclarations"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="PrimitiveDataType">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveDataType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PrimitiveDataType"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="type"/>
-        <elements xsi:type="xtext:Assignment" feature="type" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InnerDeclaration">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InnerDeclaration"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="InnerDeclaration"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="dataType"/>
-        <elements xsi:type="xtext:Assignment" feature="dataType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="PrimitiveTypeEnum">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/INT"/>
-          <literal value="INT"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/STRING"/>
-          <literal value="STRING"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/BOOL"/>
-          <literal value="BOOL"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/DOUBLE"/>
-          <literal value="DOUBLE"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/CHAR"/>
-          <literal value="CHAR"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/BYTE"/>
-          <literal value="BYTE"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/LONG"/>
-          <literal value="LONG"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Signature">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Signature"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="returnType"/>
-          <elements xsi:type="xtext:Assignment" feature="returnType" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parameters"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Parameter">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Parameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="modifier"/>
-        <elements xsi:type="xtext:Assignment" feature="modifier" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="dataType"/>
-        <elements xsi:type="xtext:Assignment" feature="dataType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="ParameterModifier">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/NONE"/>
-          <literal value="NONE"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/IN"/>
-          <literal value="IN"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/OUT"/>
-          <literal value="OUT"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/INOUT"/>
-          <literal value="INOUT"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProvidedRole">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ProvidedRole"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="interface"/>
-        <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BlackBoxBehavior">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BlackBoxBehavior"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BlackBoxBehavior"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="describedSignature"/>
-          <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="describedEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="describedEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="influencingParameter"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="responseTimeSpecification"/>
-          <elements xsi:type="xtext:Assignment" feature="responseTimeSpecification" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RequiredRole">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="RequiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="interface"/>
-        <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CoarseGrainedBehavior">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//CoarseGrainedBehavior"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CoarseGrainedBehavior"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="describedSignature"/>
-          <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="describedEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="describedEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="influencingParameter"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="externalCallFrequency"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="externalCallFrequency" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="externalCallFrequency" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="resourceDemandSpecification"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BasicComponent">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//BasicComponent"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BasicComponent"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="relationship"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.0">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="passiveResources"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="passiveResources" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.49"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="passiveResources" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.49"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="fineGrainedBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="fineGrainedBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="fineGrainedBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CompositeComponent">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeComponent"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CompositeComponent"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="relationship"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.0">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="assemblyContexts"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="assemblyConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedDelegationConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredDelegationConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="SubSystem">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//SubSystem"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="SubSystem"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="relationship"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="relationship" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.0">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="assemblyContexts"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="assemblyConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="providedDelegationConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="requiredDelegationConnectors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InfluencingParameter_Impl">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="InfluencingParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="description"/>
-        <elements xsi:type="xtext:Assignment" feature="description" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="behavior"/>
-        <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="scope"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ResponseTimeSpecification">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ResponseTimeSpecification"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Scope">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Scope"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Scope"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="interfaceProvidingRequiringEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="interfaceProvidingRequiringEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ServiceInputParameter">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ServiceInputParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ServiceInputParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="description"/>
-        <elements xsi:type="xtext:Assignment" feature="description" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="characterization"/>
-        <elements xsi:type="xtext:Assignment" feature="characterization" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="behavior"/>
-        <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="signature"/>
-        <elements xsi:type="xtext:Assignment" feature="signature" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parameter"/>
-          <elements xsi:type="xtext:Assignment" feature="parameter" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="returnType"/>
-          <elements xsi:type="xtext:Assignment" feature="returnType" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="providedRole"/>
-        <elements xsi:type="xtext:Assignment" feature="providedRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="scope"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCallReturnParameter">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ExternalCallReturnParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExternalCallReturnParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="description"/>
-        <elements xsi:type="xtext:Assignment" feature="description" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="characterization"/>
-        <elements xsi:type="xtext:Assignment" feature="characterization" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="behavior"/>
-        <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="signature"/>
-        <elements xsi:type="xtext:Assignment" feature="signature" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parameter"/>
-          <elements xsi:type="xtext:Assignment" feature="parameter" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="returnType"/>
-          <elements xsi:type="xtext:Assignment" feature="returnType" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="externalCall"/>
-        <elements xsi:type="xtext:Assignment" feature="externalCall" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="scope"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCallParameter">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ExternalCallParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExternalCallParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="description"/>
-        <elements xsi:type="xtext:Assignment" feature="description" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="characterization"/>
-        <elements xsi:type="xtext:Assignment" feature="characterization" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="behavior"/>
-        <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="signature"/>
-        <elements xsi:type="xtext:Assignment" feature="signature" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parameter"/>
-          <elements xsi:type="xtext:Assignment" feature="parameter" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="returnType"/>
-          <elements xsi:type="xtext:Assignment" feature="returnType" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="externallCall"/>
-        <elements xsi:type="xtext:Assignment" feature="externallCall" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="scope"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="scope" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="FineGrainedBehavior">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//FineGrainedBehavior"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="FineGrainedBehavior"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="describedSignature"/>
-          <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="basicComponent"/>
-        <elements xsi:type="xtext:Assignment" feature="basicComponent" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//BasicComponent"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="influencingParameter"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="actions"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="actions" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="actions" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="behavior"/>
-        <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="AbstractAction_Impl">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="AbstractAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ComponentInternalBehavior_Impl">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ComponentInternalBehavior"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="actions"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="actions" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="actions" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="StartAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StartAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StartAction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="StartAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="StopAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StopAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StopAction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="StopAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="AcquireAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AcquireAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="AcquireAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="passiveResource"/>
-        <elements xsi:type="xtext:Assignment" feature="passiveResource" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.5">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ReleaseAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ReleaseAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ReleaseAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="passiveResource"/>
-        <elements xsi:type="xtext:Assignment" feature="passiveResource" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.5">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InternalAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//InternalAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//InternalAction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="InternalAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="resourceDemandSpecification"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ForkAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ForkAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="withSynchronizationBarrier" operator="?=">
-          <terminal xsi:type="xtext:Keyword" value="withSynchronizationBarrier"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ForkAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="forkedBehaviors"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="forkedBehaviors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="forkedBehaviors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BranchAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BranchAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="branches"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="branches" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="branches" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="branchProbabilities"/>
-        <elements xsi:type="xtext:Assignment" feature="branchProbabilities" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.58"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="LoopAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//LoopAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="LoopAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="loopBodyBehavior"/>
-        <elements xsi:type="xtext:Assignment" feature="loopBodyBehavior" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="loopIterationCountDistribution"/>
-        <elements xsi:type="xtext:Assignment" feature="loopIterationCountDistribution" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.70"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCallAction">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCallAction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExternalCallAction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="signature"/>
-        <elements xsi:type="xtext:Assignment" feature="signature" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="requiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="PassiveResourceSpecification">
-      <type metamodel="/0/@metamodelDeclarations.5">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PassiveResourceSpecification"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="passiveResourceType"/>
-        <elements xsi:type="xtext:Assignment" feature="passiveResourceType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.7">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//PassiveResourceType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="capacity"/>
-        <elements xsi:type="xtext:Assignment" feature="capacity" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.50"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="PassiveResourceCapacity">
-      <type metamodel="/0/@metamodelDeclarations.5">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceCapacity"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PassiveResourceCapacity"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="capacity"/>
-        <elements xsi:type="xtext:Assignment" feature="capacity" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.52"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="PassiveResourceType">
-      <type metamodel="/0/@metamodelDeclarations.7">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//PassiveResourceType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PassiveResourceType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBigInteger">
-      <type metamodel="/0/@metamodelDeclarations.2">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ResourceDemandSpecification">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResourceDemandSpecification"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ResourceDemandSpecification"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="processingResourceType"/>
-        <elements xsi:type="xtext:Assignment" feature="processingResourceType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.7">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProcessingResourceType_Impl">
-      <type metamodel="/0/@metamodelDeclarations.7">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ProcessingResourceType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CommunicationLinkResourceType">
-      <type metamodel="/0/@metamodelDeclarations.7">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//CommunicationLinkResourceType"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CommunicationLinkResourceType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBoolean">
-      <type metamodel="/0/@metamodelDeclarations.2">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:Keyword" value="true"/>
-        <elements xsi:type="xtext:Keyword" value="false"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BranchTransition">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchTransition"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BranchTransition"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="branchBehavior"/>
-        <elements xsi:type="xtext:Assignment" feature="branchBehavior" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BranchProbabilities">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchProbabilities"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BranchProbabilities"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="probabilities"/>
-        <elements xsi:type="xtext:Assignment" feature="probabilities" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.6">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RandomVariable">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="RandomVariable"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="specification"/>
-        <elements xsi:type="xtext:Assignment" feature="specification" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="probFunction"/>
-        <elements xsi:type="xtext:Assignment" feature="probFunction" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.6">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityFunction"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProbabilityMassFunction">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.6">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ProbabilityMassFunction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="sample"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProbabilityDensityFunction_Impl">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityDensityFunction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.6">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityDensityFunction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ProbabilityDensityFunction"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BoxedPDF">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.6">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="BoxedPDF"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="sample"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ContinuousPDF_Impl">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousPDF"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.6">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousPDF"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ContinuousPDF"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="NormalDistribution">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//NormalDistribution"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="NormalDistribution"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="mu"/>
-        <elements xsi:type="xtext:Assignment" feature="mu" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="sigma"/>
-        <elements xsi:type="xtext:Assignment" feature="sigma" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExponentialDistribution">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ExponentialDistribution"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExponentialDistribution"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="rate"/>
-        <elements xsi:type="xtext:Assignment" feature="rate" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Sample">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Sample"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Sample"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="probability"/>
-        <elements xsi:type="xtext:Assignment" feature="probability" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.2">
-              <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EObject">
-      <type metamodel="/0/@metamodelDeclarations.2">
-        <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.2">
-            <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="EObject"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBigDecimal">
-      <type metamodel="/0/@metamodelDeclarations.2">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" cardinality="?" rule="/1/@rules.1"/>
-        <elements xsi:type="xtext:Keyword" value="."/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ContinuousSample">
-      <type metamodel="/0/@metamodelDeclarations.6">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousSample"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ContinuousSample"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="probability"/>
-        <elements xsi:type="xtext:Assignment" feature="probability" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="LoopIterationCountDistribution">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//LoopIterationCountDistribution"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="LoopIterationCountDistribution"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="loopIterationCountDistribution"/>
-        <elements xsi:type="xtext:Assignment" feature="loopIterationCountDistribution" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.6">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="AssemblyContext">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="AssemblyContext"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="encapsulatedComponent"/>
-        <elements xsi:type="xtext:Assignment" feature="encapsulatedComponent" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="AssemblyConnector">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyConnector"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="AssemblyConnector"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="requiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="providedRole"/>
-        <elements xsi:type="xtext:Assignment" feature="providedRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="providingAssemblyContext"/>
-        <elements xsi:type="xtext:Assignment" feature="providingAssemblyContext" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="requiringAssemblyContext"/>
-        <elements xsi:type="xtext:Assignment" feature="requiringAssemblyContext" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProvidedDelegationConnector">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedDelegationConnector"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ProvidedDelegationConnector"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="assemblyContext"/>
-        <elements xsi:type="xtext:Assignment" feature="assemblyContext" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="innerProvidedRole"/>
-        <elements xsi:type="xtext:Assignment" feature="innerProvidedRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="outerProvidedRole"/>
-        <elements xsi:type="xtext:Assignment" feature="outerProvidedRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RequiredDelegationConnector">
-      <type metamodel="/0/@metamodelDeclarations.3">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredDelegationConnector"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="RequiredDelegationConnector"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="assemblyContext"/>
-        <elements xsi:type="xtext:Assignment" feature="assemblyContext" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="innerRequiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="innerRequiredRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="outerRequiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="outerRequiredRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="CharacterizationType">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType/VALUE"/>
-          <literal value="VALUE"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType/NUMBER_OF_ELEMENTS"/>
-          <literal value="NUMBER_OF_ELEMENTS"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCall_Impl">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExternalCall"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="signature"/>
-        <elements xsi:type="xtext:Assignment" feature="signature" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="requiredRole"/>
-        <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExternalCallFrequency">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCallFrequency"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExternalCallFrequency"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="externalCall"/>
-        <elements xsi:type="xtext:Assignment" feature="externalCall" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="frequency"/>
-        <elements xsi:type="xtext:Assignment" feature="frequency" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.78"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CallFrequency">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//CallFrequency"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CallFrequency"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="frequency"/>
-        <elements xsi:type="xtext:Assignment" feature="frequency" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.6">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="DependencyRelationship">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//DependencyRelationship"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="DependencyRelationship"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="surroundingEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="surroundingEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="influencedVariable"/>
-        <elements xsi:type="xtext:Assignment" feature="influencedVariable" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="influencingParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CorrelationRelationship">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CorrelationRelationship"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CorrelationRelationship"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="surroundingEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="surroundingEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="leftInfluencingParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="leftInfluencingParameter" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="rightInfluencingParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="rightInfluencingParameter" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="leftComponentInstanceReference"/>
-        <elements xsi:type="xtext:Assignment" feature="leftComponentInstanceReference" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="rightComponentInstanceReference"/>
-        <elements xsi:type="xtext:Assignment" feature="rightComponentInstanceReference" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="InfluencedVariable">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="InfluencedVariable"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="controlFlowVariable"/>
-          <elements xsi:type="xtext:Assignment" feature="controlFlowVariable" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ControlFlowSpecification"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="resourceDemand"/>
-          <elements xsi:type="xtext:Assignment" feature="resourceDemand" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResourceDemandSpecification"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="responseTime"/>
-          <elements xsi:type="xtext:Assignment" feature="responseTime" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.1">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ComponentInstanceReference">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ComponentInstanceReference"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ComponentInstanceReference"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ComponentInstanceReference"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="assemblies"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="assemblies" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="assemblies" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.3">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-  </xtext:Grammar>
-  <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:TerminalRule" name="ID">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
-        <elements xsi:type="xtext:Alternatives">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-        </elements>
-        <elements xsi:type="xtext:Alternatives" cardinality="*">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="0"/>
-            <right value="9"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="INT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-      </type>
-      <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
-        <left value="0"/>
-        <right value="9"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="STRING">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-        </elements>
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="'"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="'"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="/*"/>
-        <elements xsi:type="xtext:UntilToken">
-          <terminal xsi:type="xtext:Keyword" value="*/"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="//"/>
-        <elements xsi:type="xtext:NegatedToken" cardinality="*">
-          <terminal xsi:type="xtext:Alternatives">
-            <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-            <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
-          <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="WS">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives" cardinality="+">
-        <elements xsi:type="xtext:Keyword" value=" "/>
-        <elements xsi:type="xtext:Keyword" value="&#x9;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Wildcard"/>
-    </rules>
-  </xtext:Grammar>
-</xmi:XMI>
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java
deleted file mode 100644
index 5fdc9c43..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java
+++ /dev/null
@@ -1,40 +0,0 @@
-
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Generated from StandaloneSetup.xpt!
- */
-@SuppressWarnings("all")
-public class RepositoryDSLStandaloneSetupGenerated implements ISetup {
-
-	public Injector createInjectorAndDoEMFRegistration() {
-		org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
-
-		Injector injector = createInjector();
-		register(injector);
-		return injector;
-	}
-	
-	public Injector createInjector() {
-		return Guice.createInjector(new edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSLRuntimeModule());
-	}
-	
-	public void register(Injector injector) {
-
-		org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
-		org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
-		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("repositoryDSL", resourceFactory);
-		org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("repositoryDSL", serviceProvider);
-		
-
-
-
-	}
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java
deleted file mode 100644
index ce41318d..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java
+++ /dev/null
@@ -1,31625 +0,0 @@
-/*
-* generated by Xtext
-*/
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
-import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
-
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess;
-
-import com.google.inject.Inject;
-
-@SuppressWarnings("all")
-public class RepositoryDSLParsetreeConstructor extends AbstractParseTreeConstructor {
-		
-	@Inject
-	private RepositoryDSLGrammarAccess grammarAccess;
-	
-	@Override
-	protected AbstractToken getRootToken(IEObjectConsumer inst) {
-		return new ThisRootNode(inst);	
-	}
-	
-protected class ThisRootNode extends RootToken {
-	public ThisRootNode(IEObjectConsumer inst) {
-		super(inst);
-	}
-	
-	@Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group(this, this, 0, inst);
-			case 1: return new DataType_Alternatives(this, this, 1, inst);
-			case 2: return new RepositoryComponent_Alternatives(this, this, 2, inst);
-			case 3: return new Relationship_Alternatives(this, this, 3, inst);
-			case 4: return new InfluencingParameter_Alternatives(this, this, 4, inst);
-			case 5: return new InterfaceProvidingEntity_Alternatives(this, this, 5, inst);
-			case 6: return new InterfaceProvidingRequiringEntity_Alternatives(this, this, 6, inst);
-			case 7: return new ServiceBehaviorAbstraction_Alternatives(this, this, 7, inst);
-			case 8: return new ExternalCall_Alternatives(this, this, 8, inst);
-			case 9: return new AbstractAction_Alternatives(this, this, 9, inst);
-			case 10: return new ComponentInternalBehavior_Alternatives(this, this, 10, inst);
-			case 11: return new ProcessingResourceType_Alternatives(this, this, 11, inst);
-			case 12: return new ProbabilityFunction_Alternatives(this, this, 12, inst);
-			case 13: return new Interface_Group(this, this, 13, inst);
-			case 14: return new RepositoryComponent_Impl_Group(this, this, 14, inst);
-			case 15: return new CollectionDataType_Group(this, this, 15, inst);
-			case 16: return new CompositeDataType_Group(this, this, 16, inst);
-			case 17: return new PrimitiveDataType_Group(this, this, 17, inst);
-			case 18: return new InnerDeclaration_Group(this, this, 18, inst);
-			case 19: return new Signature_Group(this, this, 19, inst);
-			case 20: return new Parameter_Group(this, this, 20, inst);
-			case 21: return new ProvidedRole_Group(this, this, 21, inst);
-			case 22: return new BlackBoxBehavior_Group(this, this, 22, inst);
-			case 23: return new RequiredRole_Group(this, this, 23, inst);
-			case 24: return new CoarseGrainedBehavior_Group(this, this, 24, inst);
-			case 25: return new BasicComponent_Group(this, this, 25, inst);
-			case 26: return new CompositeComponent_Group(this, this, 26, inst);
-			case 27: return new SubSystem_Group(this, this, 27, inst);
-			case 28: return new InfluencingParameter_Impl_Group(this, this, 28, inst);
-			case 29: return new ResponseTimeSpecification_Group(this, this, 29, inst);
-			case 30: return new Scope_Group(this, this, 30, inst);
-			case 31: return new ServiceInputParameter_Group(this, this, 31, inst);
-			case 32: return new ExternalCallReturnParameter_Group(this, this, 32, inst);
-			case 33: return new ExternalCallParameter_Group(this, this, 33, inst);
-			case 34: return new FineGrainedBehavior_Group(this, this, 34, inst);
-			case 35: return new AbstractAction_Impl_Group(this, this, 35, inst);
-			case 36: return new ComponentInternalBehavior_Impl_Group(this, this, 36, inst);
-			case 37: return new StartAction_Group(this, this, 37, inst);
-			case 38: return new StopAction_Group(this, this, 38, inst);
-			case 39: return new AcquireAction_Group(this, this, 39, inst);
-			case 40: return new ReleaseAction_Group(this, this, 40, inst);
-			case 41: return new InternalAction_Group(this, this, 41, inst);
-			case 42: return new ForkAction_Group(this, this, 42, inst);
-			case 43: return new BranchAction_Group(this, this, 43, inst);
-			case 44: return new LoopAction_Group(this, this, 44, inst);
-			case 45: return new ExternalCallAction_Group(this, this, 45, inst);
-			case 46: return new PassiveResourceSpecification_Group(this, this, 46, inst);
-			case 47: return new PassiveResourceCapacity_Group(this, this, 47, inst);
-			case 48: return new PassiveResourceType_Group(this, this, 48, inst);
-			case 49: return new ResourceDemandSpecification_Group(this, this, 49, inst);
-			case 50: return new ProcessingResourceType_Impl_Group(this, this, 50, inst);
-			case 51: return new CommunicationLinkResourceType_Group(this, this, 51, inst);
-			case 52: return new BranchTransition_Group(this, this, 52, inst);
-			case 53: return new BranchProbabilities_Group(this, this, 53, inst);
-			case 54: return new RandomVariable_Group(this, this, 54, inst);
-			case 55: return new ProbabilityMassFunction_Group(this, this, 55, inst);
-			case 56: return new ProbabilityDensityFunction_Impl_Group(this, this, 56, inst);
-			case 57: return new BoxedPDF_Group(this, this, 57, inst);
-			case 58: return new ContinuousPDF_Impl_Group(this, this, 58, inst);
-			case 59: return new NormalDistribution_Group(this, this, 59, inst);
-			case 60: return new ExponentialDistribution_Group(this, this, 60, inst);
-			case 61: return new Sample_Group(this, this, 61, inst);
-			case 62: return new EObject_Group(this, this, 62, inst);
-			case 63: return new ContinuousSample_Group(this, this, 63, inst);
-			case 64: return new LoopIterationCountDistribution_Group(this, this, 64, inst);
-			case 65: return new AssemblyContext_Group(this, this, 65, inst);
-			case 66: return new AssemblyConnector_Group(this, this, 66, inst);
-			case 67: return new ProvidedDelegationConnector_Group(this, this, 67, inst);
-			case 68: return new RequiredDelegationConnector_Group(this, this, 68, inst);
-			case 69: return new ExternalCall_Impl_Group(this, this, 69, inst);
-			case 70: return new ExternalCallFrequency_Group(this, this, 70, inst);
-			case 71: return new CallFrequency_Group(this, this, 71, inst);
-			case 72: return new DependencyRelationship_Group(this, this, 72, inst);
-			case 73: return new CorrelationRelationship_Group(this, this, 73, inst);
-			case 74: return new InfluencedVariable_Group(this, this, 74, inst);
-			case 75: return new ComponentInstanceReference_Group(this, this, 75, inst);
-			default: return null;
-		}	
-	}	
-}
-	
-
-/************ begin Rule Repository ****************
- *
- * Repository returns repository::Repository:
- * 	"Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
- * 	("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{"
- * 	components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}";
- *
- **/
-
-// "Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-// ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{"
-// components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}"
-protected class Repository_Group extends GroupToken {
-	
-	public Repository_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRepositoryRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Repository"
-protected class Repository_RepositoryKeyword_0 extends KeywordToken  {
-	
-	public Repository_RepositoryKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRepositoryKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Repository_IdAssignment_1 extends AssignmentToken  {
-	
-	public Repository_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_RepositoryKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Repository_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Repository_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Repository_NameKeyword_3 extends KeywordToken  {
-	
-	public Repository_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Repository_NameAssignment_4 extends AssignmentToken  {
-	
-	public Repository_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-protected class Repository_Group_5 extends GroupToken {
-	
-	public Repository_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "datatypes"
-protected class Repository_DatatypesKeyword_5_0 extends KeywordToken  {
-	
-	public Repository_DatatypesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Repository_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public Repository_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_DatatypesKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// datatypes+=DataType
-protected class Repository_DatatypesAssignment_5_2 extends AssignmentToken  {
-	
-	public Repository_DatatypesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getDatatypesAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DataType_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("datatypes",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," datatypes+=DataType)*
-protected class Repository_Group_5_3 extends GroupToken {
-	
-	public Repository_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_DatatypesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Repository_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public Repository_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_DatatypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// datatypes+=DataType
-protected class Repository_DatatypesAssignment_5_3_1 extends AssignmentToken  {
-	
-	public Repository_DatatypesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getDatatypesAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DataType_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("datatypes",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Repository_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public Repository_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_DatatypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
-protected class Repository_Group_6 extends GroupToken {
-	
-	public Repository_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "interfaces"
-protected class Repository_InterfacesKeyword_6_0 extends KeywordToken  {
-	
-	public Repository_InterfacesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Repository_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public Repository_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_InterfacesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// interfaces+=Interface
-protected class Repository_InterfacesAssignment_6_2 extends AssignmentToken  {
-	
-	public Repository_InterfacesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interfaces",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," interfaces+=Interface)*
-protected class Repository_Group_6_3 extends GroupToken {
-	
-	public Repository_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_InterfacesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Repository_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public Repository_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// interfaces+=Interface
-protected class Repository_InterfacesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public Repository_InterfacesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interfaces",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Repository_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public Repository_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("components" "{" components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")?
-protected class Repository_Group_7 extends GroupToken {
-	
-	public Repository_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "components"
-protected class Repository_ComponentsKeyword_7_0 extends KeywordToken  {
-	
-	public Repository_ComponentsKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Repository_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public Repository_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_ComponentsKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// components+=RepositoryComponent
-protected class Repository_ComponentsAssignment_7_2 extends AssignmentToken  {
-	
-	public Repository_ComponentsAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getComponentsAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("components",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," components+=RepositoryComponent)*
-protected class Repository_Group_7_3 extends GroupToken {
-	
-	public Repository_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_ComponentsAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Repository_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public Repository_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_ComponentsAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// components+=RepositoryComponent
-protected class Repository_ComponentsAssignment_7_3_1 extends AssignmentToken  {
-	
-	public Repository_ComponentsAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getComponentsAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("components",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Repository_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Repository_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public Repository_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_ComponentsAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class Repository_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public Repository_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Repository_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Repository_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Repository ****************/
-
-
-/************ begin Rule DataType ****************
- *
- * DataType returns repository::DataType:
- * 	CollectionDataType | CompositeDataType | PrimitiveDataType;
- *
- **/
-
-// CollectionDataType | CompositeDataType | PrimitiveDataType
-protected class DataType_Alternatives extends AlternativesToken {
-
-	public DataType_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getDataTypeAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DataType_CollectionDataTypeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new DataType_CompositeDataTypeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new DataType_PrimitiveDataTypeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// CollectionDataType
-protected class DataType_CollectionDataTypeParserRuleCall_0 extends RuleCallToken {
-	
-	public DataType_CollectionDataTypeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CollectionDataType_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CompositeDataType
-protected class DataType_CompositeDataTypeParserRuleCall_1 extends RuleCallToken {
-	
-	public DataType_CompositeDataTypeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompositeDataType_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// PrimitiveDataType
-protected class DataType_PrimitiveDataTypeParserRuleCall_2 extends RuleCallToken {
-	
-	public DataType_PrimitiveDataTypeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PrimitiveDataType_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule DataType ****************/
-
-
-/************ begin Rule RepositoryComponent ****************
- *
- * RepositoryComponent returns repository::RepositoryComponent:
- * 	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
- *
- **/
-
-// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-protected class RepositoryComponent_Alternatives extends AlternativesToken {
-
-	public RepositoryComponent_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getRepositoryComponentAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new RepositoryComponent_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new RepositoryComponent_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// RepositoryComponent_Impl
-protected class RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BasicComponent
-protected class RepositoryComponent_BasicComponentParserRuleCall_1 extends RuleCallToken {
-	
-	public RepositoryComponent_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CompositeComponent
-protected class RepositoryComponent_CompositeComponentParserRuleCall_2 extends RuleCallToken {
-	
-	public RepositoryComponent_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// SubSystem
-protected class RepositoryComponent_SubSystemParserRuleCall_3 extends RuleCallToken {
-	
-	public RepositoryComponent_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule RepositoryComponent ****************/
-
-
-/************ begin Rule Relationship ****************
- *
- * Relationship:
- * 	DependencyRelationship | CorrelationRelationship;
- *
- **/
-
-// DependencyRelationship | CorrelationRelationship
-protected class Relationship_Alternatives extends AlternativesToken {
-
-	public Relationship_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getRelationshipAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Relationship_DependencyRelationshipParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Relationship_CorrelationRelationshipParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// DependencyRelationship
-protected class Relationship_DependencyRelationshipParserRuleCall_0 extends RuleCallToken {
-	
-	public Relationship_DependencyRelationshipParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRelationshipAccess().getDependencyRelationshipParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DependencyRelationship_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CorrelationRelationship
-protected class Relationship_CorrelationRelationshipParserRuleCall_1 extends RuleCallToken {
-	
-	public Relationship_CorrelationRelationshipParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getRelationshipAccess().getCorrelationRelationshipParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CorrelationRelationship_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule Relationship ****************/
-
-
-/************ begin Rule InfluencingParameter ****************
- *
- * InfluencingParameter:
- * 	InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter;
- *
- **/
-
-// InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter
-protected class InfluencingParameter_Alternatives extends AlternativesToken {
-
-	public InfluencingParameter_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getInfluencingParameterAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencingParameter_ServiceInputParameterParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new InfluencingParameter_ExternalCallParameterParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// InfluencingParameter_Impl
-protected class InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(InfluencingParameter_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ServiceInputParameter
-protected class InfluencingParameter_ServiceInputParameterParserRuleCall_1 extends RuleCallToken {
-	
-	public InfluencingParameter_ServiceInputParameterParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ServiceInputParameter_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ExternalCallReturnParameter
-protected class InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2 extends RuleCallToken {
-	
-	public InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExternalCallReturnParameter_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ExternalCallParameter
-protected class InfluencingParameter_ExternalCallParameterParserRuleCall_3 extends RuleCallToken {
-	
-	public InfluencingParameter_ExternalCallParameterParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExternalCallParameter_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule InfluencingParameter ****************/
-
-
-/************ begin Rule InterfaceProvidingEntity ****************
- *
- * InterfaceProvidingEntity returns repository::InterfaceProvidingEntity:
- * 	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
- *
- **/
-
-// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-protected class InterfaceProvidingEntity_Alternatives extends AlternativesToken {
-
-	public InterfaceProvidingEntity_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingEntityAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InterfaceProvidingEntity_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InterfaceProvidingEntity_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new InterfaceProvidingEntity_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// RepositoryComponent_Impl
-protected class InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingEntityAccess().getRepositoryComponent_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BasicComponent
-protected class InterfaceProvidingEntity_BasicComponentParserRuleCall_1 extends RuleCallToken {
-	
-	public InterfaceProvidingEntity_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingEntityAccess().getBasicComponentParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CompositeComponent
-protected class InterfaceProvidingEntity_CompositeComponentParserRuleCall_2 extends RuleCallToken {
-	
-	public InterfaceProvidingEntity_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingEntityAccess().getCompositeComponentParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// SubSystem
-protected class InterfaceProvidingEntity_SubSystemParserRuleCall_3 extends RuleCallToken {
-	
-	public InterfaceProvidingEntity_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingEntityAccess().getSubSystemParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule InterfaceProvidingEntity ****************/
-
-
-/************ begin Rule InterfaceProvidingRequiringEntity ****************
- *
- * InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity:
- * 	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
- *
- **/
-
-// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-protected class InterfaceProvidingRequiringEntity_Alternatives extends AlternativesToken {
-
-	public InterfaceProvidingRequiringEntity_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// RepositoryComponent_Impl
-protected class InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getRepositoryComponent_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BasicComponent
-protected class InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1 extends RuleCallToken {
-	
-	public InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getBasicComponentParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CompositeComponent
-protected class InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2 extends RuleCallToken {
-	
-	public InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getCompositeComponentParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// SubSystem
-protected class InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3 extends RuleCallToken {
-	
-	public InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getSubSystemParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule InterfaceProvidingRequiringEntity ****************/
-
-
-/************ begin Rule ServiceBehaviorAbstraction ****************
- *
- * ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction:
- * 	FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior;
- *
- **/
-
-// FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior
-protected class ServiceBehaviorAbstraction_Alternatives extends AlternativesToken {
-
-	public ServiceBehaviorAbstraction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getServiceBehaviorAbstractionAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// FineGrainedBehavior
-protected class ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0 extends RuleCallToken {
-	
-	public ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getServiceBehaviorAbstractionAccess().getFineGrainedBehaviorParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FineGrainedBehavior_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CoarseGrainedBehavior
-protected class ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1 extends RuleCallToken {
-	
-	public ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getServiceBehaviorAbstractionAccess().getCoarseGrainedBehaviorParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CoarseGrainedBehavior_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BlackBoxBehavior
-protected class ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2 extends RuleCallToken {
-	
-	public ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getServiceBehaviorAbstractionAccess().getBlackBoxBehaviorParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BlackBoxBehavior_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule ServiceBehaviorAbstraction ****************/
-
-
-/************ begin Rule ExternalCall ****************
- *
- * ExternalCall returns servicebehavior::ExternalCall:
- * 	ExternalCall_Impl | ExternalCallAction;
- *
- **/
-
-// ExternalCall_Impl | ExternalCallAction
-protected class ExternalCall_Alternatives extends AlternativesToken {
-
-	public ExternalCall_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getExternalCallAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_ExternalCall_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCall_ExternalCallActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// ExternalCall_Impl
-protected class ExternalCall_ExternalCall_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public ExternalCall_ExternalCall_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExternalCall_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ExternalCallAction
-protected class ExternalCall_ExternalCallActionParserRuleCall_1 extends RuleCallToken {
-	
-	public ExternalCall_ExternalCallActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExternalCallAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule ExternalCall ****************/
-
-
-/************ begin Rule AbstractAction ****************
- *
- * AbstractAction returns servicebehavior::AbstractAction:
- * 	AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction |
- * 	BranchAction | LoopAction | ExternalCallAction;
- *
- **/
-
-// AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction |
-// BranchAction | LoopAction | ExternalCallAction
-protected class AbstractAction_Alternatives extends AlternativesToken {
-
-	public AbstractAction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_AbstractAction_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AbstractAction_StartActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new AbstractAction_StopActionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new AbstractAction_AcquireActionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new AbstractAction_ReleaseActionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new AbstractAction_InternalActionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new AbstractAction_ForkActionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new AbstractAction_BranchActionParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new AbstractAction_LoopActionParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new AbstractAction_ExternalCallActionParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// AbstractAction_Impl
-protected class AbstractAction_AbstractAction_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public AbstractAction_AbstractAction_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(AbstractAction_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// StartAction
-protected class AbstractAction_StartActionParserRuleCall_1 extends RuleCallToken {
-	
-	public AbstractAction_StartActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StartAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// StopAction
-protected class AbstractAction_StopActionParserRuleCall_2 extends RuleCallToken {
-	
-	public AbstractAction_StopActionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StopAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// AcquireAction
-protected class AbstractAction_AcquireActionParserRuleCall_3 extends RuleCallToken {
-	
-	public AbstractAction_AcquireActionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(AcquireAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ReleaseAction
-protected class AbstractAction_ReleaseActionParserRuleCall_4 extends RuleCallToken {
-	
-	public AbstractAction_ReleaseActionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ReleaseAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// InternalAction
-protected class AbstractAction_InternalActionParserRuleCall_5 extends RuleCallToken {
-	
-	public AbstractAction_InternalActionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(InternalAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ForkAction
-protected class AbstractAction_ForkActionParserRuleCall_6 extends RuleCallToken {
-	
-	public AbstractAction_ForkActionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ForkAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BranchAction
-protected class AbstractAction_BranchActionParserRuleCall_7 extends RuleCallToken {
-	
-	public AbstractAction_BranchActionParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BranchAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// LoopAction
-protected class AbstractAction_LoopActionParserRuleCall_8 extends RuleCallToken {
-	
-	public AbstractAction_LoopActionParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(LoopAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ExternalCallAction
-protected class AbstractAction_ExternalCallActionParserRuleCall_9 extends RuleCallToken {
-	
-	public AbstractAction_ExternalCallActionParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExternalCallAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule AbstractAction ****************/
-
-
-/************ begin Rule ComponentInternalBehavior ****************
- *
- * ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior:
- * 	ComponentInternalBehavior_Impl | FineGrainedBehavior;
- *
- **/
-
-// ComponentInternalBehavior_Impl | FineGrainedBehavior
-protected class ComponentInternalBehavior_Alternatives extends AlternativesToken {
-
-	public ComponentInternalBehavior_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getComponentInternalBehaviorAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// ComponentInternalBehavior_Impl
-protected class ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ComponentInternalBehavior_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// FineGrainedBehavior
-protected class ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1 extends RuleCallToken {
-	
-	public ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FineGrainedBehavior_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule ComponentInternalBehavior ****************/
-
-
-/************ begin Rule ProcessingResourceType ****************
- *
- * ProcessingResourceType returns resourcetype::ProcessingResourceType:
- * 	ProcessingResourceType_Impl | CommunicationLinkResourceType;
- *
- **/
-
-// ProcessingResourceType_Impl | CommunicationLinkResourceType
-protected class ProcessingResourceType_Alternatives extends AlternativesToken {
-
-	public ProcessingResourceType_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getProcessingResourceTypeAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// ProcessingResourceType_Impl
-protected class ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0 extends RuleCallToken {
-	
-	public ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProcessingResourceTypeAccess().getProcessingResourceType_ImplParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProcessingResourceType_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// CommunicationLinkResourceType
-protected class ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1 extends RuleCallToken {
-	
-	public ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProcessingResourceTypeAccess().getCommunicationLinkResourceTypeParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CommunicationLinkResourceType_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule ProcessingResourceType ****************/
-
-
-/************ begin Rule ProbabilityFunction ****************
- *
- * ProbabilityFunction returns functions::ProbabilityFunction:
- * 	ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution |
- * 	ExponentialDistribution;
- *
- **/
-
-// ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution |
-// ExponentialDistribution
-protected class ProbabilityFunction_Alternatives extends AlternativesToken {
-
-	public ProbabilityFunction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ProbabilityFunction_BoxedPDFParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new ProbabilityFunction_NormalDistributionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new ProbabilityFunction_ExponentialDistributionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// ProbabilityMassFunction
-protected class ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0 extends RuleCallToken {
-	
-	public ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getProbabilityMassFunctionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ProbabilityDensityFunction_Impl
-protected class ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1 extends RuleCallToken {
-	
-	public ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getProbabilityDensityFunction_ImplParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityDensityFunction_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityDensityFunction_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class ProbabilityFunction_BoxedPDFParserRuleCall_2 extends RuleCallToken {
-	
-	public ProbabilityFunction_BoxedPDFParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getBoxedPDFParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ContinuousPDF_Impl
-protected class ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3 extends RuleCallToken {
-	
-	public ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getContinuousPDF_ImplParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousPDF_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ContinuousPDF_Impl_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class ProbabilityFunction_NormalDistributionParserRuleCall_4 extends RuleCallToken {
-	
-	public ProbabilityFunction_NormalDistributionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getNormalDistributionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class ProbabilityFunction_ExponentialDistributionParserRuleCall_5 extends RuleCallToken {
-	
-	public ProbabilityFunction_ExponentialDistributionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProbabilityFunctionAccess().getExponentialDistributionParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule ProbabilityFunction ****************/
-
-
-
-/************ begin Rule Interface ****************
- *
- * Interface returns repository::Interface:
- * 	"Interface" id=EString "{" "name" name=EString ("parentInterfaces" "("
- * 	parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")?
- * 	("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}";
- *
- **/
-
-// "Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString]
-// ("," parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-// signatures+=Signature)* "}")? "}"
-protected class Interface_Group extends GroupToken {
-	
-	public Interface_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInterfaceRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Interface"
-protected class Interface_InterfaceKeyword_0 extends KeywordToken  {
-	
-	public Interface_InterfaceKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getInterfaceKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Interface_IdAssignment_1 extends AssignmentToken  {
-	
-	public Interface_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_InterfaceKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Interface_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Interface_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Interface_NameKeyword_3 extends KeywordToken  {
-	
-	public Interface_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Interface_NameAssignment_4 extends AssignmentToken  {
-	
-	public Interface_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
-// parentInterfaces+=[repository::Interface|EString])* ")")?
-protected class Interface_Group_5 extends GroupToken {
-	
-	public Interface_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parentInterfaces"
-protected class Interface_ParentInterfacesKeyword_5_0 extends KeywordToken  {
-	
-	public Interface_ParentInterfacesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class Interface_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public Interface_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_ParentInterfacesKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parentInterfaces+=[repository::Interface|EString]
-protected class Interface_ParentInterfacesAssignment_5_2 extends AssignmentToken  {
-	
-	public Interface_ParentInterfacesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parentInterfaces",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentInterfaces");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," parentInterfaces+=[repository::Interface|EString])*
-protected class Interface_Group_5_3 extends GroupToken {
-	
-	public Interface_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_ParentInterfacesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Interface_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public Interface_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_ParentInterfacesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parentInterfaces+=[repository::Interface|EString]
-protected class Interface_ParentInterfacesAssignment_5_3_1 extends AssignmentToken  {
-	
-	public Interface_ParentInterfacesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parentInterfaces",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentInterfaces");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class Interface_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public Interface_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_ParentInterfacesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")?
-protected class Interface_Group_6 extends GroupToken {
-	
-	public Interface_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "signatures"
-protected class Interface_SignaturesKeyword_6_0 extends KeywordToken  {
-	
-	public Interface_SignaturesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Interface_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public Interface_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_SignaturesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signatures+=Signature
-protected class Interface_SignaturesAssignment_6_2 extends AssignmentToken  {
-	
-	public Interface_SignaturesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signatures",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signatures");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Interface_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," signatures+=Signature)*
-protected class Interface_Group_6_3 extends GroupToken {
-	
-	public Interface_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_SignaturesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Interface_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public Interface_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_SignaturesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signatures+=Signature
-protected class Interface_SignaturesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public Interface_SignaturesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signatures",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signatures");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Interface_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Interface_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public Interface_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_SignaturesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class Interface_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public Interface_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Interface ****************/
-
-
-/************ begin Rule RepositoryComponent_Impl ****************
- *
- * RepositoryComponent_Impl returns repository::RepositoryComponent:
- * 	"RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
- * 	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
- * 	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
- * 	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
- * 	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
- * 	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}";
- *
- **/
-
-// "RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}"
-protected class RepositoryComponent_Impl_Group extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "RepositoryComponent"
-protected class RepositoryComponent_Impl_RepositoryComponentKeyword_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RepositoryComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class RepositoryComponent_Impl_IdAssignment_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RepositoryComponentKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class RepositoryComponent_Impl_NameKeyword_3 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class RepositoryComponent_Impl_NameAssignment_4 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-protected class RepositoryComponent_Impl_Group_5 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "relationship"
-protected class RepositoryComponent_Impl_RelationshipKeyword_5_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class RepositoryComponent_Impl_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class RepositoryComponent_Impl_RelationshipAssignment_5_2 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," relationship+=[Relationship|EString])*
-protected class RepositoryComponent_Impl_Group_5_3 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class RepositoryComponent_Impl_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class RepositoryComponent_Impl_RelationshipAssignment_5_3_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class RepositoryComponent_Impl_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-protected class RepositoryComponent_Impl_Group_6 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedRoles"
-protected class RepositoryComponent_Impl_ProvidedRolesKeyword_6_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class RepositoryComponent_Impl_ProvidedRolesAssignment_6_2 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedRoles+=ProvidedRole)*
-protected class RepositoryComponent_Impl_Group_6_3 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class RepositoryComponent_Impl_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-protected class RepositoryComponent_Impl_Group_7 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "blackBoxBehavior"
-protected class RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," blackBoxBehavior+=BlackBoxBehavior)*
-protected class RepositoryComponent_Impl_Group_7_3 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class RepositoryComponent_Impl_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-protected class RepositoryComponent_Impl_Group_8 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredRoles"
-protected class RepositoryComponent_Impl_RequiredRolesKeyword_8_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class RepositoryComponent_Impl_RequiredRolesAssignment_8_2 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_8_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredRoles+=RequiredRole)*
-protected class RepositoryComponent_Impl_Group_8_3 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_8_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class RepositoryComponent_Impl_CommaKeyword_8_3_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_8_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-protected class RepositoryComponent_Impl_Group_9 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "coarseGrainedBehavior"
-protected class RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorAssignment_9_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-protected class RepositoryComponent_Impl_Group_9_3 extends GroupToken {
-	
-	public RepositoryComponent_Impl_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_9_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class RepositoryComponent_Impl_CommaKeyword_9_3_0 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken  {
-	
-	public RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorAssignment_9_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_10 extends KeywordToken  {
-	
-	public RepositoryComponent_Impl_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RepositoryComponent_Impl_Group_9(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RepositoryComponent_Impl_Group_8(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 5, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule RepositoryComponent_Impl ****************/
-
-
-/************ begin Rule CollectionDataType ****************
- *
- * CollectionDataType returns repository::CollectionDataType:
- * 	"CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}";
- *
- **/
-
-// "CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}"
-protected class CollectionDataType_Group extends GroupToken {
-	
-	public CollectionDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CollectionDataType"
-protected class CollectionDataType_CollectionDataTypeKeyword_0 extends KeywordToken  {
-	
-	public CollectionDataType_CollectionDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class CollectionDataType_IdAssignment_1 extends AssignmentToken  {
-	
-	public CollectionDataType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_CollectionDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class CollectionDataType_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public CollectionDataType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class CollectionDataType_NameKeyword_3 extends KeywordToken  {
-	
-	public CollectionDataType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class CollectionDataType_NameAssignment_4 extends AssignmentToken  {
-	
-	public CollectionDataType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "innerType"
-protected class CollectionDataType_InnerTypeKeyword_5 extends KeywordToken  {
-	
-	public CollectionDataType_InnerTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerType=[repository::DataType|EString]
-protected class CollectionDataType_InnerTypeAssignment_6 extends AssignmentToken  {
-	
-	public CollectionDataType_InnerTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_InnerTypeKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class CollectionDataType_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public CollectionDataType_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CollectionDataType_InnerTypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CollectionDataType ****************/
-
-
-/************ begin Rule CompositeDataType ****************
- *
- * CompositeDataType returns repository::CompositeDataType:
- * 	"CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "("
- * 	parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")?
- * 	("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}";
- *
- **/
-
-// "CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "("
-// parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")?
-// ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}"
-protected class CompositeDataType_Group extends GroupToken {
-	
-	public CompositeDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CompositeDataType"
-protected class CompositeDataType_CompositeDataTypeKeyword_0 extends KeywordToken  {
-	
-	public CompositeDataType_CompositeDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class CompositeDataType_IdAssignment_1 extends AssignmentToken  {
-	
-	public CompositeDataType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_CompositeDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class CompositeDataType_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public CompositeDataType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class CompositeDataType_NameKeyword_3 extends KeywordToken  {
-	
-	public CompositeDataType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class CompositeDataType_NameAssignment_4 extends AssignmentToken  {
-	
-	public CompositeDataType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("parentTypes" "(" parentTypes+=[repository::CompositeDataType|EString] (","
-// parentTypes+=[repository::CompositeDataType|EString])* ")")?
-protected class CompositeDataType_Group_5 extends GroupToken {
-	
-	public CompositeDataType_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parentTypes"
-protected class CompositeDataType_ParentTypesKeyword_5_0 extends KeywordToken  {
-	
-	public CompositeDataType_ParentTypesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class CompositeDataType_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public CompositeDataType_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_ParentTypesKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parentTypes+=[repository::CompositeDataType|EString]
-protected class CompositeDataType_ParentTypesAssignment_5_2 extends AssignmentToken  {
-	
-	public CompositeDataType_ParentTypesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parentTypes",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentTypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," parentTypes+=[repository::CompositeDataType|EString])*
-protected class CompositeDataType_Group_5_3 extends GroupToken {
-	
-	public CompositeDataType_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_ParentTypesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeDataType_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public CompositeDataType_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_ParentTypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parentTypes+=[repository::CompositeDataType|EString]
-protected class CompositeDataType_ParentTypesAssignment_5_3_1 extends AssignmentToken  {
-	
-	public CompositeDataType_ParentTypesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parentTypes",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentTypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class CompositeDataType_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public CompositeDataType_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_ParentTypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")?
-protected class CompositeDataType_Group_6 extends GroupToken {
-	
-	public CompositeDataType_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "innerDeclarations"
-protected class CompositeDataType_InnerDeclarationsKeyword_6_0 extends KeywordToken  {
-	
-	public CompositeDataType_InnerDeclarationsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeDataType_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public CompositeDataType_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_InnerDeclarationsKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerDeclarations+=InnerDeclaration
-protected class CompositeDataType_InnerDeclarationsAssignment_6_2 extends AssignmentToken  {
-	
-	public CompositeDataType_InnerDeclarationsAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerDeclarations",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerDeclarations");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInnerDeclarationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeDataType_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," innerDeclarations+=InnerDeclaration)*
-protected class CompositeDataType_Group_6_3 extends GroupToken {
-	
-	public CompositeDataType_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_InnerDeclarationsAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeDataType_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public CompositeDataType_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_InnerDeclarationsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerDeclarations+=InnerDeclaration
-protected class CompositeDataType_InnerDeclarationsAssignment_6_3_1 extends AssignmentToken  {
-	
-	public CompositeDataType_InnerDeclarationsAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerDeclarations",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerDeclarations");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInnerDeclarationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeDataType_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeDataType_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public CompositeDataType_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_InnerDeclarationsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class CompositeDataType_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public CompositeDataType_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeDataType_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeDataType_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CompositeDataType ****************/
-
-
-/************ begin Rule PrimitiveDataType ****************
- *
- * PrimitiveDataType returns repository::PrimitiveDataType:
- * 	"PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}";
- *
- **/
-
-// "PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}"
-protected class PrimitiveDataType_Group extends GroupToken {
-	
-	public PrimitiveDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PrimitiveDataType"
-protected class PrimitiveDataType_PrimitiveDataTypeKeyword_0 extends KeywordToken  {
-	
-	public PrimitiveDataType_PrimitiveDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class PrimitiveDataType_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public PrimitiveDataType_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_PrimitiveDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "type"
-protected class PrimitiveDataType_TypeKeyword_2 extends KeywordToken  {
-	
-	public PrimitiveDataType_TypeKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// type=PrimitiveTypeEnum
-protected class PrimitiveDataType_TypeAssignment_3 extends AssignmentToken  {
-	
-	public PrimitiveDataType_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_TypeKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
-		if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0(), value, null)) { 
-			type = AssignmentType.ENUM_RULE_CALL;
-			element = grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class PrimitiveDataType_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public PrimitiveDataType_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PrimitiveDataType_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PrimitiveDataType ****************/
-
-
-/************ begin Rule InnerDeclaration ****************
- *
- * InnerDeclaration returns repository::InnerDeclaration:
- * 	"InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}";
- *
- **/
-
-// "InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}"
-protected class InnerDeclaration_Group extends GroupToken {
-	
-	public InnerDeclaration_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInnerDeclarationRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "InnerDeclaration"
-protected class InnerDeclaration_InnerDeclarationKeyword_0 extends KeywordToken  {
-	
-	public InnerDeclaration_InnerDeclarationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class InnerDeclaration_IdAssignment_1 extends AssignmentToken  {
-	
-	public InnerDeclaration_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_InnerDeclarationKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class InnerDeclaration_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public InnerDeclaration_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class InnerDeclaration_NameKeyword_3 extends KeywordToken  {
-	
-	public InnerDeclaration_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class InnerDeclaration_NameAssignment_4 extends AssignmentToken  {
-	
-	public InnerDeclaration_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "dataType"
-protected class InnerDeclaration_DataTypeKeyword_5 extends KeywordToken  {
-	
-	public InnerDeclaration_DataTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// dataType=[repository::DataType|EString]
-protected class InnerDeclaration_DataTypeAssignment_6 extends AssignmentToken  {
-	
-	public InnerDeclaration_DataTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_DataTypeKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("dataType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dataType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class InnerDeclaration_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public InnerDeclaration_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InnerDeclaration_DataTypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule InnerDeclaration ****************/
-
-
-/************ begin Rule Signature ****************
- *
- * Signature returns repository::Signature:
- * 	"Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters"
- * 	"{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}";
- *
- **/
-
-// "Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters"
-// "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}"
-protected class Signature_Group extends GroupToken {
-	
-	public Signature_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSignatureRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Signature"
-protected class Signature_SignatureKeyword_0 extends KeywordToken  {
-	
-	public Signature_SignatureKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getSignatureKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Signature_IdAssignment_1 extends AssignmentToken  {
-	
-	public Signature_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_SignatureKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Signature_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Signature_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Signature_NameKeyword_3 extends KeywordToken  {
-	
-	public Signature_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Signature_NameAssignment_4 extends AssignmentToken  {
-	
-	public Signature_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("returnType" returnType=[repository::DataType|EString])?
-protected class Signature_Group_5 extends GroupToken {
-	
-	public Signature_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_ReturnTypeAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "returnType"
-protected class Signature_ReturnTypeKeyword_5_0 extends KeywordToken  {
-	
-	public Signature_ReturnTypeKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// returnType=[repository::DataType|EString]
-protected class Signature_ReturnTypeAssignment_5_1 extends AssignmentToken  {
-	
-	public Signature_ReturnTypeAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getReturnTypeAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_ReturnTypeKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")?
-protected class Signature_Group_6 extends GroupToken {
-	
-	public Signature_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parameters"
-protected class Signature_ParametersKeyword_6_0 extends KeywordToken  {
-	
-	public Signature_ParametersKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getParametersKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Signature_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public Signature_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_ParametersKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameters+=Parameter
-protected class Signature_ParametersAssignment_6_2 extends AssignmentToken  {
-	
-	public Signature_ParametersAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getParametersAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameters",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Signature_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," parameters+=Parameter)*
-protected class Signature_Group_6_3 extends GroupToken {
-	
-	public Signature_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_ParametersAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Signature_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public Signature_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Signature_ParametersAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameters+=Parameter
-protected class Signature_ParametersAssignment_6_3_1 extends AssignmentToken  {
-	
-	public Signature_ParametersAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getParametersAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameters",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Signature_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Signature_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public Signature_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Signature_ParametersAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class Signature_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public Signature_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Signature_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Signature_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Signature ****************/
-
-
-/************ begin Rule Parameter ****************
- *
- * Parameter returns repository::Parameter:
- * 	"Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString]
- * 	"}";
- *
- **/
-
-// "Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString]
-// "}"
-protected class Parameter_Group extends GroupToken {
-	
-	public Parameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getParameterAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParameterRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Parameter"
-protected class Parameter_ParameterKeyword_0 extends KeywordToken  {
-	
-	public Parameter_ParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getParameterKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class Parameter_NameAssignment_1 extends AssignmentToken  {
-	
-	public Parameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getParameterAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_ParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Parameter_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Parameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "modifier"
-protected class Parameter_ModifierKeyword_3 extends KeywordToken  {
-	
-	public Parameter_ModifierKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getModifierKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// modifier=ParameterModifier
-protected class Parameter_ModifierAssignment_4 extends AssignmentToken  {
-	
-	public Parameter_ModifierAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getParameterAccess().getModifierAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_ModifierKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("modifier",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("modifier");
-		if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0(), value, null)) { 
-			type = AssignmentType.ENUM_RULE_CALL;
-			element = grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "dataType"
-protected class Parameter_DataTypeKeyword_5 extends KeywordToken  {
-	
-	public Parameter_DataTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getDataTypeKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_ModifierAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// dataType=[repository::DataType|EString]
-protected class Parameter_DataTypeAssignment_6 extends AssignmentToken  {
-	
-	public Parameter_DataTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getParameterAccess().getDataTypeAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_DataTypeKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("dataType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dataType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Parameter_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public Parameter_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parameter_DataTypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Parameter ****************/
-
-
-/************ begin Rule ProvidedRole ****************
- *
- * ProvidedRole returns repository::ProvidedRole:
- * 	"ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
- *
- **/
-
-// "ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"
-protected class ProvidedRole_Group extends GroupToken {
-	
-	public ProvidedRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProvidedRoleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ProvidedRole"
-protected class ProvidedRole_ProvidedRoleKeyword_0 extends KeywordToken  {
-	
-	public ProvidedRole_ProvidedRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ProvidedRole_IdAssignment_1 extends AssignmentToken  {
-	
-	public ProvidedRole_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_ProvidedRoleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ProvidedRole_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ProvidedRole_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class ProvidedRole_NameKeyword_3 extends KeywordToken  {
-	
-	public ProvidedRole_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class ProvidedRole_NameAssignment_4 extends AssignmentToken  {
-	
-	public ProvidedRole_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "interface"
-protected class ProvidedRole_InterfaceKeyword_5 extends KeywordToken  {
-	
-	public ProvidedRole_InterfaceKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// interface=[repository::Interface|EString]
-protected class ProvidedRole_InterfaceAssignment_6 extends AssignmentToken  {
-	
-	public ProvidedRole_InterfaceAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_InterfaceKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ProvidedRole_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public ProvidedRole_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_InterfaceAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProvidedRole ****************/
-
-
-/************ begin Rule BlackBoxBehavior ****************
- *
- * BlackBoxBehavior returns servicebehavior::BlackBoxBehavior:
- * 	"BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
- * 	describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{"
- * 	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
- * 	("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}";
- *
- **/
-
-// "BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-// describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{"
-// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-// ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}"
-protected class BlackBoxBehavior_Group extends GroupToken {
-	
-	public BlackBoxBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BlackBoxBehavior"
-protected class BlackBoxBehavior_BlackBoxBehaviorKeyword_0 extends KeywordToken  {
-	
-	public BlackBoxBehavior_BlackBoxBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class BlackBoxBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public BlackBoxBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_BlackBoxBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("describedSignature" describedSignature=[repository::Signature|EString])?
-protected class BlackBoxBehavior_Group_2 extends GroupToken {
-	
-	public BlackBoxBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "describedSignature"
-protected class BlackBoxBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken  {
-	
-	public BlackBoxBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// describedSignature=[repository::Signature|EString]
-protected class BlackBoxBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken  {
-	
-	public BlackBoxBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "describedEntity"
-protected class BlackBoxBehavior_DescribedEntityKeyword_3 extends KeywordToken  {
-	
-	public BlackBoxBehavior_DescribedEntityKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BlackBoxBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// describedEntity=[repository::InterfaceProvidingEntity|EString]
-protected class BlackBoxBehavior_DescribedEntityAssignment_4 extends AssignmentToken  {
-	
-	public BlackBoxBehavior_DescribedEntityAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_DescribedEntityKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("describedEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-// "}")?
-protected class BlackBoxBehavior_Group_5 extends GroupToken {
-	
-	public BlackBoxBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "influencingParameter"
-protected class BlackBoxBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken  {
-	
-	public BlackBoxBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BlackBoxBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public BlackBoxBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class BlackBoxBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken  {
-	
-	public BlackBoxBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BlackBoxBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," influencingParameter+=InfluencingParameter)*
-protected class BlackBoxBehavior_Group_5_3 extends GroupToken {
-	
-	public BlackBoxBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BlackBoxBehavior_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public BlackBoxBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BlackBoxBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class BlackBoxBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken  {
-	
-	public BlackBoxBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BlackBoxBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BlackBoxBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public BlackBoxBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BlackBoxBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)?
-protected class BlackBoxBehavior_Group_6 extends GroupToken {
-	
-	public BlackBoxBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "responseTimeSpecification"
-protected class BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0 extends KeywordToken  {
-	
-	public BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// responseTimeSpecification=ResponseTimeSpecification
-protected class BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1 extends AssignmentToken  {
-	
-	public BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationAssignment_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResponseTimeSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("responseTimeSpecification",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("responseTimeSpecification");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResponseTimeSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BlackBoxBehavior_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public BlackBoxBehavior_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BlackBoxBehavior_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BlackBoxBehavior ****************/
-
-
-/************ begin Rule RequiredRole ****************
- *
- * RequiredRole returns repository::RequiredRole:
- * 	"RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
- *
- **/
-
-// "RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"
-protected class RequiredRole_Group extends GroupToken {
-	
-	public RequiredRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRequiredRoleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "RequiredRole"
-protected class RequiredRole_RequiredRoleKeyword_0 extends KeywordToken  {
-	
-	public RequiredRole_RequiredRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class RequiredRole_IdAssignment_1 extends AssignmentToken  {
-	
-	public RequiredRole_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_RequiredRoleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class RequiredRole_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public RequiredRole_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class RequiredRole_NameKeyword_3 extends KeywordToken  {
-	
-	public RequiredRole_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class RequiredRole_NameAssignment_4 extends AssignmentToken  {
-	
-	public RequiredRole_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "interface"
-protected class RequiredRole_InterfaceKeyword_5 extends KeywordToken  {
-	
-	public RequiredRole_InterfaceKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// interface=[repository::Interface|EString]
-protected class RequiredRole_InterfaceAssignment_6 extends AssignmentToken  {
-	
-	public RequiredRole_InterfaceAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_InterfaceKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class RequiredRole_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public RequiredRole_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_InterfaceAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule RequiredRole ****************/
-
-
-/************ begin Rule CoarseGrainedBehavior ****************
- *
- * CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior:
- * 	"CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])?
- * 	"describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{"
- * 	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
- * 	("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
- * 	externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{"
- * 	resourceDemandSpecification+=ResourceDemandSpecification (","
- * 	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
- *
- **/
-
-// "CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-// describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{"
-// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-// ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-// externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{"
-// resourceDemandSpecification+=ResourceDemandSpecification (","
-// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"
-protected class CoarseGrainedBehavior_Group extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CoarseGrainedBehavior"
-protected class CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("describedSignature" describedSignature=[repository::Signature|EString])?
-protected class CoarseGrainedBehavior_Group_2 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "describedSignature"
-protected class CoarseGrainedBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// describedSignature=[repository::Signature|EString]
-protected class CoarseGrainedBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "describedEntity"
-protected class CoarseGrainedBehavior_DescribedEntityKeyword_3 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_DescribedEntityKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// describedEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-protected class CoarseGrainedBehavior_DescribedEntityAssignment_4 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_DescribedEntityAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_DescribedEntityKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("describedEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-// "}")?
-protected class CoarseGrainedBehavior_Group_5 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "influencingParameter"
-protected class CoarseGrainedBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class CoarseGrainedBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," influencingParameter+=InfluencingParameter)*
-protected class CoarseGrainedBehavior_Group_5_3 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CoarseGrainedBehavior_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-// externalCallFrequency+=ExternalCallFrequency)* "}")?
-protected class CoarseGrainedBehavior_Group_6 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "externalCallFrequency"
-protected class CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// externalCallFrequency+=ExternalCallFrequency
-protected class CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("externalCallFrequency",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCallFrequency");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallFrequencyRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," externalCallFrequency+=ExternalCallFrequency)*
-protected class CoarseGrainedBehavior_Group_6_3 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CoarseGrainedBehavior_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// externalCallFrequency+=ExternalCallFrequency
-protected class CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("externalCallFrequency",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCallFrequency");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallFrequencyRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification (","
-// resourceDemandSpecification+=ResourceDemandSpecification)* "}")?
-protected class CoarseGrainedBehavior_Group_7 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "resourceDemandSpecification"
-protected class CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// resourceDemandSpecification+=ResourceDemandSpecification
-protected class CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," resourceDemandSpecification+=ResourceDemandSpecification)*
-protected class CoarseGrainedBehavior_Group_7_3 extends GroupToken {
-	
-	public CoarseGrainedBehavior_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CoarseGrainedBehavior_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// resourceDemandSpecification+=ResourceDemandSpecification
-protected class CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1 extends AssignmentToken  {
-	
-	public CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public CoarseGrainedBehavior_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CoarseGrainedBehavior_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CoarseGrainedBehavior ****************/
-
-
-/************ begin Rule BasicComponent ****************
- *
- * BasicComponent returns repository::BasicComponent:
- * 	"BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
- * 	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
- * 	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
- * 	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
- * 	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
- * 	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{"
- * 	passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")?
- * 	("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
- * 	"}")? "}";
- *
- **/
-
-// "BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{"
-// passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")?
-// ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-// "}")? "}"
-protected class BasicComponent_Group extends GroupToken {
-	
-	public BasicComponent_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BasicComponent"
-protected class BasicComponent_BasicComponentKeyword_0 extends KeywordToken  {
-	
-	public BasicComponent_BasicComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class BasicComponent_IdAssignment_1 extends AssignmentToken  {
-	
-	public BasicComponent_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_BasicComponentKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class BasicComponent_NameKeyword_3 extends KeywordToken  {
-	
-	public BasicComponent_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class BasicComponent_NameAssignment_4 extends AssignmentToken  {
-	
-	public BasicComponent_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-protected class BasicComponent_Group_5 extends GroupToken {
-	
-	public BasicComponent_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "relationship"
-protected class BasicComponent_RelationshipKeyword_5_0 extends KeywordToken  {
-	
-	public BasicComponent_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class BasicComponent_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class BasicComponent_RelationshipAssignment_5_2 extends AssignmentToken  {
-	
-	public BasicComponent_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," relationship+=[Relationship|EString])*
-protected class BasicComponent_Group_5_3 extends GroupToken {
-	
-	public BasicComponent_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class BasicComponent_RelationshipAssignment_5_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class BasicComponent_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public BasicComponent_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-protected class BasicComponent_Group_6 extends GroupToken {
-	
-	public BasicComponent_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedRoles"
-protected class BasicComponent_ProvidedRolesKeyword_6_0 extends KeywordToken  {
-	
-	public BasicComponent_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class BasicComponent_ProvidedRolesAssignment_6_2 extends AssignmentToken  {
-	
-	public BasicComponent_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedRoles+=ProvidedRole)*
-protected class BasicComponent_Group_6_3 extends GroupToken {
-	
-	public BasicComponent_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class BasicComponent_ProvidedRolesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-protected class BasicComponent_Group_7 extends GroupToken {
-	
-	public BasicComponent_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "blackBoxBehavior"
-protected class BasicComponent_BlackBoxBehaviorKeyword_7_0 extends KeywordToken  {
-	
-	public BasicComponent_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class BasicComponent_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken  {
-	
-	public BasicComponent_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," blackBoxBehavior+=BlackBoxBehavior)*
-protected class BasicComponent_Group_7_3 extends GroupToken {
-	
-	public BasicComponent_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class BasicComponent_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-protected class BasicComponent_Group_8 extends GroupToken {
-	
-	public BasicComponent_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredRoles"
-protected class BasicComponent_RequiredRolesKeyword_8_0 extends KeywordToken  {
-	
-	public BasicComponent_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_8_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class BasicComponent_RequiredRolesAssignment_8_2 extends AssignmentToken  {
-	
-	public BasicComponent_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_8_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredRoles+=RequiredRole)*
-protected class BasicComponent_Group_8_3 extends GroupToken {
-	
-	public BasicComponent_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_8_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_8_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class BasicComponent_RequiredRolesAssignment_8_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_8_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_8_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-protected class BasicComponent_Group_9 extends GroupToken {
-	
-	public BasicComponent_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "coarseGrainedBehavior"
-protected class BasicComponent_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken  {
-	
-	public BasicComponent_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_9_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class BasicComponent_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken  {
-	
-	public BasicComponent_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorAssignment_9_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-protected class BasicComponent_Group_9_3 extends GroupToken {
-	
-	public BasicComponent_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_9_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_9_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorAssignment_9_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_9_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("passiveResources" "{" passiveResources+=PassiveResourceSpecification (","
-// passiveResources+=PassiveResourceSpecification)* "}")?
-protected class BasicComponent_Group_10 extends GroupToken {
-	
-	public BasicComponent_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "passiveResources"
-protected class BasicComponent_PassiveResourcesKeyword_10_0 extends KeywordToken  {
-	
-	public BasicComponent_PassiveResourcesKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 5, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_10_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_PassiveResourcesKeyword_10_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// passiveResources+=PassiveResourceSpecification
-protected class BasicComponent_PassiveResourcesAssignment_10_2 extends AssignmentToken  {
-	
-	public BasicComponent_PassiveResourcesAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getPassiveResourcesAssignment_10_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("passiveResources",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResources");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," passiveResources+=PassiveResourceSpecification)*
-protected class BasicComponent_Group_10_3 extends GroupToken {
-	
-	public BasicComponent_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_10_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_PassiveResourcesAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_10_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_PassiveResourcesAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// passiveResources+=PassiveResourceSpecification
-protected class BasicComponent_PassiveResourcesAssignment_10_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_PassiveResourcesAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getPassiveResourcesAssignment_10_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("passiveResources",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResources");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_10_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_PassiveResourcesAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-// "}")?
-protected class BasicComponent_Group_11 extends GroupToken {
-	
-	public BasicComponent_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "fineGrainedBehavior"
-protected class BasicComponent_FineGrainedBehaviorKeyword_11_0 extends KeywordToken  {
-	
-	public BasicComponent_FineGrainedBehaviorKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_10(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 6, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BasicComponent_LeftCurlyBracketKeyword_11_1 extends KeywordToken  {
-	
-	public BasicComponent_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_FineGrainedBehaviorKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// fineGrainedBehavior+=FineGrainedBehavior
-protected class BasicComponent_FineGrainedBehaviorAssignment_11_2 extends AssignmentToken  {
-	
-	public BasicComponent_FineGrainedBehaviorAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorAssignment_11_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("fineGrainedBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("fineGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," fineGrainedBehavior+=FineGrainedBehavior)*
-protected class BasicComponent_Group_11_3 extends GroupToken {
-	
-	public BasicComponent_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getGroup_11_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_FineGrainedBehaviorAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BasicComponent_CommaKeyword_11_3_0 extends KeywordToken  {
-	
-	public BasicComponent_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_FineGrainedBehaviorAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// fineGrainedBehavior+=FineGrainedBehavior
-protected class BasicComponent_FineGrainedBehaviorAssignment_11_3_1 extends AssignmentToken  {
-	
-	public BasicComponent_FineGrainedBehaviorAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorAssignment_11_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("fineGrainedBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("fineGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BasicComponent_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_11_4 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_FineGrainedBehaviorAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class BasicComponent_RightCurlyBracketKeyword_12 extends KeywordToken  {
-	
-	public BasicComponent_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BasicComponent_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BasicComponent_Group_10(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 7, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BasicComponent ****************/
-
-
-/************ begin Rule CompositeComponent ****************
- *
- * CompositeComponent returns repository::CompositeComponent:
- * 	"CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
- * 	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
- * 	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
- * 	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
- * 	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
- * 	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
- * 	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
- * 	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
- * 	providedDelegationConnectors+=ProvidedDelegationConnector (","
- * 	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
- * 	requiredDelegationConnectors+=RequiredDelegationConnector (","
- * 	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
- *
- **/
-
-// "CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-// assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-// assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-// providedDelegationConnectors+=ProvidedDelegationConnector (","
-// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-// requiredDelegationConnectors+=RequiredDelegationConnector (","
-// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"
-protected class CompositeComponent_Group extends GroupToken {
-	
-	public CompositeComponent_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_14(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CompositeComponent"
-protected class CompositeComponent_CompositeComponentKeyword_0 extends KeywordToken  {
-	
-	public CompositeComponent_CompositeComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class CompositeComponent_IdAssignment_1 extends AssignmentToken  {
-	
-	public CompositeComponent_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_CompositeComponentKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class CompositeComponent_NameKeyword_3 extends KeywordToken  {
-	
-	public CompositeComponent_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class CompositeComponent_NameAssignment_4 extends AssignmentToken  {
-	
-	public CompositeComponent_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-protected class CompositeComponent_Group_5 extends GroupToken {
-	
-	public CompositeComponent_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "relationship"
-protected class CompositeComponent_RelationshipKeyword_5_0 extends KeywordToken  {
-	
-	public CompositeComponent_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class CompositeComponent_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class CompositeComponent_RelationshipAssignment_5_2 extends AssignmentToken  {
-	
-	public CompositeComponent_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," relationship+=[Relationship|EString])*
-protected class CompositeComponent_Group_5_3 extends GroupToken {
-	
-	public CompositeComponent_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class CompositeComponent_RelationshipAssignment_5_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class CompositeComponent_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-protected class CompositeComponent_Group_6 extends GroupToken {
-	
-	public CompositeComponent_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedRoles"
-protected class CompositeComponent_ProvidedRolesKeyword_6_0 extends KeywordToken  {
-	
-	public CompositeComponent_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class CompositeComponent_ProvidedRolesAssignment_6_2 extends AssignmentToken  {
-	
-	public CompositeComponent_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedRoles+=ProvidedRole)*
-protected class CompositeComponent_Group_6_3 extends GroupToken {
-	
-	public CompositeComponent_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class CompositeComponent_ProvidedRolesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-protected class CompositeComponent_Group_7 extends GroupToken {
-	
-	public CompositeComponent_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "blackBoxBehavior"
-protected class CompositeComponent_BlackBoxBehaviorKeyword_7_0 extends KeywordToken  {
-	
-	public CompositeComponent_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class CompositeComponent_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken  {
-	
-	public CompositeComponent_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," blackBoxBehavior+=BlackBoxBehavior)*
-protected class CompositeComponent_Group_7_3 extends GroupToken {
-	
-	public CompositeComponent_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class CompositeComponent_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-protected class CompositeComponent_Group_8 extends GroupToken {
-	
-	public CompositeComponent_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredRoles"
-protected class CompositeComponent_RequiredRolesKeyword_8_0 extends KeywordToken  {
-	
-	public CompositeComponent_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_8_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class CompositeComponent_RequiredRolesAssignment_8_2 extends AssignmentToken  {
-	
-	public CompositeComponent_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_8_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredRoles+=RequiredRole)*
-protected class CompositeComponent_Group_8_3 extends GroupToken {
-	
-	public CompositeComponent_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_8_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_8_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class CompositeComponent_RequiredRolesAssignment_8_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_8_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_8_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-protected class CompositeComponent_Group_9 extends GroupToken {
-	
-	public CompositeComponent_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "coarseGrainedBehavior"
-protected class CompositeComponent_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken  {
-	
-	public CompositeComponent_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_9_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class CompositeComponent_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken  {
-	
-	public CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorAssignment_9_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-protected class CompositeComponent_Group_9_3 extends GroupToken {
-	
-	public CompositeComponent_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_9_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_9_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorAssignment_9_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_9_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")?
-protected class CompositeComponent_Group_10 extends GroupToken {
-	
-	public CompositeComponent_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "assemblyContexts"
-protected class CompositeComponent_AssemblyContextsKeyword_10_0 extends KeywordToken  {
-	
-	public CompositeComponent_AssemblyContextsKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 5, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_10_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_AssemblyContextsKeyword_10_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContexts+=AssemblyContext
-protected class CompositeComponent_AssemblyContextsAssignment_10_2 extends AssignmentToken  {
-	
-	public CompositeComponent_AssemblyContextsAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssignment_10_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContexts",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," assemblyContexts+=AssemblyContext)*
-protected class CompositeComponent_Group_10_3 extends GroupToken {
-	
-	public CompositeComponent_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_10_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_AssemblyContextsAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_10_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContexts+=AssemblyContext
-protected class CompositeComponent_AssemblyContextsAssignment_10_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_AssemblyContextsAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssignment_10_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContexts",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_10_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")?
-protected class CompositeComponent_Group_11 extends GroupToken {
-	
-	public CompositeComponent_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "assemblyConnectors"
-protected class CompositeComponent_AssemblyConnectorsKeyword_11_0 extends KeywordToken  {
-	
-	public CompositeComponent_AssemblyConnectorsKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 6, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_11_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_AssemblyConnectorsKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyConnectors+=AssemblyConnector
-protected class CompositeComponent_AssemblyConnectorsAssignment_11_2 extends AssignmentToken  {
-	
-	public CompositeComponent_AssemblyConnectorsAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssignment_11_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," assemblyConnectors+=AssemblyConnector)*
-protected class CompositeComponent_Group_11_3 extends GroupToken {
-	
-	public CompositeComponent_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_11_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_AssemblyConnectorsAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_11_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyConnectors+=AssemblyConnector
-protected class CompositeComponent_AssemblyConnectorsAssignment_11_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_AssemblyConnectorsAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssignment_11_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_11_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector (","
-// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")?
-protected class CompositeComponent_Group_12 extends GroupToken {
-	
-	public CompositeComponent_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_12_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedDelegationConnectors"
-protected class CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0 extends KeywordToken  {
-	
-	public CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 7, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_12_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedDelegationConnectors+=ProvidedDelegationConnector
-protected class CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2 extends AssignmentToken  {
-	
-	public CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsAssignment_12_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_12_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedDelegationConnectors+=ProvidedDelegationConnector)*
-protected class CompositeComponent_Group_12_3 extends GroupToken {
-	
-	public CompositeComponent_Group_12_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_12_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_12_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_12_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_12_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedDelegationConnectors+=ProvidedDelegationConnector
-protected class CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsAssignment_12_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_12_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_12_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_12_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_12_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector (","
-// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")?
-protected class CompositeComponent_Group_13 extends GroupToken {
-	
-	public CompositeComponent_Group_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RightCurlyBracketKeyword_13_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredDelegationConnectors"
-protected class CompositeComponent_RequiredDelegationConnectorsKeyword_13_0 extends KeywordToken  {
-	
-	public CompositeComponent_RequiredDelegationConnectorsKeyword_13_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_12(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 8, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class CompositeComponent_LeftCurlyBracketKeyword_13_1 extends KeywordToken  {
-	
-	public CompositeComponent_LeftCurlyBracketKeyword_13_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RequiredDelegationConnectorsKeyword_13_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredDelegationConnectors+=RequiredDelegationConnector
-protected class CompositeComponent_RequiredDelegationConnectorsAssignment_13_2 extends AssignmentToken  {
-	
-	public CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsAssignment_13_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_LeftCurlyBracketKeyword_13_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredDelegationConnectors+=RequiredDelegationConnector)*
-protected class CompositeComponent_Group_13_3 extends GroupToken {
-	
-	public CompositeComponent_Group_13_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getGroup_13_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class CompositeComponent_CommaKeyword_13_3_0 extends KeywordToken  {
-	
-	public CompositeComponent_CommaKeyword_13_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_13_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredDelegationConnectors+=RequiredDelegationConnector
-protected class CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1 extends AssignmentToken  {
-	
-	public CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsAssignment_13_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CompositeComponent_CommaKeyword_13_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_13_4 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_13_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_13_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class CompositeComponent_RightCurlyBracketKeyword_14 extends KeywordToken  {
-	
-	public CompositeComponent_RightCurlyBracketKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompositeComponent_Group_13(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new CompositeComponent_Group_12(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 9, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CompositeComponent ****************/
-
-
-/************ begin Rule SubSystem ****************
- *
- * SubSystem returns repository::SubSystem:
- * 	"SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
- * 	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
- * 	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
- * 	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
- * 	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
- * 	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
- * 	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
- * 	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
- * 	providedDelegationConnectors+=ProvidedDelegationConnector (","
- * 	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
- * 	requiredDelegationConnectors+=RequiredDelegationConnector (","
- * 	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
- *
- **/
-
-// "SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-// assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-// assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-// providedDelegationConnectors+=ProvidedDelegationConnector (","
-// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-// requiredDelegationConnectors+=RequiredDelegationConnector (","
-// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"
-protected class SubSystem_Group extends GroupToken {
-	
-	public SubSystem_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_14(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "SubSystem"
-protected class SubSystem_SubSystemKeyword_0 extends KeywordToken  {
-	
-	public SubSystem_SubSystemKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getSubSystemKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class SubSystem_IdAssignment_1 extends AssignmentToken  {
-	
-	public SubSystem_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_SubSystemKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class SubSystem_NameKeyword_3 extends KeywordToken  {
-	
-	public SubSystem_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class SubSystem_NameAssignment_4 extends AssignmentToken  {
-	
-	public SubSystem_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-protected class SubSystem_Group_5 extends GroupToken {
-	
-	public SubSystem_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "relationship"
-protected class SubSystem_RelationshipKeyword_5_0 extends KeywordToken  {
-	
-	public SubSystem_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class SubSystem_LeftParenthesisKeyword_5_1 extends KeywordToken  {
-	
-	public SubSystem_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class SubSystem_RelationshipAssignment_5_2 extends AssignmentToken  {
-	
-	public SubSystem_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," relationship+=[Relationship|EString])*
-protected class SubSystem_Group_5_3 extends GroupToken {
-	
-	public SubSystem_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// relationship+=[Relationship|EString]
-protected class SubSystem_RelationshipAssignment_5_3_1 extends AssignmentToken  {
-	
-	public SubSystem_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class SubSystem_RightParenthesisKeyword_5_4 extends KeywordToken  {
-	
-	public SubSystem_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-protected class SubSystem_Group_6 extends GroupToken {
-	
-	public SubSystem_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedRoles"
-protected class SubSystem_ProvidedRolesKeyword_6_0 extends KeywordToken  {
-	
-	public SubSystem_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class SubSystem_ProvidedRolesAssignment_6_2 extends AssignmentToken  {
-	
-	public SubSystem_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedRoles+=ProvidedRole)*
-protected class SubSystem_Group_6_3 extends GroupToken {
-	
-	public SubSystem_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRoles+=ProvidedRole
-protected class SubSystem_ProvidedRolesAssignment_6_3_1 extends AssignmentToken  {
-	
-	public SubSystem_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-protected class SubSystem_Group_7 extends GroupToken {
-	
-	public SubSystem_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "blackBoxBehavior"
-protected class SubSystem_BlackBoxBehaviorKeyword_7_0 extends KeywordToken  {
-	
-	public SubSystem_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class SubSystem_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken  {
-	
-	public SubSystem_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," blackBoxBehavior+=BlackBoxBehavior)*
-protected class SubSystem_Group_7_3 extends GroupToken {
-	
-	public SubSystem_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// blackBoxBehavior+=BlackBoxBehavior
-protected class SubSystem_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken  {
-	
-	public SubSystem_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BlackBoxBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-protected class SubSystem_Group_8 extends GroupToken {
-	
-	public SubSystem_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredRoles"
-protected class SubSystem_RequiredRolesKeyword_8_0 extends KeywordToken  {
-	
-	public SubSystem_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_6(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_5(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_8_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class SubSystem_RequiredRolesAssignment_8_2 extends AssignmentToken  {
-	
-	public SubSystem_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_8_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredRoles+=RequiredRole)*
-protected class SubSystem_Group_8_3 extends GroupToken {
-	
-	public SubSystem_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_8_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_8_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRoles+=RequiredRole
-protected class SubSystem_RequiredRolesAssignment_8_3_1 extends AssignmentToken  {
-	
-	public SubSystem_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_8_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_8_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_8_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-protected class SubSystem_Group_9 extends GroupToken {
-	
-	public SubSystem_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "coarseGrainedBehavior"
-protected class SubSystem_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken  {
-	
-	public SubSystem_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_7(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_6(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_5(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_9_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class SubSystem_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken  {
-	
-	public SubSystem_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorAssignment_9_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-protected class SubSystem_Group_9_3 extends GroupToken {
-	
-	public SubSystem_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_9_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_9_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// coarseGrainedBehavior+=CoarseGrainedBehavior
-protected class SubSystem_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken  {
-	
-	public SubSystem_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorAssignment_9_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_9_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_9_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")?
-protected class SubSystem_Group_10 extends GroupToken {
-	
-	public SubSystem_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "assemblyContexts"
-protected class SubSystem_AssemblyContextsKeyword_10_0 extends KeywordToken  {
-	
-	public SubSystem_AssemblyContextsKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_9(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_8(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_7(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_6(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_Group_5(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 5, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_10_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_AssemblyContextsKeyword_10_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContexts+=AssemblyContext
-protected class SubSystem_AssemblyContextsAssignment_10_2 extends AssignmentToken  {
-	
-	public SubSystem_AssemblyContextsAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyContextsAssignment_10_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContexts",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," assemblyContexts+=AssemblyContext)*
-protected class SubSystem_Group_10_3 extends GroupToken {
-	
-	public SubSystem_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_10_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_AssemblyContextsAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_10_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContexts+=AssemblyContext
-protected class SubSystem_AssemblyContextsAssignment_10_3_1 extends AssignmentToken  {
-	
-	public SubSystem_AssemblyContextsAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyContextsAssignment_10_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContexts",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_10_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_10_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")?
-protected class SubSystem_Group_11 extends GroupToken {
-	
-	public SubSystem_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "assemblyConnectors"
-protected class SubSystem_AssemblyConnectorsKeyword_11_0 extends KeywordToken  {
-	
-	public SubSystem_AssemblyConnectorsKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_10(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_9(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_8(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_7(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_Group_6(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new SubSystem_Group_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 6, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_11_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_AssemblyConnectorsKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyConnectors+=AssemblyConnector
-protected class SubSystem_AssemblyConnectorsAssignment_11_2 extends AssignmentToken  {
-	
-	public SubSystem_AssemblyConnectorsAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssignment_11_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," assemblyConnectors+=AssemblyConnector)*
-protected class SubSystem_Group_11_3 extends GroupToken {
-	
-	public SubSystem_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_11_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_AssemblyConnectorsAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_11_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyConnectors+=AssemblyConnector
-protected class SubSystem_AssemblyConnectorsAssignment_11_3_1 extends AssignmentToken  {
-	
-	public SubSystem_AssemblyConnectorsAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssignment_11_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_11_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_11_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector (","
-// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")?
-protected class SubSystem_Group_12 extends GroupToken {
-	
-	public SubSystem_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_12_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "providedDelegationConnectors"
-protected class SubSystem_ProvidedDelegationConnectorsKeyword_12_0 extends KeywordToken  {
-	
-	public SubSystem_ProvidedDelegationConnectorsKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_10(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_9(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_8(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_Group_7(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new SubSystem_Group_6(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new SubSystem_Group_5(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 7, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_12_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_ProvidedDelegationConnectorsKeyword_12_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedDelegationConnectors+=ProvidedDelegationConnector
-protected class SubSystem_ProvidedDelegationConnectorsAssignment_12_2 extends AssignmentToken  {
-	
-	public SubSystem_ProvidedDelegationConnectorsAssignment_12_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsAssignment_12_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_12_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," providedDelegationConnectors+=ProvidedDelegationConnector)*
-protected class SubSystem_Group_12_3 extends GroupToken {
-	
-	public SubSystem_Group_12_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_12_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_12_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_12_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_12_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedDelegationConnectors+=ProvidedDelegationConnector
-protected class SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1 extends AssignmentToken  {
-	
-	public SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsAssignment_12_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_12_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_12_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_12_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_12_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector (","
-// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")?
-protected class SubSystem_Group_13 extends GroupToken {
-	
-	public SubSystem_Group_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RightCurlyBracketKeyword_13_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "requiredDelegationConnectors"
-protected class SubSystem_RequiredDelegationConnectorsKeyword_13_0 extends KeywordToken  {
-	
-	public SubSystem_RequiredDelegationConnectorsKeyword_13_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_12(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_11(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_10(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_9(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_Group_8(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new SubSystem_Group_7(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new SubSystem_Group_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new SubSystem_Group_5(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 8, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class SubSystem_LeftCurlyBracketKeyword_13_1 extends KeywordToken  {
-	
-	public SubSystem_LeftCurlyBracketKeyword_13_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RequiredDelegationConnectorsKeyword_13_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredDelegationConnectors+=RequiredDelegationConnector
-protected class SubSystem_RequiredDelegationConnectorsAssignment_13_2 extends AssignmentToken  {
-	
-	public SubSystem_RequiredDelegationConnectorsAssignment_13_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsAssignment_13_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_LeftCurlyBracketKeyword_13_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," requiredDelegationConnectors+=RequiredDelegationConnector)*
-protected class SubSystem_Group_13_3 extends GroupToken {
-	
-	public SubSystem_Group_13_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getGroup_13_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_RequiredDelegationConnectorsAssignment_13_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SubSystem_CommaKeyword_13_3_0 extends KeywordToken  {
-	
-	public SubSystem_CommaKeyword_13_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_13_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredDelegationConnectors+=RequiredDelegationConnector
-protected class SubSystem_RequiredDelegationConnectorsAssignment_13_3_1 extends AssignmentToken  {
-	
-	public SubSystem_RequiredDelegationConnectorsAssignment_13_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsAssignment_13_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SubSystem_CommaKeyword_13_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_13_4 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_13_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_13_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class SubSystem_RightCurlyBracketKeyword_14 extends KeywordToken  {
-	
-	public SubSystem_RightCurlyBracketKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SubSystem_Group_13(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SubSystem_Group_12(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new SubSystem_Group_11(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new SubSystem_Group_10(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new SubSystem_Group_9(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new SubSystem_Group_8(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new SubSystem_Group_7(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new SubSystem_Group_6(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new SubSystem_Group_5(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 9, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule SubSystem ****************/
-
-
-/************ begin Rule InfluencingParameter_Impl ****************
- *
- * InfluencingParameter_Impl returns InfluencingParameter:
- * 	"InfluencingParameter" name=EString "{" "description" description=EString "behavior"
- * 	behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
- * 	"}";
- *
- **/
-
-// "InfluencingParameter" name=EString "{" "description" description=EString "behavior"
-// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-protected class InfluencingParameter_Impl_Group extends GroupToken {
-	
-	public InfluencingParameter_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "InfluencingParameter"
-protected class InfluencingParameter_Impl_InfluencingParameterKeyword_0 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_InfluencingParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class InfluencingParameter_Impl_NameAssignment_1 extends AssignmentToken  {
-	
-	public InfluencingParameter_Impl_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_InfluencingParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class InfluencingParameter_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "description"
-protected class InfluencingParameter_Impl_DescriptionKeyword_3 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// description=EString
-protected class InfluencingParameter_Impl_DescriptionAssignment_4 extends AssignmentToken  {
-	
-	public InfluencingParameter_Impl_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "behavior"
-protected class InfluencingParameter_Impl_BehaviorKeyword_5 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_BehaviorKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-protected class InfluencingParameter_Impl_BehaviorAssignment_6 extends AssignmentToken  {
-	
-	public InfluencingParameter_Impl_BehaviorAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_BehaviorKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-protected class InfluencingParameter_Impl_Group_7 extends GroupToken {
-	
-	public InfluencingParameter_Impl_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getGroup_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "scope"
-protected class InfluencingParameter_Impl_ScopeKeyword_7_0 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_ScopeKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_BehaviorAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_ScopeKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class InfluencingParameter_Impl_ScopeAssignment_7_2 extends AssignmentToken  {
-	
-	public InfluencingParameter_Impl_ScopeAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getScopeAssignment_7_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," scope+=Scope)*
-protected class InfluencingParameter_Impl_Group_7_3 extends GroupToken {
-	
-	public InfluencingParameter_Impl_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getGroup_7_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_ScopeAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class InfluencingParameter_Impl_CommaKeyword_7_3_0 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencingParameter_Impl_ScopeAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class InfluencingParameter_Impl_ScopeAssignment_7_3_1 extends AssignmentToken  {
-	
-	public InfluencingParameter_Impl_ScopeAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getScopeAssignment_7_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencingParameter_Impl_ScopeAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class InfluencingParameter_Impl_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public InfluencingParameter_Impl_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Impl_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencingParameter_Impl_BehaviorAssignment_6(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule InfluencingParameter_Impl ****************/
-
-
-/************ begin Rule ResponseTimeSpecification ****************
- *
- * ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification:
- * 	{servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification";
- *
- **/
-
-// {servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification"
-protected class ResponseTimeSpecification_Group extends GroupToken {
-	
-	public ResponseTimeSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getResponseTimeSpecificationAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::ResponseTimeSpecification}
-protected class ResponseTimeSpecification_ResponseTimeSpecificationAction_0 extends ActionToken  {
-
-	public ResponseTimeSpecification_ResponseTimeSpecificationAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ResponseTimeSpecification"
-protected class ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1 extends KeywordToken  {
-	
-	public ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResponseTimeSpecification_ResponseTimeSpecificationAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ResponseTimeSpecification ****************/
-
-
-/************ begin Rule Scope ****************
- *
- * Scope:
- * 	"Scope" "{" "interfaceProvidingRequiringEntity"
- * 	interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}";
- *
- **/
-
-// "Scope" "{" "interfaceProvidingRequiringEntity"
-// interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}"
-protected class Scope_Group extends GroupToken {
-	
-	public Scope_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getScopeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getScopeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Scope"
-protected class Scope_ScopeKeyword_0 extends KeywordToken  {
-	
-	public Scope_ScopeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getScopeAccess().getScopeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class Scope_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public Scope_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_ScopeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "interfaceProvidingRequiringEntity"
-protected class Scope_InterfaceProvidingRequiringEntityKeyword_2 extends KeywordToken  {
-	
-	public Scope_InterfaceProvidingRequiringEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-protected class Scope_InterfaceProvidingRequiringEntityAssignment_3 extends AssignmentToken  {
-	
-	public Scope_InterfaceProvidingRequiringEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_InterfaceProvidingRequiringEntityKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interfaceProvidingRequiringEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaceProvidingRequiringEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Scope_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public Scope_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_InterfaceProvidingRequiringEntityAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Scope ****************/
-
-
-/************ begin Rule ServiceInputParameter ****************
- *
- * ServiceInputParameter:
- * 	"ServiceInputParameter" name=EString "{" "description" description=EString "characterization"
- * 	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
- * 	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
- * 	("returnType" returnType=[repository::DataType|EString])? "providedRole"
- * 	providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
- *
- **/
-
-// "ServiceInputParameter" name=EString "{" "description" description=EString "characterization"
-// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-// ("returnType" returnType=[repository::DataType|EString])? "providedRole"
-// providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-protected class ServiceInputParameter_Group extends GroupToken {
-	
-	public ServiceInputParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ServiceInputParameter"
-protected class ServiceInputParameter_ServiceInputParameterKeyword_0 extends KeywordToken  {
-	
-	public ServiceInputParameter_ServiceInputParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class ServiceInputParameter_NameAssignment_1 extends AssignmentToken  {
-	
-	public ServiceInputParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ServiceInputParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ServiceInputParameter_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ServiceInputParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "description"
-protected class ServiceInputParameter_DescriptionKeyword_3 extends KeywordToken  {
-	
-	public ServiceInputParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// description=EString
-protected class ServiceInputParameter_DescriptionAssignment_4 extends AssignmentToken  {
-	
-	public ServiceInputParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getDescriptionAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "characterization"
-protected class ServiceInputParameter_CharacterizationKeyword_5 extends KeywordToken  {
-	
-	public ServiceInputParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// characterization=CharacterizationType
-protected class ServiceInputParameter_CharacterizationAssignment_6 extends AssignmentToken  {
-	
-	public ServiceInputParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getCharacterizationAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization");
-		if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { 
-			type = AssignmentType.ENUM_RULE_CALL;
-			element = grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "behavior"
-protected class ServiceInputParameter_BehaviorKeyword_7 extends KeywordToken  {
-	
-	public ServiceInputParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-protected class ServiceInputParameter_BehaviorAssignment_8 extends AssignmentToken  {
-	
-	public ServiceInputParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getBehaviorAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "signature"
-protected class ServiceInputParameter_SignatureKeyword_9 extends KeywordToken  {
-	
-	public ServiceInputParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signature=[repository::Signature|EString]
-protected class ServiceInputParameter_SignatureAssignment_10 extends AssignmentToken  {
-	
-	public ServiceInputParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getSignatureAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("parameter" parameter=[repository::Parameter|EString])?
-protected class ServiceInputParameter_Group_11 extends GroupToken {
-	
-	public ServiceInputParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parameter"
-protected class ServiceInputParameter_ParameterKeyword_11_0 extends KeywordToken  {
-	
-	public ServiceInputParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameter=[repository::Parameter|EString]
-protected class ServiceInputParameter_ParameterAssignment_11_1 extends AssignmentToken  {
-	
-	public ServiceInputParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getParameterAssignment_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("returnType" returnType=[repository::DataType|EString])?
-protected class ServiceInputParameter_Group_12 extends GroupToken {
-	
-	public ServiceInputParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getGroup_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "returnType"
-protected class ServiceInputParameter_ReturnTypeKeyword_12_0 extends KeywordToken  {
-	
-	public ServiceInputParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// returnType=[repository::DataType|EString]
-protected class ServiceInputParameter_ReturnTypeAssignment_12_1 extends AssignmentToken  {
-	
-	public ServiceInputParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getReturnTypeAssignment_12_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "providedRole"
-protected class ServiceInputParameter_ProvidedRoleKeyword_13 extends KeywordToken  {
-	
-	public ServiceInputParameter_ProvidedRoleKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group_12(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceInputParameter_Group_11(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRole=[repository::ProvidedRole|EString]
-protected class ServiceInputParameter_ProvidedRoleAssignment_14 extends AssignmentToken  {
-	
-	public ServiceInputParameter_ProvidedRoleAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getProvidedRoleAssignment_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ProvidedRoleKeyword_13(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-protected class ServiceInputParameter_Group_15 extends GroupToken {
-	
-	public ServiceInputParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getGroup_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "scope"
-protected class ServiceInputParameter_ScopeKeyword_15_0 extends KeywordToken  {
-	
-	public ServiceInputParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ProvidedRoleAssignment_14(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ServiceInputParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken  {
-	
-	public ServiceInputParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ServiceInputParameter_ScopeAssignment_15_2 extends AssignmentToken  {
-	
-	public ServiceInputParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getScopeAssignment_15_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ServiceInputParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," scope+=Scope)*
-protected class ServiceInputParameter_Group_15_3 extends GroupToken {
-	
-	public ServiceInputParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getGroup_15_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ServiceInputParameter_CommaKeyword_15_3_0 extends KeywordToken  {
-	
-	public ServiceInputParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceInputParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ServiceInputParameter_ScopeAssignment_15_3_1 extends AssignmentToken  {
-	
-	public ServiceInputParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getScopeAssignment_15_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ServiceInputParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ServiceInputParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken  {
-	
-	public ServiceInputParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceInputParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ServiceInputParameter_RightCurlyBracketKeyword_16 extends KeywordToken  {
-	
-	public ServiceInputParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ServiceInputParameter_Group_15(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ServiceInputParameter_ProvidedRoleAssignment_14(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ServiceInputParameter ****************/
-
-
-/************ begin Rule ExternalCallReturnParameter ****************
- *
- * ExternalCallReturnParameter:
- * 	"ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization"
- * 	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
- * 	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
- * 	("returnType" returnType=[repository::DataType|EString])? "externalCall"
- * 	externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
- *
- **/
-
-// "ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization"
-// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-// ("returnType" returnType=[repository::DataType|EString])? "externalCall"
-// externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-protected class ExternalCallReturnParameter_Group extends GroupToken {
-	
-	public ExternalCallReturnParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExternalCallReturnParameter"
-protected class ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class ExternalCallReturnParameter_NameAssignment_1 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ExternalCallReturnParameter_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "description"
-protected class ExternalCallReturnParameter_DescriptionKeyword_3 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// description=EString
-protected class ExternalCallReturnParameter_DescriptionAssignment_4 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getDescriptionAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "characterization"
-protected class ExternalCallReturnParameter_CharacterizationKeyword_5 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// characterization=CharacterizationType
-protected class ExternalCallReturnParameter_CharacterizationAssignment_6 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization");
-		if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { 
-			type = AssignmentType.ENUM_RULE_CALL;
-			element = grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "behavior"
-protected class ExternalCallReturnParameter_BehaviorKeyword_7 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-protected class ExternalCallReturnParameter_BehaviorAssignment_8 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getBehaviorAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "signature"
-protected class ExternalCallReturnParameter_SignatureKeyword_9 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signature=[repository::Signature|EString]
-protected class ExternalCallReturnParameter_SignatureAssignment_10 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getSignatureAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("parameter" parameter=[repository::Parameter|EString])?
-protected class ExternalCallReturnParameter_Group_11 extends GroupToken {
-	
-	public ExternalCallReturnParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parameter"
-protected class ExternalCallReturnParameter_ParameterKeyword_11_0 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameter=[repository::Parameter|EString]
-protected class ExternalCallReturnParameter_ParameterAssignment_11_1 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getParameterAssignment_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("returnType" returnType=[repository::DataType|EString])?
-protected class ExternalCallReturnParameter_Group_12 extends GroupToken {
-	
-	public ExternalCallReturnParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getGroup_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "returnType"
-protected class ExternalCallReturnParameter_ReturnTypeKeyword_12_0 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// returnType=[repository::DataType|EString]
-protected class ExternalCallReturnParameter_ReturnTypeAssignment_12_1 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeAssignment_12_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "externalCall"
-protected class ExternalCallReturnParameter_ExternalCallKeyword_13 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_ExternalCallKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group_12(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallReturnParameter_Group_11(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// externalCall=[servicebehavior::ExternalCall|EString]
-protected class ExternalCallReturnParameter_ExternalCallAssignment_14 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_ExternalCallAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallAssignment_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ExternalCallKeyword_13(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("externalCall",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCall");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-protected class ExternalCallReturnParameter_Group_15 extends GroupToken {
-	
-	public ExternalCallReturnParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getGroup_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "scope"
-protected class ExternalCallReturnParameter_ScopeKeyword_15_0 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ExternalCallAssignment_14(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ExternalCallReturnParameter_ScopeAssignment_15_2 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getScopeAssignment_15_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," scope+=Scope)*
-protected class ExternalCallReturnParameter_Group_15_3 extends GroupToken {
-	
-	public ExternalCallReturnParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getGroup_15_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ExternalCallReturnParameter_CommaKeyword_15_3_0 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallReturnParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ExternalCallReturnParameter_ScopeAssignment_15_3_1 extends AssignmentToken  {
-	
-	public ExternalCallReturnParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getScopeAssignment_15_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallReturnParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ExternalCallReturnParameter_RightCurlyBracketKeyword_16 extends KeywordToken  {
-	
-	public ExternalCallReturnParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallReturnParameter_Group_15(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallReturnParameter_ExternalCallAssignment_14(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExternalCallReturnParameter ****************/
-
-
-/************ begin Rule ExternalCallParameter ****************
- *
- * ExternalCallParameter:
- * 	"ExternalCallParameter" name=EString "{" "description" description=EString "characterization"
- * 	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
- * 	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
- * 	("returnType" returnType=[repository::DataType|EString])? "externallCall"
- * 	externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
- *
- **/
-
-// "ExternalCallParameter" name=EString "{" "description" description=EString "characterization"
-// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-// ("returnType" returnType=[repository::DataType|EString])? "externallCall"
-// externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-protected class ExternalCallParameter_Group extends GroupToken {
-	
-	public ExternalCallParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExternalCallParameter"
-protected class ExternalCallParameter_ExternalCallParameterKeyword_0 extends KeywordToken  {
-	
-	public ExternalCallParameter_ExternalCallParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class ExternalCallParameter_NameAssignment_1 extends AssignmentToken  {
-	
-	public ExternalCallParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ExternalCallParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ExternalCallParameter_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ExternalCallParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "description"
-protected class ExternalCallParameter_DescriptionKeyword_3 extends KeywordToken  {
-	
-	public ExternalCallParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// description=EString
-protected class ExternalCallParameter_DescriptionAssignment_4 extends AssignmentToken  {
-	
-	public ExternalCallParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getDescriptionAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "characterization"
-protected class ExternalCallParameter_CharacterizationKeyword_5 extends KeywordToken  {
-	
-	public ExternalCallParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// characterization=CharacterizationType
-protected class ExternalCallParameter_CharacterizationAssignment_6 extends AssignmentToken  {
-	
-	public ExternalCallParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getCharacterizationAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization");
-		if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { 
-			type = AssignmentType.ENUM_RULE_CALL;
-			element = grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "behavior"
-protected class ExternalCallParameter_BehaviorKeyword_7 extends KeywordToken  {
-	
-	public ExternalCallParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-protected class ExternalCallParameter_BehaviorAssignment_8 extends AssignmentToken  {
-	
-	public ExternalCallParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getBehaviorAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "signature"
-protected class ExternalCallParameter_SignatureKeyword_9 extends KeywordToken  {
-	
-	public ExternalCallParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signature=[repository::Signature|EString]
-protected class ExternalCallParameter_SignatureAssignment_10 extends AssignmentToken  {
-	
-	public ExternalCallParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getSignatureAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("parameter" parameter=[repository::Parameter|EString])?
-protected class ExternalCallParameter_Group_11 extends GroupToken {
-	
-	public ExternalCallParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parameter"
-protected class ExternalCallParameter_ParameterKeyword_11_0 extends KeywordToken  {
-	
-	public ExternalCallParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameter=[repository::Parameter|EString]
-protected class ExternalCallParameter_ParameterAssignment_11_1 extends AssignmentToken  {
-	
-	public ExternalCallParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getParameterAssignment_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("returnType" returnType=[repository::DataType|EString])?
-protected class ExternalCallParameter_Group_12 extends GroupToken {
-	
-	public ExternalCallParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getGroup_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "returnType"
-protected class ExternalCallParameter_ReturnTypeKeyword_12_0 extends KeywordToken  {
-	
-	public ExternalCallParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// returnType=[repository::DataType|EString]
-protected class ExternalCallParameter_ReturnTypeAssignment_12_1 extends AssignmentToken  {
-	
-	public ExternalCallParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getReturnTypeAssignment_12_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "externallCall"
-protected class ExternalCallParameter_ExternallCallKeyword_13 extends KeywordToken  {
-	
-	public ExternalCallParameter_ExternallCallKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group_12(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallParameter_Group_11(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// externallCall=[servicebehavior::ExternalCall|EString]
-protected class ExternalCallParameter_ExternallCallAssignment_14 extends AssignmentToken  {
-	
-	public ExternalCallParameter_ExternallCallAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getExternallCallAssignment_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ExternallCallKeyword_13(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("externallCall",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externallCall");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-protected class ExternalCallParameter_Group_15 extends GroupToken {
-	
-	public ExternalCallParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getGroup_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "scope"
-protected class ExternalCallParameter_ScopeKeyword_15_0 extends KeywordToken  {
-	
-	public ExternalCallParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ExternallCallAssignment_14(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ExternalCallParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken  {
-	
-	public ExternalCallParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ExternalCallParameter_ScopeAssignment_15_2 extends AssignmentToken  {
-	
-	public ExternalCallParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getScopeAssignment_15_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," scope+=Scope)*
-protected class ExternalCallParameter_Group_15_3 extends GroupToken {
-	
-	public ExternalCallParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getGroup_15_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ExternalCallParameter_CommaKeyword_15_3_0 extends KeywordToken  {
-	
-	public ExternalCallParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// scope+=Scope
-protected class ExternalCallParameter_ScopeAssignment_15_3_1 extends AssignmentToken  {
-	
-	public ExternalCallParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getScopeAssignment_15_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Scope_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ExternalCallParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken  {
-	
-	public ExternalCallParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ExternalCallParameter_RightCurlyBracketKeyword_16 extends KeywordToken  {
-	
-	public ExternalCallParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallParameter_Group_15(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallParameter_ExternallCallAssignment_14(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExternalCallParameter ****************/
-
-
-/************ begin Rule FineGrainedBehavior ****************
- *
- * FineGrainedBehavior returns servicebehavior::FineGrainedBehavior:
- * 	"FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent"
- * 	basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{"
- * 	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{"
- * 	actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}";
- *
- **/
-
-// "FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent"
-// basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{"
-// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{"
-// actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}"
-protected class FineGrainedBehavior_Group extends GroupToken {
-	
-	public FineGrainedBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "FineGrainedBehavior"
-protected class FineGrainedBehavior_FineGrainedBehaviorKeyword_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_FineGrainedBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class FineGrainedBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public FineGrainedBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_FineGrainedBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("describedSignature" describedSignature=[repository::Signature|EString])?
-protected class FineGrainedBehavior_Group_2 extends GroupToken {
-	
-	public FineGrainedBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "describedSignature"
-protected class FineGrainedBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// describedSignature=[repository::Signature|EString]
-protected class FineGrainedBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "basicComponent"
-protected class FineGrainedBehavior_BasicComponentKeyword_3 extends KeywordToken  {
-	
-	public FineGrainedBehavior_BasicComponentKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// basicComponent=[repository::BasicComponent|EString]
-protected class FineGrainedBehavior_BasicComponentAssignment_4 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_BasicComponentAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_BasicComponentKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("basicComponent",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("basicComponent");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-// "}")?
-protected class FineGrainedBehavior_Group_5 extends GroupToken {
-	
-	public FineGrainedBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "influencingParameter"
-protected class FineGrainedBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class FineGrainedBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public FineGrainedBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class FineGrainedBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," influencingParameter+=InfluencingParameter)*
-protected class FineGrainedBehavior_Group_5_3 extends GroupToken {
-	
-	public FineGrainedBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class FineGrainedBehavior_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter+=InfluencingParameter
-protected class FineGrainedBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new FineGrainedBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class FineGrainedBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public FineGrainedBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// ("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")?
-protected class FineGrainedBehavior_Group_6 extends GroupToken {
-	
-	public FineGrainedBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "actions"
-protected class FineGrainedBehavior_ActionsKeyword_6_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_ActionsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class FineGrainedBehavior_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
-	
-	public FineGrainedBehavior_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_ActionsKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// actions+=AbstractAction
-protected class FineGrainedBehavior_ActionsAssignment_6_2 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_ActionsAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getActionsAssignment_6_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," actions+=AbstractAction)*
-protected class FineGrainedBehavior_Group_6_3 extends GroupToken {
-	
-	public FineGrainedBehavior_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getGroup_6_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_ActionsAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class FineGrainedBehavior_CommaKeyword_6_3_0 extends KeywordToken  {
-	
-	public FineGrainedBehavior_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_ActionsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// actions+=AbstractAction
-protected class FineGrainedBehavior_ActionsAssignment_6_3_1 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_ActionsAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getActionsAssignment_6_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new FineGrainedBehavior_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class FineGrainedBehavior_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
-	
-	public FineGrainedBehavior_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_ActionsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "behavior"
-protected class FineGrainedBehavior_BehaviorKeyword_7 extends KeywordToken  {
-	
-	public FineGrainedBehavior_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FineGrainedBehavior_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// behavior=ComponentInternalBehavior
-protected class FineGrainedBehavior_BehaviorAssignment_8 extends AssignmentToken  {
-	
-	public FineGrainedBehavior_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getBehaviorAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new FineGrainedBehavior_BehaviorKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class FineGrainedBehavior_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public FineGrainedBehavior_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FineGrainedBehavior_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule FineGrainedBehavior ****************/
-
-
-/************ begin Rule AbstractAction_Impl ****************
- *
- * AbstractAction_Impl returns servicebehavior::AbstractAction:
- * 	{servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor"
- * 	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "}";
- *
- **/
-
-// {servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor"
-// predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? "}"
-protected class AbstractAction_Impl_Group extends GroupToken {
-	
-	public AbstractAction_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::AbstractAction}
-protected class AbstractAction_Impl_AbstractActionAction_0 extends ActionToken  {
-
-	public AbstractAction_Impl_AbstractActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "AbstractAction"
-protected class AbstractAction_Impl_AbstractActionKeyword_1 extends KeywordToken  {
-	
-	public AbstractAction_Impl_AbstractActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_AbstractActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class AbstractAction_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public AbstractAction_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_AbstractActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class AbstractAction_Impl_Group_3 extends GroupToken {
-	
-	public AbstractAction_Impl_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class AbstractAction_Impl_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public AbstractAction_Impl_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class AbstractAction_Impl_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public AbstractAction_Impl_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class AbstractAction_Impl_Group_4 extends GroupToken {
-	
-	public AbstractAction_Impl_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class AbstractAction_Impl_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public AbstractAction_Impl_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class AbstractAction_Impl_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public AbstractAction_Impl_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class AbstractAction_Impl_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public AbstractAction_Impl_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Impl_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AbstractAction_Impl_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AbstractAction_Impl ****************/
-
-
-/************ begin Rule ComponentInternalBehavior_Impl ****************
- *
- * ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior:
- * 	{servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction
- * 	("," actions+=AbstractAction)* "}")? "}";
- *
- **/
-
-// {servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction (","
-// actions+=AbstractAction)* "}")? "}"
-protected class ComponentInternalBehavior_Impl_Group extends GroupToken {
-	
-	public ComponentInternalBehavior_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::ComponentInternalBehavior}
-protected class ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0 extends ActionToken  {
-
-	public ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ComponentInternalBehavior"
-protected class ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")?
-protected class ComponentInternalBehavior_Impl_Group_3 extends GroupToken {
-	
-	public ComponentInternalBehavior_Impl_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "actions"
-protected class ComponentInternalBehavior_Impl_ActionsKeyword_3_0 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_ActionsKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_ActionsKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// actions+=AbstractAction
-protected class ComponentInternalBehavior_Impl_ActionsAssignment_3_2 extends AssignmentToken  {
-	
-	public ComponentInternalBehavior_Impl_ActionsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," actions+=AbstractAction)*
-protected class ComponentInternalBehavior_Impl_Group_3_3 extends GroupToken {
-	
-	public ComponentInternalBehavior_Impl_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ComponentInternalBehavior_Impl_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// actions+=AbstractAction
-protected class ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1 extends AssignmentToken  {
-	
-	public ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractAction_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Impl_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ComponentInternalBehavior_Impl ****************/
-
-
-/************ begin Rule StartAction ****************
- *
- * StartAction returns servicebehavior::StartAction:
- * 	{servicebehavior::StartAction} "StartAction" "{" ("predecessor"
- * 	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "}";
- *
- **/
-
-// {servicebehavior::StartAction} "StartAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-// ("successor" successor=[servicebehavior::AbstractAction|EString])? "}"
-protected class StartAction_Group extends GroupToken {
-	
-	public StartAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::StartAction}
-protected class StartAction_StartActionAction_0 extends ActionToken  {
-
-	public StartAction_StartActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getStartActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "StartAction"
-protected class StartAction_StartActionKeyword_1 extends KeywordToken  {
-	
-	public StartAction_StartActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getStartActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_StartActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class StartAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public StartAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_StartActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class StartAction_Group_3 extends GroupToken {
-	
-	public StartAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class StartAction_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public StartAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class StartAction_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public StartAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class StartAction_Group_4 extends GroupToken {
-	
-	public StartAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class StartAction_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public StartAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class StartAction_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public StartAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class StartAction_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public StartAction_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StartAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule StartAction ****************/
-
-
-/************ begin Rule StopAction ****************
- *
- * StopAction returns servicebehavior::StopAction:
- * 	{servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
- * 	("successor" successor=[servicebehavior::AbstractAction|EString])? "}";
- *
- **/
-
-// {servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-// ("successor" successor=[servicebehavior::AbstractAction|EString])? "}"
-protected class StopAction_Group extends GroupToken {
-	
-	public StopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::StopAction}
-protected class StopAction_StopActionAction_0 extends ActionToken  {
-
-	public StopAction_StopActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getStopActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "StopAction"
-protected class StopAction_StopActionKeyword_1 extends KeywordToken  {
-	
-	public StopAction_StopActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getStopActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_StopActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class StopAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public StopAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_StopActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class StopAction_Group_3 extends GroupToken {
-	
-	public StopAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class StopAction_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public StopAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class StopAction_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public StopAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class StopAction_Group_4 extends GroupToken {
-	
-	public StopAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class StopAction_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public StopAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class StopAction_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public StopAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class StopAction_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public StopAction_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StopAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule StopAction ****************/
-
-
-/************ begin Rule AcquireAction ****************
- *
- * AcquireAction returns servicebehavior::AcquireAction:
- * 	"AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
- * 	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
- *
- **/
-
-// "AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"
-protected class AcquireAction_Group extends GroupToken {
-	
-	public AcquireAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "AcquireAction"
-protected class AcquireAction_AcquireActionKeyword_0 extends KeywordToken  {
-	
-	public AcquireAction_AcquireActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class AcquireAction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public AcquireAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_AcquireActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class AcquireAction_Group_2 extends GroupToken {
-	
-	public AcquireAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class AcquireAction_PredecessorKeyword_2_0 extends KeywordToken  {
-	
-	public AcquireAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class AcquireAction_PredecessorAssignment_2_1 extends AssignmentToken  {
-	
-	public AcquireAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getPredecessorAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class AcquireAction_Group_3 extends GroupToken {
-	
-	public AcquireAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class AcquireAction_SuccessorKeyword_3_0 extends KeywordToken  {
-	
-	public AcquireAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class AcquireAction_SuccessorAssignment_3_1 extends AssignmentToken  {
-	
-	public AcquireAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getSuccessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "passiveResource"
-protected class AcquireAction_PassiveResourceKeyword_4 extends KeywordToken  {
-	
-	public AcquireAction_PassiveResourceKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AcquireAction_Group_2(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-protected class AcquireAction_PassiveResourceAssignment_5 extends AssignmentToken  {
-	
-	public AcquireAction_PassiveResourceAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getPassiveResourceAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_PassiveResourceKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("passiveResource",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResource");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class AcquireAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public AcquireAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AcquireAction_PassiveResourceAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AcquireAction ****************/
-
-
-/************ begin Rule ReleaseAction ****************
- *
- * ReleaseAction returns servicebehavior::ReleaseAction:
- * 	"ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
- * 	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
- *
- **/
-
-// "ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"
-protected class ReleaseAction_Group extends GroupToken {
-	
-	public ReleaseAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ReleaseAction"
-protected class ReleaseAction_ReleaseActionKeyword_0 extends KeywordToken  {
-	
-	public ReleaseAction_ReleaseActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ReleaseAction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ReleaseAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_ReleaseActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class ReleaseAction_Group_2 extends GroupToken {
-	
-	public ReleaseAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class ReleaseAction_PredecessorKeyword_2_0 extends KeywordToken  {
-	
-	public ReleaseAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class ReleaseAction_PredecessorAssignment_2_1 extends AssignmentToken  {
-	
-	public ReleaseAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getPredecessorAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class ReleaseAction_Group_3 extends GroupToken {
-	
-	public ReleaseAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class ReleaseAction_SuccessorKeyword_3_0 extends KeywordToken  {
-	
-	public ReleaseAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class ReleaseAction_SuccessorAssignment_3_1 extends AssignmentToken  {
-	
-	public ReleaseAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getSuccessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "passiveResource"
-protected class ReleaseAction_PassiveResourceKeyword_4 extends KeywordToken  {
-	
-	public ReleaseAction_PassiveResourceKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ReleaseAction_Group_2(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-protected class ReleaseAction_PassiveResourceAssignment_5 extends AssignmentToken  {
-	
-	public ReleaseAction_PassiveResourceAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getPassiveResourceAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_PassiveResourceKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("passiveResource",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResource");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ReleaseAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ReleaseAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ReleaseAction_PassiveResourceAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ReleaseAction ****************/
-
-
-/************ begin Rule InternalAction ****************
- *
- * InternalAction returns servicebehavior::InternalAction:
- * 	{servicebehavior::InternalAction} "InternalAction" "{" ("predecessor"
- * 	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{"
- * 	resourceDemandSpecification+=ResourceDemandSpecification (","
- * 	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
- *
- **/
-
-// {servicebehavior::InternalAction} "InternalAction" "{" ("predecessor"
-// predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{"
-// resourceDemandSpecification+=ResourceDemandSpecification (","
-// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"
-protected class InternalAction_Group extends GroupToken {
-	
-	public InternalAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {servicebehavior::InternalAction}
-protected class InternalAction_InternalActionAction_0 extends ActionToken  {
-
-	public InternalAction_InternalActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getInternalActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "InternalAction"
-protected class InternalAction_InternalActionKeyword_1 extends KeywordToken  {
-	
-	public InternalAction_InternalActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getInternalActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_InternalActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class InternalAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public InternalAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_InternalActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class InternalAction_Group_3 extends GroupToken {
-	
-	public InternalAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class InternalAction_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public InternalAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class InternalAction_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public InternalAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class InternalAction_Group_4 extends GroupToken {
-	
-	public InternalAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class InternalAction_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public InternalAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class InternalAction_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public InternalAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification (","
-// resourceDemandSpecification+=ResourceDemandSpecification)* "}")?
-protected class InternalAction_Group_5 extends GroupToken {
-	
-	public InternalAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "resourceDemandSpecification"
-protected class InternalAction_ResourceDemandSpecificationKeyword_5_0 extends KeywordToken  {
-	
-	public InternalAction_ResourceDemandSpecificationKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InternalAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class InternalAction_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public InternalAction_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_ResourceDemandSpecificationKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// resourceDemandSpecification+=ResourceDemandSpecification
-protected class InternalAction_ResourceDemandSpecificationAssignment_5_2 extends AssignmentToken  {
-	
-	public InternalAction_ResourceDemandSpecificationAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new InternalAction_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," resourceDemandSpecification+=ResourceDemandSpecification)*
-protected class InternalAction_Group_5_3 extends GroupToken {
-	
-	public InternalAction_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_ResourceDemandSpecificationAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class InternalAction_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public InternalAction_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InternalAction_ResourceDemandSpecificationAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// resourceDemandSpecification+=ResourceDemandSpecification
-protected class InternalAction_ResourceDemandSpecificationAssignment_5_3_1 extends AssignmentToken  {
-	
-	public InternalAction_ResourceDemandSpecificationAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new InternalAction_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class InternalAction_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public InternalAction_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InternalAction_ResourceDemandSpecificationAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class InternalAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public InternalAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InternalAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InternalAction_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InternalAction_Group_3(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule InternalAction ****************/
-
-
-/************ begin Rule ForkAction ****************
- *
- * ForkAction returns servicebehavior::ForkAction:
- * 	withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor"
- * 	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{"
- * 	forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}";
- *
- **/
-
-// withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor"
-// predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior
-// ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}"
-protected class ForkAction_Group extends GroupToken {
-	
-	public ForkAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// withSynchronizationBarrier?="withSynchronizationBarrier"
-protected class ForkAction_WithSynchronizationBarrierAssignment_0 extends AssignmentToken  {
-	
-	public ForkAction_WithSynchronizationBarrierAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getWithSynchronizationBarrierAssignment_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("withSynchronizationBarrier",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("withSynchronizationBarrier");
-		if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
-			type = AssignmentType.KEYWORD;
-			element = grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "ForkAction"
-protected class ForkAction_ForkActionKeyword_1 extends KeywordToken  {
-	
-	public ForkAction_ForkActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getForkActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_WithSynchronizationBarrierAssignment_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ForkAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ForkAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_ForkActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class ForkAction_Group_3 extends GroupToken {
-	
-	public ForkAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class ForkAction_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public ForkAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class ForkAction_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public ForkAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class ForkAction_Group_4 extends GroupToken {
-	
-	public ForkAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class ForkAction_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public ForkAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class ForkAction_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public ForkAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)*
-// "}")?
-protected class ForkAction_Group_5 extends GroupToken {
-	
-	public ForkAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "forkedBehaviors"
-protected class ForkAction_ForkedBehaviorsKeyword_5_0 extends KeywordToken  {
-	
-	public ForkAction_ForkedBehaviorsKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ForkAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ForkAction_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
-	
-	public ForkAction_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_ForkedBehaviorsKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// forkedBehaviors+=ComponentInternalBehavior
-protected class ForkAction_ForkedBehaviorsAssignment_5_2 extends AssignmentToken  {
-	
-	public ForkAction_ForkedBehaviorsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getForkedBehaviorsAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("forkedBehaviors",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("forkedBehaviors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ForkAction_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," forkedBehaviors+=ComponentInternalBehavior)*
-protected class ForkAction_Group_5_3 extends GroupToken {
-	
-	public ForkAction_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_ForkedBehaviorsAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ForkAction_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public ForkAction_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ForkAction_ForkedBehaviorsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// forkedBehaviors+=ComponentInternalBehavior
-protected class ForkAction_ForkedBehaviorsAssignment_5_3_1 extends AssignmentToken  {
-	
-	public ForkAction_ForkedBehaviorsAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getForkedBehaviorsAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("forkedBehaviors",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("forkedBehaviors");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ForkAction_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ForkAction_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public ForkAction_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ForkAction_ForkedBehaviorsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ForkAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ForkAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ForkAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ForkAction_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ForkAction_Group_3(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ForkAction ****************/
-
-
-/************ begin Rule BranchAction ****************
- *
- * BranchAction returns servicebehavior::BranchAction:
- * 	"BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition (","
- * 	branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}";
- *
- **/
-
-// "BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition (","
-// branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}"
-protected class BranchAction_Group extends GroupToken {
-	
-	public BranchAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BranchAction"
-protected class BranchAction_BranchActionKeyword_0 extends KeywordToken  {
-	
-	public BranchAction_BranchActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class BranchAction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public BranchAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_BranchActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class BranchAction_Group_2 extends GroupToken {
-	
-	public BranchAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class BranchAction_PredecessorKeyword_2_0 extends KeywordToken  {
-	
-	public BranchAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class BranchAction_PredecessorAssignment_2_1 extends AssignmentToken  {
-	
-	public BranchAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getPredecessorAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class BranchAction_Group_3 extends GroupToken {
-	
-	public BranchAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class BranchAction_SuccessorKeyword_3_0 extends KeywordToken  {
-	
-	public BranchAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class BranchAction_SuccessorAssignment_3_1 extends AssignmentToken  {
-	
-	public BranchAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getSuccessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("branches" "{" branches+=BranchTransition ("," branches+=BranchTransition)* "}")?
-protected class BranchAction_Group_4 extends GroupToken {
-	
-	public BranchAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_RightCurlyBracketKeyword_4_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "branches"
-protected class BranchAction_BranchesKeyword_4_0 extends KeywordToken  {
-	
-	public BranchAction_BranchesKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_Group_2(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BranchAction_LeftCurlyBracketKeyword_4_1 extends KeywordToken  {
-	
-	public BranchAction_LeftCurlyBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_BranchesKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// branches+=BranchTransition
-protected class BranchAction_BranchesAssignment_4_2 extends AssignmentToken  {
-	
-	public BranchAction_BranchesAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchesAssignment_4_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("branches",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branches");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchTransitionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchAction_LeftCurlyBracketKeyword_4_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," branches+=BranchTransition)*
-protected class BranchAction_Group_4_3 extends GroupToken {
-	
-	public BranchAction_Group_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_4_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_BranchesAssignment_4_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BranchAction_CommaKeyword_4_3_0 extends KeywordToken  {
-	
-	public BranchAction_CommaKeyword_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_BranchesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// branches+=BranchTransition
-protected class BranchAction_BranchesAssignment_4_3_1 extends AssignmentToken  {
-	
-	public BranchAction_BranchesAssignment_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchesAssignment_4_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("branches",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branches");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchTransitionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchAction_CommaKeyword_4_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BranchAction_RightCurlyBracketKeyword_4_4 extends KeywordToken  {
-	
-	public BranchAction_RightCurlyBracketKeyword_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_BranchesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "branchProbabilities"
-protected class BranchAction_BranchProbabilitiesKeyword_5 extends KeywordToken  {
-	
-	public BranchAction_BranchProbabilitiesKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BranchAction_Group_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// branchProbabilities=BranchProbabilities
-protected class BranchAction_BranchProbabilitiesAssignment_6 extends AssignmentToken  {
-	
-	public BranchAction_BranchProbabilitiesAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchProbabilitiesAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("branchProbabilities",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branchProbabilities");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchProbabilitiesRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchAction_BranchProbabilitiesKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class BranchAction_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public BranchAction_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_BranchProbabilitiesAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BranchAction ****************/
-
-
-/************ begin Rule LoopAction ****************
- *
- * LoopAction returns servicebehavior::LoopAction:
- * 	"LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior
- * 	"loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}";
- *
- **/
-
-// "LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior
-// "loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}"
-protected class LoopAction_Group extends GroupToken {
-	
-	public LoopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "LoopAction"
-protected class LoopAction_LoopActionKeyword_0 extends KeywordToken  {
-	
-	public LoopAction_LoopActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class LoopAction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public LoopAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LoopActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class LoopAction_Group_2 extends GroupToken {
-	
-	public LoopAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class LoopAction_PredecessorKeyword_2_0 extends KeywordToken  {
-	
-	public LoopAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class LoopAction_PredecessorAssignment_2_1 extends AssignmentToken  {
-	
-	public LoopAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getPredecessorAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class LoopAction_Group_3 extends GroupToken {
-	
-	public LoopAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class LoopAction_SuccessorKeyword_3_0 extends KeywordToken  {
-	
-	public LoopAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class LoopAction_SuccessorAssignment_3_1 extends AssignmentToken  {
-	
-	public LoopAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getSuccessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "loopBodyBehavior"
-protected class LoopAction_LoopBodyBehaviorKeyword_4 extends KeywordToken  {
-	
-	public LoopAction_LoopBodyBehaviorKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new LoopAction_Group_2(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// loopBodyBehavior=ComponentInternalBehavior
-protected class LoopAction_LoopBodyBehaviorAssignment_5 extends AssignmentToken  {
-	
-	public LoopAction_LoopBodyBehaviorAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopBodyBehaviorAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("loopBodyBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopBodyBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new LoopAction_LoopBodyBehaviorKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "loopIterationCountDistribution"
-protected class LoopAction_LoopIterationCountDistributionKeyword_6 extends KeywordToken  {
-	
-	public LoopAction_LoopIterationCountDistributionKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LoopBodyBehaviorAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// loopIterationCountDistribution=LoopIterationCountDistribution
-protected class LoopAction_LoopIterationCountDistributionAssignment_7 extends AssignmentToken  {
-	
-	public LoopAction_LoopIterationCountDistributionAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("loopIterationCountDistribution",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopIterationCountDistribution");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopIterationCountDistributionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new LoopAction_LoopIterationCountDistributionKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class LoopAction_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public LoopAction_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LoopIterationCountDistributionAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule LoopAction ****************/
-
-
-/************ begin Rule ExternalCallAction ****************
- *
- * ExternalCallAction returns servicebehavior::ExternalCallAction:
- * 	"ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
- * 	successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString]
- * 	"requiredRole" requiredRole=[repository::RequiredRole|EString] "}";
- *
- **/
-
-// "ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-// successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString]
-// "requiredRole" requiredRole=[repository::RequiredRole|EString] "}"
-protected class ExternalCallAction_Group extends GroupToken {
-	
-	public ExternalCallAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExternalCallAction"
-protected class ExternalCallAction_ExternalCallActionKeyword_0 extends KeywordToken  {
-	
-	public ExternalCallAction_ExternalCallActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ExternalCallAction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ExternalCallAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_ExternalCallActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-protected class ExternalCallAction_Group_2 extends GroupToken {
-	
-	public ExternalCallAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class ExternalCallAction_PredecessorKeyword_2_0 extends KeywordToken  {
-	
-	public ExternalCallAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[servicebehavior::AbstractAction|EString]
-protected class ExternalCallAction_PredecessorAssignment_2_1 extends AssignmentToken  {
-	
-	public ExternalCallAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getPredecessorAssignment_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[servicebehavior::AbstractAction|EString])?
-protected class ExternalCallAction_Group_3 extends GroupToken {
-	
-	public ExternalCallAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class ExternalCallAction_SuccessorKeyword_3_0 extends KeywordToken  {
-	
-	public ExternalCallAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[servicebehavior::AbstractAction|EString]
-protected class ExternalCallAction_SuccessorAssignment_3_1 extends AssignmentToken  {
-	
-	public ExternalCallAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getSuccessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "signature"
-protected class ExternalCallAction_SignatureKeyword_4 extends KeywordToken  {
-	
-	public ExternalCallAction_SignatureKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExternalCallAction_Group_2(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signature=[repository::Signature|EString]
-protected class ExternalCallAction_SignatureAssignment_5 extends AssignmentToken  {
-	
-	public ExternalCallAction_SignatureAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getSignatureAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_SignatureKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "requiredRole"
-protected class ExternalCallAction_RequiredRoleKeyword_6 extends KeywordToken  {
-	
-	public ExternalCallAction_RequiredRoleKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_SignatureAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRole=[repository::RequiredRole|EString]
-protected class ExternalCallAction_RequiredRoleAssignment_7 extends AssignmentToken  {
-	
-	public ExternalCallAction_RequiredRoleAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getRequiredRoleAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_RequiredRoleKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ExternalCallAction_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public ExternalCallAction_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallAction_RequiredRoleAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExternalCallAction ****************/
-
-
-/************ begin Rule PassiveResourceSpecification ****************
- *
- * PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification:
- * 	"PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType"
- * 	passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}";
- *
- **/
-
-// "PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType"
-// passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}"
-protected class PassiveResourceSpecification_Group extends GroupToken {
-	
-	public PassiveResourceSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PassiveResourceSpecification"
-protected class PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class PassiveResourceSpecification_IdAssignment_1 extends AssignmentToken  {
-	
-	public PassiveResourceSpecification_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class PassiveResourceSpecification_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class PassiveResourceSpecification_NameKeyword_3 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class PassiveResourceSpecification_NameAssignment_4 extends AssignmentToken  {
-	
-	public PassiveResourceSpecification_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "passiveResourceType"
-protected class PassiveResourceSpecification_PassiveResourceTypeKeyword_5 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_PassiveResourceTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// passiveResourceType=[resourcetype::PassiveResourceType|EString]
-protected class PassiveResourceSpecification_PassiveResourceTypeAssignment_6 extends AssignmentToken  {
-	
-	public PassiveResourceSpecification_PassiveResourceTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_PassiveResourceTypeKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("passiveResourceType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResourceType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "capacity"
-protected class PassiveResourceSpecification_CapacityKeyword_7 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_CapacityKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_PassiveResourceTypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// capacity=PassiveResourceCapacity
-protected class PassiveResourceSpecification_CapacityAssignment_8 extends AssignmentToken  {
-	
-	public PassiveResourceSpecification_CapacityAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getCapacityAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("capacity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("capacity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPassiveResourceCapacityRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_CapacityKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class PassiveResourceSpecification_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public PassiveResourceSpecification_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceSpecification_CapacityAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PassiveResourceSpecification ****************/
-
-
-/************ begin Rule PassiveResourceCapacity ****************
- *
- * PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity:
- * 	"PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}";
- *
- **/
-
-// "PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}"
-protected class PassiveResourceCapacity_Group extends GroupToken {
-	
-	public PassiveResourceCapacity_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPassiveResourceCapacityRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PassiveResourceCapacity"
-protected class PassiveResourceCapacity_PassiveResourceCapacityKeyword_0 extends KeywordToken  {
-	
-	public PassiveResourceCapacity_PassiveResourceCapacityKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class PassiveResourceCapacity_IdAssignment_1 extends AssignmentToken  {
-	
-	public PassiveResourceCapacity_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_PassiveResourceCapacityKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class PassiveResourceCapacity_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public PassiveResourceCapacity_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class PassiveResourceCapacity_NameKeyword_3 extends KeywordToken  {
-	
-	public PassiveResourceCapacity_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class PassiveResourceCapacity_NameAssignment_4 extends AssignmentToken  {
-	
-	public PassiveResourceCapacity_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "capacity"
-protected class PassiveResourceCapacity_CapacityKeyword_5 extends KeywordToken  {
-	
-	public PassiveResourceCapacity_CapacityKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// capacity=EBigInteger
-protected class PassiveResourceCapacity_CapacityAssignment_6 extends AssignmentToken  {
-	
-	public PassiveResourceCapacity_CapacityAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getCapacityAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_CapacityKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("capacity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("capacity");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class PassiveResourceCapacity_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public PassiveResourceCapacity_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceCapacity_CapacityAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PassiveResourceCapacity ****************/
-
-
-/************ begin Rule PassiveResourceType ****************
- *
- * PassiveResourceType returns resourcetype::PassiveResourceType:
- * 	"PassiveResourceType" id=EString "{" "name" name=EString "}";
- *
- **/
-
-// "PassiveResourceType" id=EString "{" "name" name=EString "}"
-protected class PassiveResourceType_Group extends GroupToken {
-	
-	public PassiveResourceType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPassiveResourceTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PassiveResourceType"
-protected class PassiveResourceType_PassiveResourceTypeKeyword_0 extends KeywordToken  {
-	
-	public PassiveResourceType_PassiveResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getPassiveResourceTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class PassiveResourceType_IdAssignment_1 extends AssignmentToken  {
-	
-	public PassiveResourceType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_PassiveResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceTypeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class PassiveResourceType_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public PassiveResourceType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class PassiveResourceType_NameKeyword_3 extends KeywordToken  {
-	
-	public PassiveResourceType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class PassiveResourceType_NameAssignment_4 extends AssignmentToken  {
-	
-	public PassiveResourceType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getPassiveResourceTypeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class PassiveResourceType_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public PassiveResourceType_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPassiveResourceTypeAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PassiveResourceType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PassiveResourceType ****************/
-
-
-
-/************ begin Rule ResourceDemandSpecification ****************
- *
- * ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification:
- * 	"ResourceDemandSpecification" "{" "processingResourceType"
- * 	processingResourceType=[resourcetype::ProcessingResourceType|EString] "}";
- *
- **/
-
-// "ResourceDemandSpecification" "{" "processingResourceType"
-// processingResourceType=[resourcetype::ProcessingResourceType|EString] "}"
-protected class ResourceDemandSpecification_Group extends GroupToken {
-	
-	public ResourceDemandSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ResourceDemandSpecification"
-protected class ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0 extends KeywordToken  {
-	
-	public ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ResourceDemandSpecification_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ResourceDemandSpecification_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "processingResourceType"
-protected class ResourceDemandSpecification_ProcessingResourceTypeKeyword_2 extends KeywordToken  {
-	
-	public ResourceDemandSpecification_ProcessingResourceTypeKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// processingResourceType=[resourcetype::ProcessingResourceType|EString]
-protected class ResourceDemandSpecification_ProcessingResourceTypeAssignment_3 extends AssignmentToken  {
-	
-	public ResourceDemandSpecification_ProcessingResourceTypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_ProcessingResourceTypeKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("processingResourceType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("processingResourceType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ResourceDemandSpecification_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ResourceDemandSpecification_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ResourceDemandSpecification_ProcessingResourceTypeAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ResourceDemandSpecification ****************/
-
-
-/************ begin Rule ProcessingResourceType_Impl ****************
- *
- * ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType:
- * 	"ProcessingResourceType" id=EString "{" "name" name=EString "}";
- *
- **/
-
-// "ProcessingResourceType" id=EString "{" "name" name=EString "}"
-protected class ProcessingResourceType_Impl_Group extends GroupToken {
-	
-	public ProcessingResourceType_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ProcessingResourceType"
-protected class ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0 extends KeywordToken  {
-	
-	public ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ProcessingResourceType_Impl_IdAssignment_1 extends AssignmentToken  {
-	
-	public ProcessingResourceType_Impl_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class ProcessingResourceType_Impl_NameKeyword_3 extends KeywordToken  {
-	
-	public ProcessingResourceType_Impl_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class ProcessingResourceType_Impl_NameAssignment_4 extends AssignmentToken  {
-	
-	public ProcessingResourceType_Impl_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ProcessingResourceType_Impl_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public ProcessingResourceType_Impl_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProcessingResourceType_Impl_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProcessingResourceType_Impl ****************/
-
-
-/************ begin Rule CommunicationLinkResourceType ****************
- *
- * CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType:
- * 	"CommunicationLinkResourceType" id=EString "{" "name" name=EString "}";
- *
- **/
-
-// "CommunicationLinkResourceType" id=EString "{" "name" name=EString "}"
-protected class CommunicationLinkResourceType_Group extends GroupToken {
-	
-	public CommunicationLinkResourceType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CommunicationLinkResourceType"
-protected class CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0 extends KeywordToken  {
-	
-	public CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class CommunicationLinkResourceType_IdAssignment_1 extends AssignmentToken  {
-	
-	public CommunicationLinkResourceType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class CommunicationLinkResourceType_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public CommunicationLinkResourceType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class CommunicationLinkResourceType_NameKeyword_3 extends KeywordToken  {
-	
-	public CommunicationLinkResourceType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class CommunicationLinkResourceType_NameAssignment_4 extends AssignmentToken  {
-	
-	public CommunicationLinkResourceType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class CommunicationLinkResourceType_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public CommunicationLinkResourceType_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CommunicationLinkResourceType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CommunicationLinkResourceType ****************/
-
-
-
-/************ begin Rule BranchTransition ****************
- *
- * BranchTransition returns servicebehavior::BranchTransition:
- * 	"BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}";
- *
- **/
-
-// "BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}"
-protected class BranchTransition_Group extends GroupToken {
-	
-	public BranchTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchTransitionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BranchTransition"
-protected class BranchTransition_BranchTransitionKeyword_0 extends KeywordToken  {
-	
-	public BranchTransition_BranchTransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class BranchTransition_IdAssignment_1 extends AssignmentToken  {
-	
-	public BranchTransition_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_BranchTransitionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class BranchTransition_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public BranchTransition_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class BranchTransition_NameKeyword_3 extends KeywordToken  {
-	
-	public BranchTransition_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class BranchTransition_NameAssignment_4 extends AssignmentToken  {
-	
-	public BranchTransition_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "branchBehavior"
-protected class BranchTransition_BranchBehaviorKeyword_5 extends KeywordToken  {
-	
-	public BranchTransition_BranchBehaviorKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// branchBehavior=ComponentInternalBehavior
-protected class BranchTransition_BranchBehaviorAssignment_6 extends AssignmentToken  {
-	
-	public BranchTransition_BranchBehaviorAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getBranchBehaviorAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("branchBehavior",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branchBehavior");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchTransition_BranchBehaviorKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class BranchTransition_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public BranchTransition_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchTransition_BranchBehaviorAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BranchTransition ****************/
-
-
-/************ begin Rule BranchProbabilities ****************
- *
- * BranchProbabilities returns servicebehavior::BranchProbabilities:
- * 	"BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}";
- *
- **/
-
-// "BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}"
-protected class BranchProbabilities_Group extends GroupToken {
-	
-	public BranchProbabilities_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchProbabilitiesRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BranchProbabilities"
-protected class BranchProbabilities_BranchProbabilitiesKeyword_0 extends KeywordToken  {
-	
-	public BranchProbabilities_BranchProbabilitiesKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class BranchProbabilities_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public BranchProbabilities_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_BranchProbabilitiesKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "probabilities"
-protected class BranchProbabilities_ProbabilitiesKeyword_2 extends KeywordToken  {
-	
-	public BranchProbabilities_ProbabilitiesKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probabilities=[functions::RandomVariable|EString]
-protected class BranchProbabilities_ProbabilitiesAssignment_3 extends AssignmentToken  {
-	
-	public BranchProbabilities_ProbabilitiesAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_ProbabilitiesKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probabilities",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probabilities");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class BranchProbabilities_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public BranchProbabilities_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchProbabilities_ProbabilitiesAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BranchProbabilities ****************/
-
-
-/************ begin Rule RandomVariable ****************
- *
- * RandomVariable returns functions::RandomVariable:
- * 	"RandomVariable" "{" "specification" specification=EString "probFunction"
- * 	probFunction=[functions::ProbabilityFunction|EString] "}";
- *
- **/
-
-// "RandomVariable" "{" "specification" specification=EString "probFunction"
-// probFunction=[functions::ProbabilityFunction|EString] "}"
-protected class RandomVariable_Group extends GroupToken {
-	
-	public RandomVariable_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRandomVariableRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "RandomVariable"
-protected class RandomVariable_RandomVariableKeyword_0 extends KeywordToken  {
-	
-	public RandomVariable_RandomVariableKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getRandomVariableKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class RandomVariable_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public RandomVariable_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_RandomVariableKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "specification"
-protected class RandomVariable_SpecificationKeyword_2 extends KeywordToken  {
-	
-	public RandomVariable_SpecificationKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getSpecificationKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// specification=EString
-protected class RandomVariable_SpecificationAssignment_3 extends AssignmentToken  {
-	
-	public RandomVariable_SpecificationAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getSpecificationAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_SpecificationKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("specification",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("specification");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRandomVariableAccess().getSpecificationEStringParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRandomVariableAccess().getSpecificationEStringParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "probFunction"
-protected class RandomVariable_ProbFunctionKeyword_4 extends KeywordToken  {
-	
-	public RandomVariable_ProbFunctionKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getProbFunctionKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_SpecificationAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probFunction=[functions::ProbabilityFunction|EString]
-protected class RandomVariable_ProbFunctionAssignment_5 extends AssignmentToken  {
-	
-	public RandomVariable_ProbFunctionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getProbFunctionAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_ProbFunctionKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probFunction",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probFunction");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRandomVariableAccess().getProbFunctionProbabilityFunctionCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRandomVariableAccess().getProbFunctionProbabilityFunctionCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class RandomVariable_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public RandomVariable_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRandomVariableAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RandomVariable_ProbFunctionAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule RandomVariable ****************/
-
-
-/************ begin Rule ProbabilityMassFunction ****************
- *
- * ProbabilityMassFunction returns functions::ProbabilityMassFunction:
- * 	{functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)*
- * 	"}")? "}";
- *
- **/
-
-// {functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)*
-// "}")? "}"
-protected class ProbabilityMassFunction_Group extends GroupToken {
-	
-	public ProbabilityMassFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {functions::ProbabilityMassFunction}
-protected class ProbabilityMassFunction_ProbabilityMassFunctionAction_0 extends ActionToken  {
-
-	public ProbabilityMassFunction_ProbabilityMassFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ProbabilityMassFunction"
-protected class ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")?
-protected class ProbabilityMassFunction_Group_3 extends GroupToken {
-	
-	public ProbabilityMassFunction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "sample"
-protected class ProbabilityMassFunction_SampleKeyword_3_0 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=Sample
-protected class ProbabilityMassFunction_SampleAssignment_3_2 extends AssignmentToken  {
-	
-	public ProbabilityMassFunction_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," sample+=Sample)*
-protected class ProbabilityMassFunction_Group_3_3 extends GroupToken {
-	
-	public ProbabilityMassFunction_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ProbabilityMassFunction_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=Sample
-protected class ProbabilityMassFunction_SampleAssignment_3_3_1 extends AssignmentToken  {
-	
-	public ProbabilityMassFunction_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ProbabilityMassFunction_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ProbabilityMassFunction_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProbabilityMassFunction ****************/
-
-
-/************ begin Rule ProbabilityDensityFunction_Impl ****************
- *
- * ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction:
- * 	{functions::ProbabilityDensityFunction} "ProbabilityDensityFunction";
- *
- **/
-
-// {functions::ProbabilityDensityFunction} "ProbabilityDensityFunction"
-protected class ProbabilityDensityFunction_Impl_Group extends GroupToken {
-	
-	public ProbabilityDensityFunction_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityDensityFunction_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {functions::ProbabilityDensityFunction}
-protected class ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0 extends ActionToken  {
-
-	public ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ProbabilityDensityFunction"
-protected class ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1 extends KeywordToken  {
-	
-	public ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProbabilityDensityFunction_Impl ****************/
-
-
-/************ begin Rule BoxedPDF ****************
- *
- * BoxedPDF returns functions::BoxedPDF:
- * 	{functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
- *
- **/
-
-// {functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"
-protected class BoxedPDF_Group extends GroupToken {
-	
-	public BoxedPDF_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {functions::BoxedPDF}
-protected class BoxedPDF_BoxedPDFAction_0 extends ActionToken  {
-
-	public BoxedPDF_BoxedPDFAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "BoxedPDF"
-protected class BoxedPDF_BoxedPDFKeyword_1 extends KeywordToken  {
-	
-	public BoxedPDF_BoxedPDFKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_BoxedPDFAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BoxedPDF_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public BoxedPDF_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_BoxedPDFKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")?
-protected class BoxedPDF_Group_3 extends GroupToken {
-	
-	public BoxedPDF_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "sample"
-protected class BoxedPDF_SampleKeyword_3_0 extends KeywordToken  {
-	
-	public BoxedPDF_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BoxedPDF_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
-	
-	public BoxedPDF_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=ContinuousSample
-protected class BoxedPDF_SampleAssignment_3_2 extends AssignmentToken  {
-	
-	public BoxedPDF_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BoxedPDF_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," sample+=ContinuousSample)*
-protected class BoxedPDF_Group_3_3 extends GroupToken {
-	
-	public BoxedPDF_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BoxedPDF_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public BoxedPDF_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=ContinuousSample
-protected class BoxedPDF_SampleAssignment_3_3_1 extends AssignmentToken  {
-	
-	public BoxedPDF_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BoxedPDF_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BoxedPDF_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
-	
-	public BoxedPDF_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class BoxedPDF_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public BoxedPDF_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BoxedPDF ****************/
-
-
-/************ begin Rule ContinuousPDF_Impl ****************
- *
- * ContinuousPDF_Impl returns functions::ContinuousPDF:
- * 	{functions::ContinuousPDF} "ContinuousPDF";
- *
- **/
-
-// {functions::ContinuousPDF} "ContinuousPDF"
-protected class ContinuousPDF_Impl_Group extends GroupToken {
-	
-	public ContinuousPDF_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getContinuousPDF_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousPDF_Impl_ContinuousPDFKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {functions::ContinuousPDF}
-protected class ContinuousPDF_Impl_ContinuousPDFAction_0 extends ActionToken  {
-
-	public ContinuousPDF_Impl_ContinuousPDFAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ContinuousPDF"
-protected class ContinuousPDF_Impl_ContinuousPDFKeyword_1 extends KeywordToken  {
-	
-	public ContinuousPDF_Impl_ContinuousPDFKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousPDF_Impl_ContinuousPDFAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ContinuousPDF_Impl ****************/
-
-
-/************ begin Rule NormalDistribution ****************
- *
- * NormalDistribution returns functions::NormalDistribution:
- * 	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
- *
- **/
-
-// "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"
-protected class NormalDistribution_Group extends GroupToken {
-	
-	public NormalDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "NormalDistribution"
-protected class NormalDistribution_NormalDistributionKeyword_0 extends KeywordToken  {
-	
-	public NormalDistribution_NormalDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class NormalDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public NormalDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_NormalDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "mu"
-protected class NormalDistribution_MuKeyword_2 extends KeywordToken  {
-	
-	public NormalDistribution_MuKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getMuKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// mu=EBigDecimal
-protected class NormalDistribution_MuAssignment_3 extends AssignmentToken  {
-	
-	public NormalDistribution_MuAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getMuAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_MuKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("mu",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("mu");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "sigma"
-protected class NormalDistribution_SigmaKeyword_4 extends KeywordToken  {
-	
-	public NormalDistribution_SigmaKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_MuAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sigma=EBigDecimal
-protected class NormalDistribution_SigmaAssignment_5 extends AssignmentToken  {
-	
-	public NormalDistribution_SigmaAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_SigmaKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sigma",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sigma");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class NormalDistribution_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public NormalDistribution_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_SigmaAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule NormalDistribution ****************/
-
-
-/************ begin Rule ExponentialDistribution ****************
- *
- * ExponentialDistribution returns functions::ExponentialDistribution:
- * 	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
- *
- **/
-
-// "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"
-protected class ExponentialDistribution_Group extends GroupToken {
-	
-	public ExponentialDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExponentialDistribution"
-protected class ExponentialDistribution_ExponentialDistributionKeyword_0 extends KeywordToken  {
-	
-	public ExponentialDistribution_ExponentialDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ExponentialDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ExponentialDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_ExponentialDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "rate"
-protected class ExponentialDistribution_RateKeyword_2 extends KeywordToken  {
-	
-	public ExponentialDistribution_RateKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRateKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// rate=EBigDecimal
-protected class ExponentialDistribution_RateAssignment_3 extends AssignmentToken  {
-	
-	public ExponentialDistribution_RateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRateAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RateKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("rate",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rate");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ExponentialDistribution_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ExponentialDistribution_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RateAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExponentialDistribution ****************/
-
-
-/************ begin Rule Sample ****************
- *
- * Sample returns functions::Sample:
- * 	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
- *
- **/
-
-// "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"
-protected class Sample_Group extends GroupToken {
-	
-	public Sample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSampleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSampleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Sample"
-protected class Sample_SampleKeyword_0 extends KeywordToken  {
-	
-	public Sample_SampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getSampleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class Sample_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public Sample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_SampleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "probability"
-protected class Sample_ProbabilityKeyword_2 extends KeywordToken  {
-	
-	public Sample_ProbabilityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getProbabilityKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probability=EBigDecimal
-protected class Sample_ProbabilityAssignment_3 extends AssignmentToken  {
-	
-	public Sample_ProbabilityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSampleAccess().getProbabilityAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ProbabilityKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "value"
-protected class Sample_ValueKeyword_4 extends KeywordToken  {
-	
-	public Sample_ValueKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getValueKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ProbabilityAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=[ecore::EObject|EString]
-protected class Sample_ValueAssignment_5 extends AssignmentToken  {
-	
-	public Sample_ValueAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSampleAccess().getValueAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ValueKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Sample_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public Sample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ValueAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Sample ****************/
-
-
-/************ begin Rule EObject ****************
- *
- * EObject returns ecore::EObject:
- * 	{ecore::EObject} "EObject";
- *
- **/
-
-// {ecore::EObject} "EObject"
-protected class EObject_Group extends GroupToken {
-	
-	public EObject_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new EObject_EObjectKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getEObjectAccess().getEObjectAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {ecore::EObject}
-protected class EObject_EObjectAction_0 extends ActionToken  {
-
-	public EObject_EObjectAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getEObjectAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "EObject"
-protected class EObject_EObjectKeyword_1 extends KeywordToken  {
-	
-	public EObject_EObjectKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getEObjectKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new EObject_EObjectAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule EObject ****************/
-
-
-
-/************ begin Rule ContinuousSample ****************
- *
- * ContinuousSample returns functions::ContinuousSample:
- * 	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
- *
- **/
-
-// "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"
-protected class ContinuousSample_Group extends GroupToken {
-	
-	public ContinuousSample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getContinuousSampleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ContinuousSample"
-protected class ContinuousSample_ContinuousSampleKeyword_0 extends KeywordToken  {
-	
-	public ContinuousSample_ContinuousSampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ContinuousSample_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ContinuousSample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ContinuousSampleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "value"
-protected class ContinuousSample_ValueKeyword_2 extends KeywordToken  {
-	
-	public ContinuousSample_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getValueKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=EBigDecimal
-protected class ContinuousSample_ValueAssignment_3 extends AssignmentToken  {
-	
-	public ContinuousSample_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getValueAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ValueKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "probability"
-protected class ContinuousSample_ProbabilityKeyword_4 extends KeywordToken  {
-	
-	public ContinuousSample_ProbabilityKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probability=EBigDecimal
-protected class ContinuousSample_ProbabilityAssignment_5 extends AssignmentToken  {
-	
-	public ContinuousSample_ProbabilityAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ProbabilityKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ContinuousSample_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ContinuousSample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ProbabilityAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ContinuousSample ****************/
-
-
-/************ begin Rule LoopIterationCountDistribution ****************
- *
- * LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution:
- * 	"LoopIterationCountDistribution" "{" "loopIterationCountDistribution"
- * 	loopIterationCountDistribution=[functions::RandomVariable|EString] "}";
- *
- **/
-
-// "LoopIterationCountDistribution" "{" "loopIterationCountDistribution"
-// loopIterationCountDistribution=[functions::RandomVariable|EString] "}"
-protected class LoopIterationCountDistribution_Group extends GroupToken {
-	
-	public LoopIterationCountDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLoopIterationCountDistributionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "LoopIterationCountDistribution"
-protected class LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0 extends KeywordToken  {
-	
-	public LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class LoopIterationCountDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public LoopIterationCountDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "loopIterationCountDistribution"
-protected class LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2 extends KeywordToken  {
-	
-	public LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// loopIterationCountDistribution=[functions::RandomVariable|EString]
-protected class LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3 extends AssignmentToken  {
-	
-	public LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("loopIterationCountDistribution",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopIterationCountDistribution");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class LoopIterationCountDistribution_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public LoopIterationCountDistribution_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule LoopIterationCountDistribution ****************/
-
-
-/************ begin Rule AssemblyContext ****************
- *
- * AssemblyContext returns repository::AssemblyContext:
- * 	"AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent"
- * 	encapsulatedComponent=[repository::RepositoryComponent|EString] "}";
- *
- **/
-
-// "AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent"
-// encapsulatedComponent=[repository::RepositoryComponent|EString] "}"
-protected class AssemblyContext_Group extends GroupToken {
-	
-	public AssemblyContext_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAssemblyContextRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "AssemblyContext"
-protected class AssemblyContext_AssemblyContextKeyword_0 extends KeywordToken  {
-	
-	public AssemblyContext_AssemblyContextKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class AssemblyContext_IdAssignment_1 extends AssignmentToken  {
-	
-	public AssemblyContext_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_AssemblyContextKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class AssemblyContext_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public AssemblyContext_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class AssemblyContext_NameKeyword_3 extends KeywordToken  {
-	
-	public AssemblyContext_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class AssemblyContext_NameAssignment_4 extends AssignmentToken  {
-	
-	public AssemblyContext_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "encapsulatedComponent"
-protected class AssemblyContext_EncapsulatedComponentKeyword_5 extends KeywordToken  {
-	
-	public AssemblyContext_EncapsulatedComponentKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// encapsulatedComponent=[repository::RepositoryComponent|EString]
-protected class AssemblyContext_EncapsulatedComponentAssignment_6 extends AssignmentToken  {
-	
-	public AssemblyContext_EncapsulatedComponentAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_EncapsulatedComponentKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("encapsulatedComponent",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("encapsulatedComponent");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class AssemblyContext_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public AssemblyContext_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyContext_EncapsulatedComponentAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AssemblyContext ****************/
-
-
-/************ begin Rule AssemblyConnector ****************
- *
- * AssemblyConnector returns repository::AssemblyConnector:
- * 	"AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString]
- * 	"providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext"
- * 	providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext"
- * 	requiringAssemblyContext=[repository::AssemblyContext|EString] "}";
- *
- **/
-
-// "AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString]
-// "providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext"
-// providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext"
-// requiringAssemblyContext=[repository::AssemblyContext|EString] "}"
-protected class AssemblyConnector_Group extends GroupToken {
-	
-	public AssemblyConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAssemblyConnectorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "AssemblyConnector"
-protected class AssemblyConnector_AssemblyConnectorKeyword_0 extends KeywordToken  {
-	
-	public AssemblyConnector_AssemblyConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class AssemblyConnector_IdAssignment_1 extends AssignmentToken  {
-	
-	public AssemblyConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_AssemblyConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class AssemblyConnector_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public AssemblyConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class AssemblyConnector_NameKeyword_3 extends KeywordToken  {
-	
-	public AssemblyConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class AssemblyConnector_NameAssignment_4 extends AssignmentToken  {
-	
-	public AssemblyConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "requiredRole"
-protected class AssemblyConnector_RequiredRoleKeyword_5 extends KeywordToken  {
-	
-	public AssemblyConnector_RequiredRoleKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRole=[repository::RequiredRole|EString]
-protected class AssemblyConnector_RequiredRoleAssignment_6 extends AssignmentToken  {
-	
-	public AssemblyConnector_RequiredRoleAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getRequiredRoleAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_RequiredRoleKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "providedRole"
-protected class AssemblyConnector_ProvidedRoleKeyword_7 extends KeywordToken  {
-	
-	public AssemblyConnector_ProvidedRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_RequiredRoleAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providedRole=[repository::ProvidedRole|EString]
-protected class AssemblyConnector_ProvidedRoleAssignment_8 extends AssignmentToken  {
-	
-	public AssemblyConnector_ProvidedRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getProvidedRoleAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_ProvidedRoleKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providedRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "providingAssemblyContext"
-protected class AssemblyConnector_ProvidingAssemblyContextKeyword_9 extends KeywordToken  {
-	
-	public AssemblyConnector_ProvidingAssemblyContextKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_ProvidedRoleAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// providingAssemblyContext=[repository::AssemblyContext|EString]
-protected class AssemblyConnector_ProvidingAssemblyContextAssignment_10 extends AssignmentToken  {
-	
-	public AssemblyConnector_ProvidingAssemblyContextAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_ProvidingAssemblyContextKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("providingAssemblyContext",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providingAssemblyContext");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "requiringAssemblyContext"
-protected class AssemblyConnector_RequiringAssemblyContextKeyword_11 extends KeywordToken  {
-	
-	public AssemblyConnector_RequiringAssemblyContextKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_ProvidingAssemblyContextAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiringAssemblyContext=[repository::AssemblyContext|EString]
-protected class AssemblyConnector_RequiringAssemblyContextAssignment_12 extends AssignmentToken  {
-	
-	public AssemblyConnector_RequiringAssemblyContextAssignment_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssignment_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_RequiringAssemblyContextKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiringAssemblyContext",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiringAssemblyContext");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class AssemblyConnector_RightCurlyBracketKeyword_13 extends KeywordToken  {
-	
-	public AssemblyConnector_RightCurlyBracketKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AssemblyConnector_RequiringAssemblyContextAssignment_12(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AssemblyConnector ****************/
-
-
-/************ begin Rule ProvidedDelegationConnector ****************
- *
- * ProvidedDelegationConnector returns repository::ProvidedDelegationConnector:
- * 	"ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
- * 	assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole"
- * 	innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole"
- * 	outerProvidedRole=[repository::ProvidedRole|EString] "}";
- *
- **/
-
-// "ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-// assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole"
-// innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole"
-// outerProvidedRole=[repository::ProvidedRole|EString] "}"
-protected class ProvidedDelegationConnector_Group extends GroupToken {
-	
-	public ProvidedDelegationConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ProvidedDelegationConnector"
-protected class ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ProvidedDelegationConnector_IdAssignment_1 extends AssignmentToken  {
-	
-	public ProvidedDelegationConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ProvidedDelegationConnector_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class ProvidedDelegationConnector_NameKeyword_3 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class ProvidedDelegationConnector_NameAssignment_4 extends AssignmentToken  {
-	
-	public ProvidedDelegationConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "assemblyContext"
-protected class ProvidedDelegationConnector_AssemblyContextKeyword_5 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_AssemblyContextKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContext=[repository::AssemblyContext|EString]
-protected class ProvidedDelegationConnector_AssemblyContextAssignment_6 extends AssignmentToken  {
-	
-	public ProvidedDelegationConnector_AssemblyContextAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_AssemblyContextKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContext",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContext");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "innerProvidedRole"
-protected class ProvidedDelegationConnector_InnerProvidedRoleKeyword_7 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_InnerProvidedRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_AssemblyContextAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerProvidedRole=[repository::ProvidedRole|EString]
-protected class ProvidedDelegationConnector_InnerProvidedRoleAssignment_8 extends AssignmentToken  {
-	
-	public ProvidedDelegationConnector_InnerProvidedRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_InnerProvidedRoleKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerProvidedRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerProvidedRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "outerProvidedRole"
-protected class ProvidedDelegationConnector_OuterProvidedRoleKeyword_9 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_OuterProvidedRoleKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_InnerProvidedRoleAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// outerProvidedRole=[repository::ProvidedRole|EString]
-protected class ProvidedDelegationConnector_OuterProvidedRoleAssignment_10 extends AssignmentToken  {
-	
-	public ProvidedDelegationConnector_OuterProvidedRoleAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_OuterProvidedRoleKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("outerProvidedRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outerProvidedRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ProvidedDelegationConnector_RightCurlyBracketKeyword_11 extends KeywordToken  {
-	
-	public ProvidedDelegationConnector_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedDelegationConnector_OuterProvidedRoleAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProvidedDelegationConnector ****************/
-
-
-/************ begin Rule RequiredDelegationConnector ****************
- *
- * RequiredDelegationConnector returns repository::RequiredDelegationConnector:
- * 	"RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
- * 	assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole"
- * 	innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole"
- * 	outerRequiredRole=[repository::RequiredRole|EString] "}";
- *
- **/
-
-// "RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-// assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole"
-// innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole"
-// outerRequiredRole=[repository::RequiredRole|EString] "}"
-protected class RequiredDelegationConnector_Group extends GroupToken {
-	
-	public RequiredDelegationConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "RequiredDelegationConnector"
-protected class RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class RequiredDelegationConnector_IdAssignment_1 extends AssignmentToken  {
-	
-	public RequiredDelegationConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class RequiredDelegationConnector_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class RequiredDelegationConnector_NameKeyword_3 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class RequiredDelegationConnector_NameAssignment_4 extends AssignmentToken  {
-	
-	public RequiredDelegationConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "assemblyContext"
-protected class RequiredDelegationConnector_AssemblyContextKeyword_5 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_AssemblyContextKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblyContext=[repository::AssemblyContext|EString]
-protected class RequiredDelegationConnector_AssemblyContextAssignment_6 extends AssignmentToken  {
-	
-	public RequiredDelegationConnector_AssemblyContextAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_AssemblyContextKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblyContext",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContext");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "innerRequiredRole"
-protected class RequiredDelegationConnector_InnerRequiredRoleKeyword_7 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_InnerRequiredRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_AssemblyContextAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerRequiredRole=[repository::RequiredRole|EString]
-protected class RequiredDelegationConnector_InnerRequiredRoleAssignment_8 extends AssignmentToken  {
-	
-	public RequiredDelegationConnector_InnerRequiredRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_InnerRequiredRoleKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerRequiredRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerRequiredRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "outerRequiredRole"
-protected class RequiredDelegationConnector_OuterRequiredRoleKeyword_9 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_OuterRequiredRoleKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_InnerRequiredRoleAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// outerRequiredRole=[repository::RequiredRole|EString]
-protected class RequiredDelegationConnector_OuterRequiredRoleAssignment_10 extends AssignmentToken  {
-	
-	public RequiredDelegationConnector_OuterRequiredRoleAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_OuterRequiredRoleKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("outerRequiredRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outerRequiredRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class RequiredDelegationConnector_RightCurlyBracketKeyword_11 extends KeywordToken  {
-	
-	public RequiredDelegationConnector_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredDelegationConnector_OuterRequiredRoleAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule RequiredDelegationConnector ****************/
-
-
-/************ begin Rule ExternalCall_Impl ****************
- *
- * ExternalCall_Impl returns servicebehavior::ExternalCall:
- * 	"ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole"
- * 	requiredRole=[repository::RequiredRole|EString] "}";
- *
- **/
-
-// "ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole"
-// requiredRole=[repository::RequiredRole|EString] "}"
-protected class ExternalCall_Impl_Group extends GroupToken {
-	
-	public ExternalCall_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExternalCall"
-protected class ExternalCall_Impl_ExternalCallKeyword_0 extends KeywordToken  {
-	
-	public ExternalCall_Impl_ExternalCallKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ExternalCall_Impl_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ExternalCall_Impl_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_ExternalCallKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "signature"
-protected class ExternalCall_Impl_SignatureKeyword_2 extends KeywordToken  {
-	
-	public ExternalCall_Impl_SignatureKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// signature=[repository::Signature|EString]
-protected class ExternalCall_Impl_SignatureAssignment_3 extends AssignmentToken  {
-	
-	public ExternalCall_Impl_SignatureAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getSignatureAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_SignatureKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "requiredRole"
-protected class ExternalCall_Impl_RequiredRoleKeyword_4 extends KeywordToken  {
-	
-	public ExternalCall_Impl_RequiredRoleKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_SignatureAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// requiredRole=[repository::RequiredRole|EString]
-protected class ExternalCall_Impl_RequiredRoleAssignment_5 extends AssignmentToken  {
-	
-	public ExternalCall_Impl_RequiredRoleAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getRequiredRoleAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_RequiredRoleKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ExternalCall_Impl_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ExternalCall_Impl_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Impl_RequiredRoleAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExternalCall_Impl ****************/
-
-
-/************ begin Rule ExternalCallFrequency ****************
- *
- * ExternalCallFrequency returns servicebehavior::ExternalCallFrequency:
- * 	"ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}";
- *
- **/
-
-// "ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}"
-protected class ExternalCallFrequency_Group extends GroupToken {
-	
-	public ExternalCallFrequency_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExternalCallFrequencyRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExternalCallFrequency"
-protected class ExternalCallFrequency_ExternalCallFrequencyKeyword_0 extends KeywordToken  {
-	
-	public ExternalCallFrequency_ExternalCallFrequencyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ExternalCallFrequency_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ExternalCallFrequency_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_ExternalCallFrequencyKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "externalCall"
-protected class ExternalCallFrequency_ExternalCallKeyword_2 extends KeywordToken  {
-	
-	public ExternalCallFrequency_ExternalCallKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// externalCall=ExternalCall
-protected class ExternalCallFrequency_ExternalCallAssignment_3 extends AssignmentToken  {
-	
-	public ExternalCallFrequency_ExternalCallAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getExternalCallAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCall_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("externalCall",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCall");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getExternalCallRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallFrequency_ExternalCallKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "frequency"
-protected class ExternalCallFrequency_FrequencyKeyword_4 extends KeywordToken  {
-	
-	public ExternalCallFrequency_FrequencyKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_ExternalCallAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// frequency=CallFrequency
-protected class ExternalCallFrequency_FrequencyAssignment_5 extends AssignmentToken  {
-	
-	public ExternalCallFrequency_FrequencyAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getFrequencyAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("frequency",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("frequency");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCallFrequencyRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ExternalCallFrequency_FrequencyKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class ExternalCallFrequency_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ExternalCallFrequency_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExternalCallFrequency_FrequencyAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExternalCallFrequency ****************/
-
-
-/************ begin Rule CallFrequency ****************
- *
- * CallFrequency returns servicebehavior::CallFrequency:
- * 	"CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}";
- *
- **/
-
-// "CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}"
-protected class CallFrequency_Group extends GroupToken {
-	
-	public CallFrequency_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCallFrequencyRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CallFrequency"
-protected class CallFrequency_CallFrequencyKeyword_0 extends KeywordToken  {
-	
-	public CallFrequency_CallFrequencyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class CallFrequency_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public CallFrequency_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_CallFrequencyKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "frequency"
-protected class CallFrequency_FrequencyKeyword_2 extends KeywordToken  {
-	
-	public CallFrequency_FrequencyKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// frequency=[functions::RandomVariable|EString]
-protected class CallFrequency_FrequencyAssignment_3 extends AssignmentToken  {
-	
-	public CallFrequency_FrequencyAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getFrequencyAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_FrequencyKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("frequency",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("frequency");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class CallFrequency_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public CallFrequency_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CallFrequency_FrequencyAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CallFrequency ****************/
-
-
-/************ begin Rule DependencyRelationship ****************
- *
- * DependencyRelationship:
- * 	"DependencyRelationship" "{" "surroundingEntity"
- * 	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable"
- * 	influencedVariable=[InfluencedVariable|EString] "influencingParameter"
- * 	influencingParameter=[InfluencingParameter|EString] "}";
- *
- **/
-
-// "DependencyRelationship" "{" "surroundingEntity"
-// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable"
-// influencedVariable=[InfluencedVariable|EString] "influencingParameter"
-// influencingParameter=[InfluencingParameter|EString] "}"
-protected class DependencyRelationship_Group extends GroupToken {
-	
-	public DependencyRelationship_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "DependencyRelationship"
-protected class DependencyRelationship_DependencyRelationshipKeyword_0 extends KeywordToken  {
-	
-	public DependencyRelationship_DependencyRelationshipKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class DependencyRelationship_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public DependencyRelationship_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_DependencyRelationshipKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "surroundingEntity"
-protected class DependencyRelationship_SurroundingEntityKeyword_2 extends KeywordToken  {
-	
-	public DependencyRelationship_SurroundingEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-protected class DependencyRelationship_SurroundingEntityAssignment_3 extends AssignmentToken  {
-	
-	public DependencyRelationship_SurroundingEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_SurroundingEntityKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("surroundingEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("surroundingEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "influencedVariable"
-protected class DependencyRelationship_InfluencedVariableKeyword_4 extends KeywordToken  {
-	
-	public DependencyRelationship_InfluencedVariableKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_SurroundingEntityAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencedVariable=[InfluencedVariable|EString]
-protected class DependencyRelationship_InfluencedVariableAssignment_5 extends AssignmentToken  {
-	
-	public DependencyRelationship_InfluencedVariableAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_InfluencedVariableKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencedVariable",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencedVariable");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "influencingParameter"
-protected class DependencyRelationship_InfluencingParameterKeyword_6 extends KeywordToken  {
-	
-	public DependencyRelationship_InfluencingParameterKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_InfluencedVariableAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// influencingParameter=[InfluencingParameter|EString]
-protected class DependencyRelationship_InfluencingParameterAssignment_7 extends AssignmentToken  {
-	
-	public DependencyRelationship_InfluencingParameterAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_InfluencingParameterKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class DependencyRelationship_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public DependencyRelationship_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DependencyRelationship_InfluencingParameterAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule DependencyRelationship ****************/
-
-
-/************ begin Rule CorrelationRelationship ****************
- *
- * CorrelationRelationship:
- * 	"CorrelationRelationship" "{" "surroundingEntity"
- * 	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter"
- * 	leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter"
- * 	rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference"
- * 	leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference"
- * 	rightComponentInstanceReference=ComponentInstanceReference "}";
- *
- **/
-
-// "CorrelationRelationship" "{" "surroundingEntity"
-// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter"
-// leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter"
-// rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference"
-// leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference"
-// rightComponentInstanceReference=ComponentInstanceReference "}"
-protected class CorrelationRelationship_Group extends GroupToken {
-	
-	public CorrelationRelationship_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CorrelationRelationship"
-protected class CorrelationRelationship_CorrelationRelationshipKeyword_0 extends KeywordToken  {
-	
-	public CorrelationRelationship_CorrelationRelationshipKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class CorrelationRelationship_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public CorrelationRelationship_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_CorrelationRelationshipKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "surroundingEntity"
-protected class CorrelationRelationship_SurroundingEntityKeyword_2 extends KeywordToken  {
-	
-	public CorrelationRelationship_SurroundingEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-protected class CorrelationRelationship_SurroundingEntityAssignment_3 extends AssignmentToken  {
-	
-	public CorrelationRelationship_SurroundingEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_SurroundingEntityKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("surroundingEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("surroundingEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "leftInfluencingParameter"
-protected class CorrelationRelationship_LeftInfluencingParameterKeyword_4 extends KeywordToken  {
-	
-	public CorrelationRelationship_LeftInfluencingParameterKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_SurroundingEntityAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// leftInfluencingParameter=[InfluencingParameter|EString]
-protected class CorrelationRelationship_LeftInfluencingParameterAssignment_5 extends AssignmentToken  {
-	
-	public CorrelationRelationship_LeftInfluencingParameterAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_LeftInfluencingParameterKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("leftInfluencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("leftInfluencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "rightInfluencingParameter"
-protected class CorrelationRelationship_RightInfluencingParameterKeyword_6 extends KeywordToken  {
-	
-	public CorrelationRelationship_RightInfluencingParameterKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_LeftInfluencingParameterAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// rightInfluencingParameter=[InfluencingParameter|EString]
-protected class CorrelationRelationship_RightInfluencingParameterAssignment_7 extends AssignmentToken  {
-	
-	public CorrelationRelationship_RightInfluencingParameterAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_RightInfluencingParameterKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("rightInfluencingParameter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightInfluencingParameter");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "leftComponentInstanceReference"
-protected class CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8 extends KeywordToken  {
-	
-	public CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_RightInfluencingParameterAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// leftComponentInstanceReference=ComponentInstanceReference
-protected class CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9 extends AssignmentToken  {
-	
-	public CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceAssignment_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("leftComponentInstanceReference",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("leftComponentInstanceReference");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "rightComponentInstanceReference"
-protected class CorrelationRelationship_RightComponentInstanceReferenceKeyword_10 extends KeywordToken  {
-	
-	public CorrelationRelationship_RightComponentInstanceReferenceKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// rightComponentInstanceReference=ComponentInstanceReference
-protected class CorrelationRelationship_RightComponentInstanceReferenceAssignment_11 extends AssignmentToken  {
-	
-	public CorrelationRelationship_RightComponentInstanceReferenceAssignment_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceAssignment_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("rightComponentInstanceReference",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightComponentInstanceReference");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new CorrelationRelationship_RightComponentInstanceReferenceKeyword_10(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class CorrelationRelationship_RightCurlyBracketKeyword_12 extends KeywordToken  {
-	
-	public CorrelationRelationship_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CorrelationRelationship_RightComponentInstanceReferenceAssignment_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CorrelationRelationship ****************/
-
-
-/************ begin Rule InfluencedVariable ****************
- *
- * InfluencedVariable:
- * 	{InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable"
- * 	controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand"
- * 	resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime"
- * 	responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}";
- *
- **/
-
-// {InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable"
-// controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand"
-// resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime"
-// responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}"
-protected class InfluencedVariable_Group extends GroupToken {
-	
-	public InfluencedVariable_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getInfluencedVariableAccess().getInfluencedVariableAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {InfluencedVariable}
-protected class InfluencedVariable_InfluencedVariableAction_0 extends ActionToken  {
-
-	public InfluencedVariable_InfluencedVariableAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getInfluencedVariableAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "InfluencedVariable"
-protected class InfluencedVariable_InfluencedVariableKeyword_1 extends KeywordToken  {
-	
-	public InfluencedVariable_InfluencedVariableKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getInfluencedVariableKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_InfluencedVariableAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class InfluencedVariable_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public InfluencedVariable_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_InfluencedVariableKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("controlFlowVariable" controlFlowVariable=[ControlFlowSpecification|EString])?
-protected class InfluencedVariable_Group_3 extends GroupToken {
-	
-	public InfluencedVariable_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ControlFlowVariableAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "controlFlowVariable"
-protected class InfluencedVariable_ControlFlowVariableKeyword_3_0 extends KeywordToken  {
-	
-	public InfluencedVariable_ControlFlowVariableKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getControlFlowVariableKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// controlFlowVariable=[ControlFlowSpecification|EString]
-protected class InfluencedVariable_ControlFlowVariableAssignment_3_1 extends AssignmentToken  {
-	
-	public InfluencedVariable_ControlFlowVariableAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getControlFlowVariableAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ControlFlowVariableKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("controlFlowVariable",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("controlFlowVariable");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInfluencedVariableAccess().getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("resourceDemand" resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])?
-protected class InfluencedVariable_Group_4 extends GroupToken {
-	
-	public InfluencedVariable_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ResourceDemandAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "resourceDemand"
-protected class InfluencedVariable_ResourceDemandKeyword_4_0 extends KeywordToken  {
-	
-	public InfluencedVariable_ResourceDemandKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getResourceDemandKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// resourceDemand=[servicebehavior::ResourceDemandSpecification|EString]
-protected class InfluencedVariable_ResourceDemandAssignment_4_1 extends AssignmentToken  {
-	
-	public InfluencedVariable_ResourceDemandAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getResourceDemandAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ResourceDemandKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("resourceDemand",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemand");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getResourceDemandResourceDemandSpecificationCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInfluencedVariableAccess().getResourceDemandResourceDemandSpecificationCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("responseTime" responseTime=[servicebehavior::ResponseTimeSpecification|EString])?
-protected class InfluencedVariable_Group_5 extends GroupToken {
-	
-	public InfluencedVariable_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ResponseTimeAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "responseTime"
-protected class InfluencedVariable_ResponseTimeKeyword_5_0 extends KeywordToken  {
-	
-	public InfluencedVariable_ResponseTimeKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getResponseTimeKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// responseTime=[servicebehavior::ResponseTimeSpecification|EString]
-protected class InfluencedVariable_ResponseTimeAssignment_5_1 extends AssignmentToken  {
-	
-	public InfluencedVariable_ResponseTimeAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getResponseTimeAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_ResponseTimeKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("responseTime",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("responseTime");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getResponseTimeResponseTimeSpecificationCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getInfluencedVariableAccess().getResponseTimeResponseTimeSpecificationCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class InfluencedVariable_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public InfluencedVariable_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInfluencedVariableAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new InfluencedVariable_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new InfluencedVariable_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule InfluencedVariable ****************/
-
-
-/************ begin Rule ComponentInstanceReference ****************
- *
- * ComponentInstanceReference:
- * 	{ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "("
- * 	assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}";
- *
- **/
-
-// {ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "("
-// assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}"
-protected class ComponentInstanceReference_Group extends GroupToken {
-	
-	public ComponentInstanceReference_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {ComponentInstanceReference}
-protected class ComponentInstanceReference_ComponentInstanceReferenceAction_0 extends ActionToken  {
-
-	public ComponentInstanceReference_ComponentInstanceReferenceAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ComponentInstanceReference"
-protected class ComponentInstanceReference_ComponentInstanceReferenceKeyword_1 extends KeywordToken  {
-	
-	public ComponentInstanceReference_ComponentInstanceReferenceKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_ComponentInstanceReferenceAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ComponentInstanceReference_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ComponentInstanceReference_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_ComponentInstanceReferenceKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("assemblies" "(" assemblies+=[repository::AssemblyContext|EString] (","
-// assemblies+=[repository::AssemblyContext|EString])* ")")?
-protected class ComponentInstanceReference_Group_3 extends GroupToken {
-	
-	public ComponentInstanceReference_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_RightParenthesisKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "assemblies"
-protected class ComponentInstanceReference_AssembliesKeyword_3_0 extends KeywordToken  {
-	
-	public ComponentInstanceReference_AssembliesKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class ComponentInstanceReference_LeftParenthesisKeyword_3_1 extends KeywordToken  {
-	
-	public ComponentInstanceReference_LeftParenthesisKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_AssembliesKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblies+=[repository::AssemblyContext|EString]
-protected class ComponentInstanceReference_AssembliesAssignment_3_2 extends AssignmentToken  {
-	
-	public ComponentInstanceReference_AssembliesAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_LeftParenthesisKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblies",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblies");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," assemblies+=[repository::AssemblyContext|EString])*
-protected class ComponentInstanceReference_Group_3_3 extends GroupToken {
-	
-	public ComponentInstanceReference_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_AssembliesAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ComponentInstanceReference_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public ComponentInstanceReference_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInstanceReference_AssembliesAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// assemblies+=[repository::AssemblyContext|EString]
-protected class ComponentInstanceReference_AssembliesAssignment_3_3_1 extends AssignmentToken  {
-	
-	public ComponentInstanceReference_AssembliesAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_CommaKeyword_3_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("assemblies",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblies");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class ComponentInstanceReference_RightParenthesisKeyword_3_4 extends KeywordToken  {
-	
-	public ComponentInstanceReference_RightParenthesisKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInstanceReference_AssembliesAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ComponentInstanceReference_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ComponentInstanceReference_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ComponentInstanceReference_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ComponentInstanceReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ComponentInstanceReference ****************/
-
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java
deleted file mode 100644
index e09abe83..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* generated by Xtext
-*/
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class RepositoryDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
-	
-	public InputStream getAntlrTokenFile() {
-		ClassLoader classLoader = getClass().getClassLoader();
-    	return classLoader.getResourceAsStream("edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens");
-	}
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java
deleted file mode 100644
index 6b246221..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-* generated by Xtext
-*/
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr;
-
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess;
-
-public class RepositoryDSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
-	
-	@Inject
-	private RepositoryDSLGrammarAccess grammarAccess;
-	
-	@Override
-	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
-		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-	}
-	
-	@Override
-	protected edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLParser createParser(XtextTokenStream stream) {
-		return new edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLParser(stream, getGrammarAccess());
-	}
-	
-	@Override 
-	protected String getDefaultRuleName() {
-		return "Repository";
-	}
-	
-	public RepositoryDSLGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(RepositoryDSLGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-	
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g
deleted file mode 100644
index 2b783ac6..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g
+++ /dev/null
@@ -1,8544 +0,0 @@
-/*
-* generated by Xtext
-*/
-grammar InternalRepositoryDSL;
-
-options {
-	superClass=AbstractInternalAntlrParser;
-	
-}
-
-@lexer::header {
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.parser.antlr.Lexer;
-}
-
-@parser::header {
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.common.util.Enumerator;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess;
-
-}
-
-@parser::members {
-
- 	private RepositoryDSLGrammarAccess grammarAccess;
- 	
-    public InternalRepositoryDSLParser(TokenStream input, RepositoryDSLGrammarAccess grammarAccess) {
-        this(input);
-        this.grammarAccess = grammarAccess;
-        registerRules(grammarAccess.getGrammar());
-    }
-    
-    @Override
-    protected String getFirstRuleName() {
-    	return "Repository";	
-   	}
-   	
-   	@Override
-   	protected RepositoryDSLGrammarAccess getGrammarAccess() {
-   		return grammarAccess;
-   	}
-}
-
-@rulecatch { 
-    catch (RecognitionException re) { 
-        recover(input,re); 
-        appendSkippedTokens();
-    } 
-}
-
-
-
-
-// Entry rule entryRuleRepository
-entryRuleRepository returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRepositoryRule()); }
-	 iv_ruleRepository=ruleRepository 
-	 { $current=$iv_ruleRepository.current; } 
-	 EOF 
-;
-
-// Rule Repository
-ruleRepository returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Repository' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='datatypes' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0());
-    }
-	otherlv_6='{' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0()); 
-	    }
-		lv_datatypes_7_0=ruleDataType		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"datatypes",
-        		lv_datatypes_7_0, 
-        		"DataType");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0()); 
-	    }
-		lv_datatypes_9_0=ruleDataType		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"datatypes",
-        		lv_datatypes_9_0, 
-        		"DataType");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?(	otherlv_11='interfaces' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
-	    }
-		lv_interfaces_13_0=ruleInterface		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"interfaces",
-        		lv_interfaces_13_0, 
-        		"Interface");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
-	    }
-		lv_interfaces_15_0=ruleInterface		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"interfaces",
-        		lv_interfaces_15_0, 
-        		"Interface");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_17='components' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0()); 
-	    }
-		lv_components_19_0=ruleRepositoryComponent		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"components",
-        		lv_components_19_0, 
-        		"RepositoryComponent");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0()); 
-	    }
-		lv_components_21_0=ruleRepositoryComponent		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
-	        }
-       		add(
-       			$current, 
-       			"components",
-        		lv_components_21_0, 
-        		"RepositoryComponent");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?	otherlv_23='}' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDataType
-entryRuleDataType returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getDataTypeRule()); }
-	 iv_ruleDataType=ruleDataType 
-	 { $current=$iv_ruleDataType.current; } 
-	 EOF 
-;
-
-// Rule DataType
-ruleDataType returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
-    }
-    this_CollectionDataType_0=ruleCollectionDataType
-    { 
-        $current = $this_CollectionDataType_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
-    }
-    this_CompositeDataType_1=ruleCompositeDataType
-    { 
-        $current = $this_CompositeDataType_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
-    }
-    this_PrimitiveDataType_2=rulePrimitiveDataType
-    { 
-        $current = $this_PrimitiveDataType_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleRepositoryComponent
-entryRuleRepositoryComponent returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRepositoryComponentRule()); }
-	 iv_ruleRepositoryComponent=ruleRepositoryComponent 
-	 { $current=$iv_ruleRepositoryComponent.current; } 
-	 EOF 
-;
-
-// Rule RepositoryComponent
-ruleRepositoryComponent returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
-    }
-    this_RepositoryComponent_Impl_0=ruleRepositoryComponent_Impl
-    { 
-        $current = $this_RepositoryComponent_Impl_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
-    }
-    this_BasicComponent_1=ruleBasicComponent
-    { 
-        $current = $this_BasicComponent_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
-    }
-    this_CompositeComponent_2=ruleCompositeComponent
-    { 
-        $current = $this_CompositeComponent_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
-    }
-    this_SubSystem_3=ruleSubSystem
-    { 
-        $current = $this_SubSystem_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleInfluencingParameter
-entryRuleInfluencingParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getInfluencingParameterRule()); }
-	 iv_ruleInfluencingParameter=ruleInfluencingParameter 
-	 { $current=$iv_ruleInfluencingParameter.current; } 
-	 EOF 
-;
-
-// Rule InfluencingParameter
-ruleInfluencingParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0()); 
-    }
-    this_InfluencingParameter_Impl_0=ruleInfluencingParameter_Impl
-    { 
-        $current = $this_InfluencingParameter_Impl_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1()); 
-    }
-    this_ServiceInputParameter_1=ruleServiceInputParameter
-    { 
-        $current = $this_ServiceInputParameter_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2()); 
-    }
-    this_ExternalCallReturnParameter_2=ruleExternalCallReturnParameter
-    { 
-        $current = $this_ExternalCallReturnParameter_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3()); 
-    }
-    this_ExternalCallParameter_3=ruleExternalCallParameter
-    { 
-        $current = $this_ExternalCallParameter_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-
-
-
-
-
-
-// Entry rule entryRuleExternalCall
-entryRuleExternalCall returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCallRule()); }
-	 iv_ruleExternalCall=ruleExternalCall 
-	 { $current=$iv_ruleExternalCall.current; } 
-	 EOF 
-;
-
-// Rule ExternalCall
-ruleExternalCall returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0()); 
-    }
-    this_ExternalCall_Impl_0=ruleExternalCall_Impl
-    { 
-        $current = $this_ExternalCall_Impl_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1()); 
-    }
-    this_ExternalCallAction_1=ruleExternalCallAction
-    { 
-        $current = $this_ExternalCallAction_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleAbstractAction
-entryRuleAbstractAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAbstractActionRule()); }
-	 iv_ruleAbstractAction=ruleAbstractAction 
-	 { $current=$iv_ruleAbstractAction.current; } 
-	 EOF 
-;
-
-// Rule AbstractAction
-ruleAbstractAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0()); 
-    }
-    this_AbstractAction_Impl_0=ruleAbstractAction_Impl
-    { 
-        $current = $this_AbstractAction_Impl_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1()); 
-    }
-    this_StartAction_1=ruleStartAction
-    { 
-        $current = $this_StartAction_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2()); 
-    }
-    this_StopAction_2=ruleStopAction
-    { 
-        $current = $this_StopAction_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3()); 
-    }
-    this_AcquireAction_3=ruleAcquireAction
-    { 
-        $current = $this_AcquireAction_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4()); 
-    }
-    this_ReleaseAction_4=ruleReleaseAction
-    { 
-        $current = $this_ReleaseAction_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5()); 
-    }
-    this_InternalAction_5=ruleInternalAction
-    { 
-        $current = $this_InternalAction_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6()); 
-    }
-    this_ForkAction_6=ruleForkAction
-    { 
-        $current = $this_ForkAction_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7()); 
-    }
-    this_BranchAction_7=ruleBranchAction
-    { 
-        $current = $this_BranchAction_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8()); 
-    }
-    this_LoopAction_8=ruleLoopAction
-    { 
-        $current = $this_LoopAction_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9()); 
-    }
-    this_ExternalCallAction_9=ruleExternalCallAction
-    { 
-        $current = $this_ExternalCallAction_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleComponentInternalBehavior
-entryRuleComponentInternalBehavior returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getComponentInternalBehaviorRule()); }
-	 iv_ruleComponentInternalBehavior=ruleComponentInternalBehavior 
-	 { $current=$iv_ruleComponentInternalBehavior.current; } 
-	 EOF 
-;
-
-// Rule ComponentInternalBehavior
-ruleComponentInternalBehavior returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0()); 
-    }
-    this_ComponentInternalBehavior_Impl_0=ruleComponentInternalBehavior_Impl
-    { 
-        $current = $this_ComponentInternalBehavior_Impl_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1()); 
-    }
-    this_FineGrainedBehavior_1=ruleFineGrainedBehavior
-    { 
-        $current = $this_FineGrainedBehavior_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-
-
-
-
-// Entry rule entryRuleEString
-entryRuleEString returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEStringRule()); } 
-	 iv_ruleEString=ruleEString 
-	 { $current=$iv_ruleEString.current.getText(); }  
-	 EOF 
-;
-
-// Rule EString
-ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(    this_STRING_0=RULE_STRING    {
-		$current.merge(this_STRING_0);
-    }
-
-    { 
-    newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-    }
-
-    |    this_ID_1=RULE_ID    {
-		$current.merge(this_ID_1);
-    }
-
-    { 
-    newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleInterface
-entryRuleInterface returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getInterfaceRule()); }
-	 iv_ruleInterface=ruleInterface 
-	 { $current=$iv_ruleInterface.current; } 
-	 EOF 
-;
-
-// Rule Interface
-ruleInterface returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Interface' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getInterfaceAccess().getInterfaceKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='parentInterfaces' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInterfaceRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInterfaceRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='signatures' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0()); 
-	    }
-		lv_signatures_13_0=ruleSignature		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
-	        }
-       		add(
-       			$current, 
-       			"signatures",
-        		lv_signatures_13_0, 
-        		"Signature");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0()); 
-	    }
-		lv_signatures_15_0=ruleSignature		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
-	        }
-       		add(
-       			$current, 
-       			"signatures",
-        		lv_signatures_15_0, 
-        		"Signature");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?	otherlv_17='}' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleRepositoryComponent_Impl
-entryRuleRepositoryComponent_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRepositoryComponent_ImplRule()); }
-	 iv_ruleRepositoryComponent_Impl=ruleRepositoryComponent_Impl 
-	 { $current=$iv_ruleRepositoryComponent_Impl.current; } 
-	 EOF 
-;
-
-// Rule RepositoryComponent_Impl
-ruleRepositoryComponent_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='RepositoryComponent' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='relationship' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='providedRoles' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-	    }
-		lv_providedRoles_13_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_13_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-	    }
-		lv_providedRoles_15_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_15_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_17='blackBoxBehavior' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-	    }
-		lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_19_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-	    }
-		lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_21_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?(	otherlv_23='requiredRoles' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0());
-    }
-	otherlv_24='{' 
-    {
-    	newLeafNode(otherlv_24, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-	    }
-		lv_requiredRoles_25_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_25_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_26=',' 
-    {
-    	newLeafNode(otherlv_26, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-	    }
-		lv_requiredRoles_27_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_27_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_28='}' 
-    {
-    	newLeafNode(otherlv_28, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4());
-    }
-)?(	otherlv_29='coarseGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_29, grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0());
-    }
-	otherlv_30='{' 
-    {
-    	newLeafNode(otherlv_30, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-	    }
-		lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_31_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_32=',' 
-    {
-    	newLeafNode(otherlv_32, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-	    }
-		lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_33_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_34='}' 
-    {
-    	newLeafNode(otherlv_34, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4());
-    }
-)?	otherlv_35='}' 
-    {
-    	newLeafNode(otherlv_35, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCollectionDataType
-entryRuleCollectionDataType returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCollectionDataTypeRule()); }
-	 iv_ruleCollectionDataType=ruleCollectionDataType 
-	 { $current=$iv_ruleCollectionDataType.current; } 
-	 EOF 
-;
-
-// Rule CollectionDataType
-ruleCollectionDataType returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CollectionDataType' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='innerType' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCollectionDataTypeRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCompositeDataType
-entryRuleCompositeDataType returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCompositeDataTypeRule()); }
-	 iv_ruleCompositeDataType=ruleCompositeDataType 
-	 { $current=$iv_ruleCompositeDataType.current; } 
-	 EOF 
-;
-
-// Rule CompositeDataType
-ruleCompositeDataType returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CompositeDataType' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='parentTypes' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCompositeDataTypeRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCompositeDataTypeRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='innerDeclarations' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0()); 
-	    }
-		lv_innerDeclarations_13_0=ruleInnerDeclaration		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-	        }
-       		add(
-       			$current, 
-       			"innerDeclarations",
-        		lv_innerDeclarations_13_0, 
-        		"InnerDeclaration");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0()); 
-	    }
-		lv_innerDeclarations_15_0=ruleInnerDeclaration		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-	        }
-       		add(
-       			$current, 
-       			"innerDeclarations",
-        		lv_innerDeclarations_15_0, 
-        		"InnerDeclaration");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?	otherlv_17='}' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRulePrimitiveDataType
-entryRulePrimitiveDataType returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPrimitiveDataTypeRule()); }
-	 iv_rulePrimitiveDataType=rulePrimitiveDataType 
-	 { $current=$iv_rulePrimitiveDataType.current; } 
-	 EOF 
-;
-
-// Rule PrimitiveDataType
-rulePrimitiveDataType returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='PrimitiveDataType' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='type' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); 
-	    }
-		lv_type_3_0=rulePrimitiveTypeEnum		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPrimitiveDataTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"type",
-        		lv_type_3_0, 
-        		"PrimitiveTypeEnum");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleInnerDeclaration
-entryRuleInnerDeclaration returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getInnerDeclarationRule()); }
-	 iv_ruleInnerDeclaration=ruleInnerDeclaration 
-	 { $current=$iv_ruleInnerDeclaration.current; } 
-	 EOF 
-;
-
-// Rule InnerDeclaration
-ruleInnerDeclaration returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='InnerDeclaration' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInnerDeclarationRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getInnerDeclarationAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInnerDeclarationRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='dataType' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInnerDeclarationRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleSignature
-entryRuleSignature returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getSignatureRule()); }
-	 iv_ruleSignature=ruleSignature 
-	 { $current=$iv_ruleSignature.current; } 
-	 EOF 
-;
-
-// Rule Signature
-ruleSignature returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Signature' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getSignatureAccess().getSignatureKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSignatureRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getSignatureAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSignatureRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='returnType' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getSignatureRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_7='parameters' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getSignatureAccess().getParametersKeyword_6_0());
-    }
-	otherlv_8='{' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0()); 
-	    }
-		lv_parameters_9_0=ruleParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSignatureRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_9_0, 
-        		"Parameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_10=',' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0()); 
-	    }
-		lv_parameters_11_0=ruleParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSignatureRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_11_0, 
-        		"Parameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_12='}' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleParameter
-entryRuleParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getParameterRule()); }
-	 iv_ruleParameter=ruleParameter 
-	 { $current=$iv_ruleParameter.current; } 
-	 EOF 
-;
-
-// Rule Parameter
-ruleParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Parameter' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
-	    }
-		lv_name_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='modifier' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getModifierKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0()); 
-	    }
-		lv_modifier_4_0=ruleParameterModifier		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"modifier",
-        		lv_modifier_4_0, 
-        		"ParameterModifier");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='dataType' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getDataTypeKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProvidedRole
-entryRuleProvidedRole returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProvidedRoleRule()); }
-	 iv_ruleProvidedRole=ruleProvidedRole 
-	 { $current=$iv_ruleProvidedRole.current; } 
-	 EOF 
-;
-
-// Rule ProvidedRole
-ruleProvidedRole returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ProvidedRole' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProvidedRoleRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProvidedRoleRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='interface' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getProvidedRoleRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBlackBoxBehavior
-entryRuleBlackBoxBehavior returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBlackBoxBehaviorRule()); }
-	 iv_ruleBlackBoxBehavior=ruleBlackBoxBehavior 
-	 { $current=$iv_ruleBlackBoxBehavior.current; } 
-	 EOF 
-;
-
-// Rule BlackBoxBehavior
-ruleBlackBoxBehavior returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BlackBoxBehavior' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='describedSignature' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBlackBoxBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_4='describedEntity' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBlackBoxBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6='influencingParameter' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0());
-    }
-	otherlv_7='{' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-	    }
-		lv_influencingParameter_8_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_8_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_9=',' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-	    }
-		lv_influencingParameter_10_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_10_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?(	otherlv_12='responseTimeSpecification' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0()); 
-	    }
-		lv_responseTimeSpecification_13_0=ruleResponseTimeSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-	        }
-       		set(
-       			$current, 
-       			"responseTimeSpecification",
-        		lv_responseTimeSpecification_13_0, 
-        		"ResponseTimeSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_14='}' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleRequiredRole
-entryRuleRequiredRole returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRequiredRoleRule()); }
-	 iv_ruleRequiredRole=ruleRequiredRole 
-	 { $current=$iv_ruleRequiredRole.current; } 
-	 EOF 
-;
-
-// Rule RequiredRole
-ruleRequiredRole returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='RequiredRole' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRequiredRoleRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRequiredRoleRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='interface' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRequiredRoleRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCoarseGrainedBehavior
-entryRuleCoarseGrainedBehavior returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCoarseGrainedBehaviorRule()); }
-	 iv_ruleCoarseGrainedBehavior=ruleCoarseGrainedBehavior 
-	 { $current=$iv_ruleCoarseGrainedBehavior.current; } 
-	 EOF 
-;
-
-// Rule CoarseGrainedBehavior
-ruleCoarseGrainedBehavior returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CoarseGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='describedSignature' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_4='describedEntity' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6='influencingParameter' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0());
-    }
-	otherlv_7='{' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-	    }
-		lv_influencingParameter_8_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_8_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_9=',' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-	    }
-		lv_influencingParameter_10_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_10_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?(	otherlv_12='externalCallFrequency' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0());
-    }
-	otherlv_13='{' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0()); 
-	    }
-		lv_externalCallFrequency_14_0=ruleExternalCallFrequency		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"externalCallFrequency",
-        		lv_externalCallFrequency_14_0, 
-        		"ExternalCallFrequency");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_15=',' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0()); 
-	    }
-		lv_externalCallFrequency_16_0=ruleExternalCallFrequency		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"externalCallFrequency",
-        		lv_externalCallFrequency_16_0, 
-        		"ExternalCallFrequency");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_17='}' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_18='resourceDemandSpecification' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0());
-    }
-	otherlv_19='{' 
-    {
-    	newLeafNode(otherlv_19, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0()); 
-	    }
-		lv_resourceDemandSpecification_20_0=ruleResourceDemandSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"resourceDemandSpecification",
-        		lv_resourceDemandSpecification_20_0, 
-        		"ResourceDemandSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_21=',' 
-    {
-    	newLeafNode(otherlv_21, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0()); 
-	    }
-		lv_resourceDemandSpecification_22_0=ruleResourceDemandSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"resourceDemandSpecification",
-        		lv_resourceDemandSpecification_22_0, 
-        		"ResourceDemandSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_23='}' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?	otherlv_24='}' 
-    {
-    	newLeafNode(otherlv_24, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBasicComponent
-entryRuleBasicComponent returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBasicComponentRule()); }
-	 iv_ruleBasicComponent=ruleBasicComponent 
-	 { $current=$iv_ruleBasicComponent.current; } 
-	 EOF 
-;
-
-// Rule BasicComponent
-ruleBasicComponent returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BasicComponent' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getBasicComponentAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='relationship' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBasicComponentRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBasicComponentRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='providedRoles' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-	    }
-		lv_providedRoles_13_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_13_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-	    }
-		lv_providedRoles_15_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_15_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_17='blackBoxBehavior' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-	    }
-		lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_19_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-	    }
-		lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_21_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?(	otherlv_23='requiredRoles' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0());
-    }
-	otherlv_24='{' 
-    {
-    	newLeafNode(otherlv_24, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-	    }
-		lv_requiredRoles_25_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_25_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_26=',' 
-    {
-    	newLeafNode(otherlv_26, grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-	    }
-		lv_requiredRoles_27_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_27_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_28='}' 
-    {
-    	newLeafNode(otherlv_28, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4());
-    }
-)?(	otherlv_29='coarseGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_29, grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0());
-    }
-	otherlv_30='{' 
-    {
-    	newLeafNode(otherlv_30, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-	    }
-		lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_31_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_32=',' 
-    {
-    	newLeafNode(otherlv_32, grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-	    }
-		lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_33_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_34='}' 
-    {
-    	newLeafNode(otherlv_34, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4());
-    }
-)?(	otherlv_35='passiveResources' 
-    {
-    	newLeafNode(otherlv_35, grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0());
-    }
-	otherlv_36='{' 
-    {
-    	newLeafNode(otherlv_36, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0()); 
-	    }
-		lv_passiveResources_37_0=rulePassiveResourceSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"passiveResources",
-        		lv_passiveResources_37_0, 
-        		"PassiveResourceSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_38=',' 
-    {
-    	newLeafNode(otherlv_38, grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0()); 
-	    }
-		lv_passiveResources_39_0=rulePassiveResourceSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"passiveResources",
-        		lv_passiveResources_39_0, 
-        		"PassiveResourceSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_40='}' 
-    {
-    	newLeafNode(otherlv_40, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4());
-    }
-)?(	otherlv_41='fineGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_41, grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0());
-    }
-	otherlv_42='{' 
-    {
-    	newLeafNode(otherlv_42, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0()); 
-	    }
-		lv_fineGrainedBehavior_43_0=ruleFineGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"fineGrainedBehavior",
-        		lv_fineGrainedBehavior_43_0, 
-        		"FineGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_44=',' 
-    {
-    	newLeafNode(otherlv_44, grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0()); 
-	    }
-		lv_fineGrainedBehavior_45_0=ruleFineGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"fineGrainedBehavior",
-        		lv_fineGrainedBehavior_45_0, 
-        		"FineGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_46='}' 
-    {
-    	newLeafNode(otherlv_46, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4());
-    }
-)?	otherlv_47='}' 
-    {
-    	newLeafNode(otherlv_47, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCompositeComponent
-entryRuleCompositeComponent returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCompositeComponentRule()); }
-	 iv_ruleCompositeComponent=ruleCompositeComponent 
-	 { $current=$iv_ruleCompositeComponent.current; } 
-	 EOF 
-;
-
-// Rule CompositeComponent
-ruleCompositeComponent returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CompositeComponent' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getCompositeComponentAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='relationship' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCompositeComponentRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCompositeComponentRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='providedRoles' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-	    }
-		lv_providedRoles_13_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_13_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-	    }
-		lv_providedRoles_15_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_15_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_17='blackBoxBehavior' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-	    }
-		lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_19_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-	    }
-		lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_21_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?(	otherlv_23='requiredRoles' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0());
-    }
-	otherlv_24='{' 
-    {
-    	newLeafNode(otherlv_24, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-	    }
-		lv_requiredRoles_25_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_25_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_26=',' 
-    {
-    	newLeafNode(otherlv_26, grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-	    }
-		lv_requiredRoles_27_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_27_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_28='}' 
-    {
-    	newLeafNode(otherlv_28, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4());
-    }
-)?(	otherlv_29='coarseGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_29, grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0());
-    }
-	otherlv_30='{' 
-    {
-    	newLeafNode(otherlv_30, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-	    }
-		lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_31_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_32=',' 
-    {
-    	newLeafNode(otherlv_32, grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-	    }
-		lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_33_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_34='}' 
-    {
-    	newLeafNode(otherlv_34, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4());
-    }
-)?(	otherlv_35='assemblyContexts' 
-    {
-    	newLeafNode(otherlv_35, grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0());
-    }
-	otherlv_36='{' 
-    {
-    	newLeafNode(otherlv_36, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); 
-	    }
-		lv_assemblyContexts_37_0=ruleAssemblyContext		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyContexts",
-        		lv_assemblyContexts_37_0, 
-        		"AssemblyContext");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_38=',' 
-    {
-    	newLeafNode(otherlv_38, grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); 
-	    }
-		lv_assemblyContexts_39_0=ruleAssemblyContext		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyContexts",
-        		lv_assemblyContexts_39_0, 
-        		"AssemblyContext");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_40='}' 
-    {
-    	newLeafNode(otherlv_40, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4());
-    }
-)?(	otherlv_41='assemblyConnectors' 
-    {
-    	newLeafNode(otherlv_41, grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0());
-    }
-	otherlv_42='{' 
-    {
-    	newLeafNode(otherlv_42, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); 
-	    }
-		lv_assemblyConnectors_43_0=ruleAssemblyConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyConnectors",
-        		lv_assemblyConnectors_43_0, 
-        		"AssemblyConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_44=',' 
-    {
-    	newLeafNode(otherlv_44, grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); 
-	    }
-		lv_assemblyConnectors_45_0=ruleAssemblyConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyConnectors",
-        		lv_assemblyConnectors_45_0, 
-        		"AssemblyConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_46='}' 
-    {
-    	newLeafNode(otherlv_46, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4());
-    }
-)?(	otherlv_47='providedDelegationConnectors' 
-    {
-    	newLeafNode(otherlv_47, grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0());
-    }
-	otherlv_48='{' 
-    {
-    	newLeafNode(otherlv_48, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); 
-	    }
-		lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedDelegationConnectors",
-        		lv_providedDelegationConnectors_49_0, 
-        		"ProvidedDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_50=',' 
-    {
-    	newLeafNode(otherlv_50, grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); 
-	    }
-		lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"providedDelegationConnectors",
-        		lv_providedDelegationConnectors_51_0, 
-        		"ProvidedDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_52='}' 
-    {
-    	newLeafNode(otherlv_52, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4());
-    }
-)?(	otherlv_53='requiredDelegationConnectors' 
-    {
-    	newLeafNode(otherlv_53, grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0());
-    }
-	otherlv_54='{' 
-    {
-    	newLeafNode(otherlv_54, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); 
-	    }
-		lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredDelegationConnectors",
-        		lv_requiredDelegationConnectors_55_0, 
-        		"RequiredDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_56=',' 
-    {
-    	newLeafNode(otherlv_56, grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); 
-	    }
-		lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredDelegationConnectors",
-        		lv_requiredDelegationConnectors_57_0, 
-        		"RequiredDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_58='}' 
-    {
-    	newLeafNode(otherlv_58, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4());
-    }
-)?	otherlv_59='}' 
-    {
-    	newLeafNode(otherlv_59, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleSubSystem
-entryRuleSubSystem returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getSubSystemRule()); }
-	 iv_ruleSubSystem=ruleSubSystem 
-	 { $current=$iv_ruleSubSystem.current; } 
-	 EOF 
-;
-
-// Rule SubSystem
-ruleSubSystem returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='SubSystem' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getSubSystemAccess().getSubSystemKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getSubSystemAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='relationship' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0());
-    }
-	otherlv_6='(' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getSubSystemRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_8=',' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getSubSystemRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_10=')' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4());
-    }
-)?(	otherlv_11='providedRoles' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0());
-    }
-	otherlv_12='{' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-	    }
-		lv_providedRoles_13_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_13_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_14=',' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-	    }
-		lv_providedRoles_15_0=ruleProvidedRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"providedRoles",
-        		lv_providedRoles_15_0, 
-        		"ProvidedRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?(	otherlv_17='blackBoxBehavior' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-	    }
-		lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_19_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-	    }
-		lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"blackBoxBehavior",
-        		lv_blackBoxBehavior_21_0, 
-        		"BlackBoxBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?(	otherlv_23='requiredRoles' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0());
-    }
-	otherlv_24='{' 
-    {
-    	newLeafNode(otherlv_24, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-	    }
-		lv_requiredRoles_25_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_25_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_26=',' 
-    {
-    	newLeafNode(otherlv_26, grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-	    }
-		lv_requiredRoles_27_0=ruleRequiredRole		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredRoles",
-        		lv_requiredRoles_27_0, 
-        		"RequiredRole");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_28='}' 
-    {
-    	newLeafNode(otherlv_28, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4());
-    }
-)?(	otherlv_29='coarseGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_29, grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0());
-    }
-	otherlv_30='{' 
-    {
-    	newLeafNode(otherlv_30, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-	    }
-		lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_31_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_32=',' 
-    {
-    	newLeafNode(otherlv_32, grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-	    }
-		lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"coarseGrainedBehavior",
-        		lv_coarseGrainedBehavior_33_0, 
-        		"CoarseGrainedBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_34='}' 
-    {
-    	newLeafNode(otherlv_34, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4());
-    }
-)?(	otherlv_35='assemblyContexts' 
-    {
-    	newLeafNode(otherlv_35, grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0());
-    }
-	otherlv_36='{' 
-    {
-    	newLeafNode(otherlv_36, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); 
-	    }
-		lv_assemblyContexts_37_0=ruleAssemblyContext		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyContexts",
-        		lv_assemblyContexts_37_0, 
-        		"AssemblyContext");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_38=',' 
-    {
-    	newLeafNode(otherlv_38, grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); 
-	    }
-		lv_assemblyContexts_39_0=ruleAssemblyContext		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyContexts",
-        		lv_assemblyContexts_39_0, 
-        		"AssemblyContext");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_40='}' 
-    {
-    	newLeafNode(otherlv_40, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4());
-    }
-)?(	otherlv_41='assemblyConnectors' 
-    {
-    	newLeafNode(otherlv_41, grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0());
-    }
-	otherlv_42='{' 
-    {
-    	newLeafNode(otherlv_42, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); 
-	    }
-		lv_assemblyConnectors_43_0=ruleAssemblyConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyConnectors",
-        		lv_assemblyConnectors_43_0, 
-        		"AssemblyConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_44=',' 
-    {
-    	newLeafNode(otherlv_44, grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); 
-	    }
-		lv_assemblyConnectors_45_0=ruleAssemblyConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"assemblyConnectors",
-        		lv_assemblyConnectors_45_0, 
-        		"AssemblyConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_46='}' 
-    {
-    	newLeafNode(otherlv_46, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4());
-    }
-)?(	otherlv_47='providedDelegationConnectors' 
-    {
-    	newLeafNode(otherlv_47, grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0());
-    }
-	otherlv_48='{' 
-    {
-    	newLeafNode(otherlv_48, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); 
-	    }
-		lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"providedDelegationConnectors",
-        		lv_providedDelegationConnectors_49_0, 
-        		"ProvidedDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_50=',' 
-    {
-    	newLeafNode(otherlv_50, grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); 
-	    }
-		lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"providedDelegationConnectors",
-        		lv_providedDelegationConnectors_51_0, 
-        		"ProvidedDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_52='}' 
-    {
-    	newLeafNode(otherlv_52, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4());
-    }
-)?(	otherlv_53='requiredDelegationConnectors' 
-    {
-    	newLeafNode(otherlv_53, grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0());
-    }
-	otherlv_54='{' 
-    {
-    	newLeafNode(otherlv_54, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); 
-	    }
-		lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredDelegationConnectors",
-        		lv_requiredDelegationConnectors_55_0, 
-        		"RequiredDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_56=',' 
-    {
-    	newLeafNode(otherlv_56, grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); 
-	    }
-		lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSubSystemRule());
-	        }
-       		add(
-       			$current, 
-       			"requiredDelegationConnectors",
-        		lv_requiredDelegationConnectors_57_0, 
-        		"RequiredDelegationConnector");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_58='}' 
-    {
-    	newLeafNode(otherlv_58, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4());
-    }
-)?	otherlv_59='}' 
-    {
-    	newLeafNode(otherlv_59, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleInfluencingParameter_Impl
-entryRuleInfluencingParameter_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getInfluencingParameter_ImplRule()); }
-	 iv_ruleInfluencingParameter_Impl=ruleInfluencingParameter_Impl 
-	 { $current=$iv_ruleInfluencingParameter_Impl.current; } 
-	 EOF 
-;
-
-// Rule InfluencingParameter_Impl
-ruleInfluencingParameter_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='InfluencingParameter' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0()); 
-	    }
-		lv_name_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='description' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0()); 
-	    }
-		lv_description_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"description",
-        		lv_description_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='behavior' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInfluencingParameter_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_7='scope' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0());
-    }
-	otherlv_8='{' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0()); 
-	    }
-		lv_scope_9_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_9_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_10=',' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0()); 
-	    }
-		lv_scope_11_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_11_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_12='}' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4());
-    }
-)?	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleResponseTimeSpecification
-entryRuleResponseTimeSpecification returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getResponseTimeSpecificationRule()); }
-	 iv_ruleResponseTimeSpecification=ruleResponseTimeSpecification 
-	 { $current=$iv_ruleResponseTimeSpecification.current; } 
-	 EOF 
-;
-
-// Rule ResponseTimeSpecification
-ruleResponseTimeSpecification returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0(),
-            $current);
-    }
-)	otherlv_1='ResponseTimeSpecification' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleScope
-entryRuleScope returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getScopeRule()); }
-	 iv_ruleScope=ruleScope 
-	 { $current=$iv_ruleScope.current; } 
-	 EOF 
-;
-
-// Rule Scope
-ruleScope returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Scope' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getScopeAccess().getScopeKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='interfaceProvidingRequiringEntity' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getScopeRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleServiceInputParameter
-entryRuleServiceInputParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getServiceInputParameterRule()); }
-	 iv_ruleServiceInputParameter=ruleServiceInputParameter 
-	 { $current=$iv_ruleServiceInputParameter.current; } 
-	 EOF 
-;
-
-// Rule ServiceInputParameter
-ruleServiceInputParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ServiceInputParameter' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0()); 
-	    }
-		lv_name_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='description' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-	    }
-		lv_description_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"description",
-        		lv_description_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='characterization' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-	    }
-		lv_characterization_6_0=ruleCharacterizationType		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"characterization",
-        		lv_characterization_6_0, 
-        		"CharacterizationType");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='behavior' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getServiceInputParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='signature' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getServiceInputParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_11='parameter' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getServiceInputParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_13='returnType' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getServiceInputParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_15='providedRole' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getServiceInputParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_17='scope' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-	    }
-		lv_scope_19_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_19_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-	    }
-		lv_scope_21_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_21_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4());
-    }
-)?	otherlv_23='}' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExternalCallReturnParameter
-entryRuleExternalCallReturnParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCallReturnParameterRule()); }
-	 iv_ruleExternalCallReturnParameter=ruleExternalCallReturnParameter 
-	 { $current=$iv_ruleExternalCallReturnParameter.current; } 
-	 EOF 
-;
-
-// Rule ExternalCallReturnParameter
-ruleExternalCallReturnParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExternalCallReturnParameter' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0()); 
-	    }
-		lv_name_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='description' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-	    }
-		lv_description_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"description",
-        		lv_description_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='characterization' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-	    }
-		lv_characterization_6_0=ruleCharacterizationType		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"characterization",
-        		lv_characterization_6_0, 
-        		"CharacterizationType");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='behavior' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='signature' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_11='parameter' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_13='returnType' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_15='externalCall' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_17='scope' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-	    }
-		lv_scope_19_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_19_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-	    }
-		lv_scope_21_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_21_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4());
-    }
-)?	otherlv_23='}' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExternalCallParameter
-entryRuleExternalCallParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCallParameterRule()); }
-	 iv_ruleExternalCallParameter=ruleExternalCallParameter 
-	 { $current=$iv_ruleExternalCallParameter.current; } 
-	 EOF 
-;
-
-// Rule ExternalCallParameter
-ruleExternalCallParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExternalCallParameter' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0()); 
-	    }
-		lv_name_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='description' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-	    }
-		lv_description_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"description",
-        		lv_description_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='characterization' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-	    }
-		lv_characterization_6_0=ruleCharacterizationType		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"characterization",
-        		lv_characterization_6_0, 
-        		"CharacterizationType");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='behavior' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='signature' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_11='parameter' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_13='returnType' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_15='externallCall' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallParameterRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_17='scope' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0());
-    }
-	otherlv_18='{' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-	    }
-		lv_scope_19_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_19_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_20=',' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-	    }
-		lv_scope_21_0=ruleScope		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-	        }
-       		add(
-       			$current, 
-       			"scope",
-        		lv_scope_21_0, 
-        		"Scope");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4());
-    }
-)?	otherlv_23='}' 
-    {
-    	newLeafNode(otherlv_23, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleFineGrainedBehavior
-entryRuleFineGrainedBehavior returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getFineGrainedBehaviorRule()); }
-	 iv_ruleFineGrainedBehavior=ruleFineGrainedBehavior 
-	 { $current=$iv_ruleFineGrainedBehavior.current; } 
-	 EOF 
-;
-
-// Rule FineGrainedBehavior
-ruleFineGrainedBehavior returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='FineGrainedBehavior' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='describedSignature' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_4='basicComponent' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6='influencingParameter' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0());
-    }
-	otherlv_7='{' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-	    }
-		lv_influencingParameter_8_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_8_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_9=',' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-	    }
-		lv_influencingParameter_10_0=ruleInfluencingParameter		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"influencingParameter",
-        		lv_influencingParameter_10_0, 
-        		"InfluencingParameter");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?(	otherlv_12='actions' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0());
-    }
-	otherlv_13='{' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0()); 
-	    }
-		lv_actions_14_0=ruleAbstractAction		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"actions",
-        		lv_actions_14_0, 
-        		"AbstractAction");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_15=',' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0()); 
-	    }
-		lv_actions_16_0=ruleAbstractAction		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-       		add(
-       			$current, 
-       			"actions",
-        		lv_actions_16_0, 
-        		"AbstractAction");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_17='}' 
-    {
-    	newLeafNode(otherlv_17, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4());
-    }
-)?	otherlv_18='behavior' 
-    {
-    	newLeafNode(otherlv_18, grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0()); 
-	    }
-		lv_behavior_19_0=ruleComponentInternalBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-	        }
-       		set(
-       			$current, 
-       			"behavior",
-        		lv_behavior_19_0, 
-        		"ComponentInternalBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_20='}' 
-    {
-    	newLeafNode(otherlv_20, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleAbstractAction_Impl
-entryRuleAbstractAction_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAbstractAction_ImplRule()); }
-	 iv_ruleAbstractAction_Impl=ruleAbstractAction_Impl 
-	 { $current=$iv_ruleAbstractAction_Impl.current; } 
-	 EOF 
-;
-
-// Rule AbstractAction_Impl
-ruleAbstractAction_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0(),
-            $current);
-    }
-)	otherlv_1='AbstractAction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='predecessor' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAbstractAction_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='successor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAbstractAction_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleComponentInternalBehavior_Impl
-entryRuleComponentInternalBehavior_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplRule()); }
-	 iv_ruleComponentInternalBehavior_Impl=ruleComponentInternalBehavior_Impl 
-	 { $current=$iv_ruleComponentInternalBehavior_Impl.current; } 
-	 EOF 
-;
-
-// Rule ComponentInternalBehavior_Impl
-ruleComponentInternalBehavior_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0(),
-            $current);
-    }
-)	otherlv_1='ComponentInternalBehavior' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='actions' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0());
-    }
-	otherlv_4='{' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0()); 
-	    }
-		lv_actions_5_0=ruleAbstractAction		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"actions",
-        		lv_actions_5_0, 
-        		"AbstractAction");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0()); 
-	    }
-		lv_actions_7_0=ruleAbstractAction		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule());
-	        }
-       		add(
-       			$current, 
-       			"actions",
-        		lv_actions_7_0, 
-        		"AbstractAction");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleStartAction
-entryRuleStartAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getStartActionRule()); }
-	 iv_ruleStartAction=ruleStartAction 
-	 { $current=$iv_ruleStartAction.current; } 
-	 EOF 
-;
-
-// Rule StartAction
-ruleStartAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getStartActionAccess().getStartActionAction_0(),
-            $current);
-    }
-)	otherlv_1='StartAction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='predecessor' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getStartActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='successor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getStartActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleStopAction
-entryRuleStopAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getStopActionRule()); }
-	 iv_ruleStopAction=ruleStopAction 
-	 { $current=$iv_ruleStopAction.current; } 
-	 EOF 
-;
-
-// Rule StopAction
-ruleStopAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getStopActionAccess().getStopActionAction_0(),
-            $current);
-    }
-)	otherlv_1='StopAction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='predecessor' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getStopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='successor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getStopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleAcquireAction
-entryRuleAcquireAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAcquireActionRule()); }
-	 iv_ruleAcquireAction=ruleAcquireAction 
-	 { $current=$iv_ruleAcquireAction.current; } 
-	 EOF 
-;
-
-// Rule AcquireAction
-ruleAcquireAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='AcquireAction' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='predecessor' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAcquireActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_4='successor' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAcquireActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_6='passiveResource' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAcquireActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleReleaseAction
-entryRuleReleaseAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getReleaseActionRule()); }
-	 iv_ruleReleaseAction=ruleReleaseAction 
-	 { $current=$iv_ruleReleaseAction.current; } 
-	 EOF 
-;
-
-// Rule ReleaseAction
-ruleReleaseAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ReleaseAction' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='predecessor' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getReleaseActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_4='successor' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getReleaseActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_6='passiveResource' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getReleaseActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleInternalAction
-entryRuleInternalAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getInternalActionRule()); }
-	 iv_ruleInternalAction=ruleInternalAction 
-	 { $current=$iv_ruleInternalAction.current; } 
-	 EOF 
-;
-
-// Rule InternalAction
-ruleInternalAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getInternalActionAccess().getInternalActionAction_0(),
-            $current);
-    }
-)	otherlv_1='InternalAction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getInternalActionAccess().getInternalActionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='predecessor' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInternalActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='successor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInternalActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_7='resourceDemandSpecification' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0());
-    }
-	otherlv_8='{' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0()); 
-	    }
-		lv_resourceDemandSpecification_9_0=ruleResourceDemandSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInternalActionRule());
-	        }
-       		add(
-       			$current, 
-       			"resourceDemandSpecification",
-        		lv_resourceDemandSpecification_9_0, 
-        		"ResourceDemandSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_10=',' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0()); 
-	    }
-		lv_resourceDemandSpecification_11_0=ruleResourceDemandSpecification		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getInternalActionRule());
-	        }
-       		add(
-       			$current, 
-       			"resourceDemandSpecification",
-        		lv_resourceDemandSpecification_11_0, 
-        		"ResourceDemandSpecification");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_12='}' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleForkAction
-entryRuleForkAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getForkActionRule()); }
-	 iv_ruleForkAction=ruleForkAction 
-	 { $current=$iv_ruleForkAction.current; } 
-	 EOF 
-;
-
-// Rule ForkAction
-ruleForkAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-(
-		lv_withSynchronizationBarrier_0_0=	'withSynchronizationBarrier' 
-    {
-        newLeafNode(lv_withSynchronizationBarrier_0_0, grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0());
-    }
- 
-	    {
-	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getForkActionRule());
-	        }
-       		setWithLastConsumed($current, "withSynchronizationBarrier", true, "withSynchronizationBarrier");
-	    }
-
-)
-)	otherlv_1='ForkAction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getForkActionAccess().getForkActionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='predecessor' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getForkActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='successor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getForkActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_7='forkedBehaviors' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0());
-    }
-	otherlv_8='{' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0()); 
-	    }
-		lv_forkedBehaviors_9_0=ruleComponentInternalBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getForkActionRule());
-	        }
-       		add(
-       			$current, 
-       			"forkedBehaviors",
-        		lv_forkedBehaviors_9_0, 
-        		"ComponentInternalBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_10=',' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0()); 
-	    }
-		lv_forkedBehaviors_11_0=ruleComponentInternalBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getForkActionRule());
-	        }
-       		add(
-       			$current, 
-       			"forkedBehaviors",
-        		lv_forkedBehaviors_11_0, 
-        		"ComponentInternalBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_12='}' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBranchAction
-entryRuleBranchAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBranchActionRule()); }
-	 iv_ruleBranchAction=ruleBranchAction 
-	 { $current=$iv_ruleBranchAction.current; } 
-	 EOF 
-;
-
-// Rule BranchAction
-ruleBranchAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BranchAction' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='predecessor' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBranchActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_4='successor' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBranchActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_6='branches' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0());
-    }
-	otherlv_7='{' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0()); 
-	    }
-		lv_branches_8_0=ruleBranchTransition		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
-	        }
-       		add(
-       			$current, 
-       			"branches",
-        		lv_branches_8_0, 
-        		"BranchTransition");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_9=',' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0()); 
-	    }
-		lv_branches_10_0=ruleBranchTransition		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
-	        }
-       		add(
-       			$current, 
-       			"branches",
-        		lv_branches_10_0, 
-        		"BranchTransition");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4());
-    }
-)?	otherlv_12='branchProbabilities' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0()); 
-	    }
-		lv_branchProbabilities_13_0=ruleBranchProbabilities		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
-	        }
-       		set(
-       			$current, 
-       			"branchProbabilities",
-        		lv_branchProbabilities_13_0, 
-        		"BranchProbabilities");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_14='}' 
-    {
-    	newLeafNode(otherlv_14, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleLoopAction
-entryRuleLoopAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getLoopActionRule()); }
-	 iv_ruleLoopAction=ruleLoopAction 
-	 { $current=$iv_ruleLoopAction.current; } 
-	 EOF 
-;
-
-// Rule LoopAction
-ruleLoopAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='LoopAction' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='predecessor' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getLoopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_4='successor' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getLoopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_6='loopBodyBehavior' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0()); 
-	    }
-		lv_loopBodyBehavior_7_0=ruleComponentInternalBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getLoopActionRule());
-	        }
-       		set(
-       			$current, 
-       			"loopBodyBehavior",
-        		lv_loopBodyBehavior_7_0, 
-        		"ComponentInternalBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='loopIterationCountDistribution' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0()); 
-	    }
-		lv_loopIterationCountDistribution_9_0=ruleLoopIterationCountDistribution		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getLoopActionRule());
-	        }
-       		set(
-       			$current, 
-       			"loopIterationCountDistribution",
-        		lv_loopIterationCountDistribution_9_0, 
-        		"LoopIterationCountDistribution");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExternalCallAction
-entryRuleExternalCallAction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCallActionRule()); }
-	 iv_ruleExternalCallAction=ruleExternalCallAction 
-	 { $current=$iv_ruleExternalCallAction.current; } 
-	 EOF 
-;
-
-// Rule ExternalCallAction
-ruleExternalCallAction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExternalCallAction' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1());
-    }
-(	otherlv_2='predecessor' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_4='successor' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_6='signature' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='requiredRole' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCallActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRulePassiveResourceSpecification
-entryRulePassiveResourceSpecification returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPassiveResourceSpecificationRule()); }
-	 iv_rulePassiveResourceSpecification=rulePassiveResourceSpecification 
-	 { $current=$iv_rulePassiveResourceSpecification.current; } 
-	 EOF 
-;
-
-// Rule PassiveResourceSpecification
-rulePassiveResourceSpecification returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='PassiveResourceSpecification' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='passiveResourceType' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPassiveResourceSpecificationRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='capacity' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0()); 
-	    }
-		lv_capacity_8_0=rulePassiveResourceCapacity		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-	        }
-       		set(
-       			$current, 
-       			"capacity",
-        		lv_capacity_8_0, 
-        		"PassiveResourceCapacity");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRulePassiveResourceCapacity
-entryRulePassiveResourceCapacity returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPassiveResourceCapacityRule()); }
-	 iv_rulePassiveResourceCapacity=rulePassiveResourceCapacity 
-	 { $current=$iv_rulePassiveResourceCapacity.current; } 
-	 EOF 
-;
-
-// Rule PassiveResourceCapacity
-rulePassiveResourceCapacity returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='PassiveResourceCapacity' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='capacity' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0()); 
-	    }
-		lv_capacity_6_0=ruleEBigInteger		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-	        }
-       		set(
-       			$current, 
-       			"capacity",
-        		lv_capacity_6_0, 
-        		"EBigInteger");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleEBigInteger
-entryRuleEBigInteger returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEBigIntegerRule()); } 
-	 iv_ruleEBigInteger=ruleEBigInteger 
-	 { $current=$iv_ruleEBigInteger.current.getText(); }  
-	 EOF 
-;
-
-// Rule EBigInteger
-ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-    }
-)?    this_INT_1=RULE_INT    {
-		$current.merge(this_INT_1);
-    }
-
-    { 
-    newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleResourceDemandSpecification
-entryRuleResourceDemandSpecification returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getResourceDemandSpecificationRule()); }
-	 iv_ruleResourceDemandSpecification=ruleResourceDemandSpecification 
-	 { $current=$iv_ruleResourceDemandSpecification.current; } 
-	 EOF 
-;
-
-// Rule ResourceDemandSpecification
-ruleResourceDemandSpecification returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ResourceDemandSpecification' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='processingResourceType' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getResourceDemandSpecificationRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProcessingResourceType_Impl
-entryRuleProcessingResourceType_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProcessingResourceType_ImplRule()); }
-	 iv_ruleProcessingResourceType_Impl=ruleProcessingResourceType_Impl 
-	 { $current=$iv_ruleProcessingResourceType_Impl.current; } 
-	 EOF 
-;
-
-// Rule ProcessingResourceType_Impl
-ruleProcessingResourceType_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ProcessingResourceType' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='}' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCommunicationLinkResourceType
-entryRuleCommunicationLinkResourceType returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeRule()); }
-	 iv_ruleCommunicationLinkResourceType=ruleCommunicationLinkResourceType 
-	 { $current=$iv_ruleCommunicationLinkResourceType.current; } 
-	 EOF 
-;
-
-// Rule CommunicationLinkResourceType
-ruleCommunicationLinkResourceType returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CommunicationLinkResourceType' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='}' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleBranchTransition
-entryRuleBranchTransition returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBranchTransitionRule()); }
-	 iv_ruleBranchTransition=ruleBranchTransition 
-	 { $current=$iv_ruleBranchTransition.current; } 
-	 EOF 
-;
-
-// Rule BranchTransition
-ruleBranchTransition returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BranchTransition' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getBranchTransitionAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='branchBehavior' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0()); 
-	    }
-		lv_branchBehavior_6_0=ruleComponentInternalBehavior		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-	        }
-       		set(
-       			$current, 
-       			"branchBehavior",
-        		lv_branchBehavior_6_0, 
-        		"ComponentInternalBehavior");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBranchProbabilities
-entryRuleBranchProbabilities returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBranchProbabilitiesRule()); }
-	 iv_ruleBranchProbabilities=ruleBranchProbabilities 
-	 { $current=$iv_ruleBranchProbabilities.current; } 
-	 EOF 
-;
-
-// Rule BranchProbabilities
-ruleBranchProbabilities returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BranchProbabilities' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='probabilities' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBranchProbabilitiesRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleProbabilityMassFunction
-entryRuleProbabilityMassFunction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); }
-	 iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction 
-	 { $current=$iv_ruleProbabilityMassFunction.current; } 
-	 EOF 
-;
-
-// Rule ProbabilityMassFunction
-ruleProbabilityMassFunction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(),
-            $current);
-    }
-)	otherlv_1='ProbabilityMassFunction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='sample' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0());
-    }
-	otherlv_4='{' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-	    }
-		lv_sample_5_0=ruleSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_5_0, 
-        		"Sample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-	    }
-		lv_sample_7_0=ruleSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_7_0, 
-        		"Sample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProbabilityDensityFunction_Impl
-entryRuleProbabilityDensityFunction_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProbabilityDensityFunction_ImplRule()); }
-	 iv_ruleProbabilityDensityFunction_Impl=ruleProbabilityDensityFunction_Impl 
-	 { $current=$iv_ruleProbabilityDensityFunction_Impl.current; } 
-	 EOF 
-;
-
-// Rule ProbabilityDensityFunction_Impl
-ruleProbabilityDensityFunction_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0(),
-            $current);
-    }
-)	otherlv_1='ProbabilityDensityFunction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBoxedPDF
-entryRuleBoxedPDF returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBoxedPDFRule()); }
-	 iv_ruleBoxedPDF=ruleBoxedPDF 
-	 { $current=$iv_ruleBoxedPDF.current; } 
-	 EOF 
-;
-
-// Rule BoxedPDF
-ruleBoxedPDF returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(),
-            $current);
-    }
-)	otherlv_1='BoxedPDF' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='sample' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0());
-    }
-	otherlv_4='{' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-	    }
-		lv_sample_5_0=ruleContinuousSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_5_0, 
-        		"ContinuousSample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-	    }
-		lv_sample_7_0=ruleContinuousSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_7_0, 
-        		"ContinuousSample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleContinuousPDF_Impl
-entryRuleContinuousPDF_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getContinuousPDF_ImplRule()); }
-	 iv_ruleContinuousPDF_Impl=ruleContinuousPDF_Impl 
-	 { $current=$iv_ruleContinuousPDF_Impl.current; } 
-	 EOF 
-;
-
-// Rule ContinuousPDF_Impl
-ruleContinuousPDF_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0(),
-            $current);
-    }
-)	otherlv_1='ContinuousPDF' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleNormalDistribution
-entryRuleNormalDistribution returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getNormalDistributionRule()); }
-	 iv_ruleNormalDistribution=ruleNormalDistribution 
-	 { $current=$iv_ruleNormalDistribution.current; } 
-	 EOF 
-;
-
-// Rule NormalDistribution
-ruleNormalDistribution returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='NormalDistribution' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='mu' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_mu_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"mu",
-        		lv_mu_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='sigma' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-	    }
-		lv_sigma_5_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"sigma",
-        		lv_sigma_5_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExponentialDistribution
-entryRuleExponentialDistribution returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExponentialDistributionRule()); }
-	 iv_ruleExponentialDistribution=ruleExponentialDistribution 
-	 { $current=$iv_ruleExponentialDistribution.current; } 
-	 EOF 
-;
-
-// Rule ExponentialDistribution
-ruleExponentialDistribution returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExponentialDistribution' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='rate' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_rate_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExponentialDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"rate",
-        		lv_rate_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleSample
-entryRuleSample returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getSampleRule()); }
-	 iv_ruleSample=ruleSample 
-	 { $current=$iv_ruleSample.current; } 
-	 EOF 
-;
-
-// Rule Sample
-ruleSample returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Sample' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='probability' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_probability_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"probability",
-        		lv_probability_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='value' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getSampleRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleEBigDecimal
-entryRuleEBigDecimal returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEBigDecimalRule()); } 
-	 iv_ruleEBigDecimal=ruleEBigDecimal 
-	 { $current=$iv_ruleEBigDecimal.current.getText(); }  
-	 EOF 
-;
-
-// Rule EBigDecimal
-ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((    this_INT_0=RULE_INT    {
-		$current.merge(this_INT_0);
-    }
-
-    { 
-    newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleContinuousSample
-entryRuleContinuousSample returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getContinuousSampleRule()); }
-	 iv_ruleContinuousSample=ruleContinuousSample 
-	 { $current=$iv_ruleContinuousSample.current; } 
-	 EOF 
-;
-
-// Rule ContinuousSample
-ruleContinuousSample returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ContinuousSample' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='value' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_value_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='probability' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-	    }
-		lv_probability_5_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"probability",
-        		lv_probability_5_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleLoopIterationCountDistribution
-entryRuleLoopIterationCountDistribution returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getLoopIterationCountDistributionRule()); }
-	 iv_ruleLoopIterationCountDistribution=ruleLoopIterationCountDistribution 
-	 { $current=$iv_ruleLoopIterationCountDistribution.current; } 
-	 EOF 
-;
-
-// Rule LoopIterationCountDistribution
-ruleLoopIterationCountDistribution returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='LoopIterationCountDistribution' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='loopIterationCountDistribution' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getLoopIterationCountDistributionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleAssemblyContext
-entryRuleAssemblyContext returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAssemblyContextRule()); }
-	 iv_ruleAssemblyContext=ruleAssemblyContext 
-	 { $current=$iv_ruleAssemblyContext.current; } 
-	 EOF 
-;
-
-// Rule AssemblyContext
-ruleAssemblyContext returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='AssemblyContext' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getAssemblyContextRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getAssemblyContextAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getAssemblyContextRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='encapsulatedComponent' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAssemblyContextRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleAssemblyConnector
-entryRuleAssemblyConnector returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAssemblyConnectorRule()); }
-	 iv_ruleAssemblyConnector=ruleAssemblyConnector 
-	 { $current=$iv_ruleAssemblyConnector.current; } 
-	 EOF 
-;
-
-// Rule AssemblyConnector
-ruleAssemblyConnector returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='AssemblyConnector' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='requiredRole' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='providedRole' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='providingAssemblyContext' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_11='requiringAssemblyContext' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProvidedDelegationConnector
-entryRuleProvidedDelegationConnector returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProvidedDelegationConnectorRule()); }
-	 iv_ruleProvidedDelegationConnector=ruleProvidedDelegationConnector 
-	 { $current=$iv_ruleProvidedDelegationConnector.current; } 
-	 EOF 
-;
-
-// Rule ProvidedDelegationConnector
-ruleProvidedDelegationConnector returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ProvidedDelegationConnector' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='assemblyContext' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='innerProvidedRole' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='outerProvidedRole' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleRequiredDelegationConnector
-entryRuleRequiredDelegationConnector returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRequiredDelegationConnectorRule()); }
-	 iv_ruleRequiredDelegationConnector=ruleRequiredDelegationConnector 
-	 { $current=$iv_ruleRequiredDelegationConnector.current; } 
-	 EOF 
-;
-
-// Rule RequiredDelegationConnector
-ruleRequiredDelegationConnector returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='RequiredDelegationConnector' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-	    }
-		lv_id_1_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_1_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_5='assemblyContext' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='innerRequiredRole' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_9='outerRequiredRole' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExternalCall_Impl
-entryRuleExternalCall_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCall_ImplRule()); }
-	 iv_ruleExternalCall_Impl=ruleExternalCall_Impl 
-	 { $current=$iv_ruleExternalCall_Impl.current; } 
-	 EOF 
-;
-
-// Rule ExternalCall_Impl
-ruleExternalCall_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExternalCall' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='signature' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCall_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='requiredRole' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getExternalCall_ImplRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExternalCallFrequency
-entryRuleExternalCallFrequency returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExternalCallFrequencyRule()); }
-	 iv_ruleExternalCallFrequency=ruleExternalCallFrequency 
-	 { $current=$iv_ruleExternalCallFrequency.current; } 
-	 EOF 
-;
-
-// Rule ExternalCallFrequency
-ruleExternalCallFrequency returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExternalCallFrequency' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='externalCall' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0()); 
-	    }
-		lv_externalCall_3_0=ruleExternalCall		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule());
-	        }
-       		set(
-       			$current, 
-       			"externalCall",
-        		lv_externalCall_3_0, 
-        		"ExternalCall");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='frequency' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0()); 
-	    }
-		lv_frequency_5_0=ruleCallFrequency		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule());
-	        }
-       		set(
-       			$current, 
-       			"frequency",
-        		lv_frequency_5_0, 
-        		"CallFrequency");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCallFrequency
-entryRuleCallFrequency returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCallFrequencyRule()); }
-	 iv_ruleCallFrequency=ruleCallFrequency 
-	 { $current=$iv_ruleCallFrequency.current; } 
-	 EOF 
-;
-
-// Rule CallFrequency
-ruleCallFrequency returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CallFrequency' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='frequency' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCallFrequencyRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDependencyRelationship
-entryRuleDependencyRelationship returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getDependencyRelationshipRule()); }
-	 iv_ruleDependencyRelationship=ruleDependencyRelationship 
-	 { $current=$iv_ruleDependencyRelationship.current; } 
-	 EOF 
-;
-
-// Rule DependencyRelationship
-ruleDependencyRelationship returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='DependencyRelationship' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='surroundingEntity' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='influencedVariable' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='influencingParameter' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleCorrelationRelationship
-entryRuleCorrelationRelationship returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCorrelationRelationshipRule()); }
-	 iv_ruleCorrelationRelationship=ruleCorrelationRelationship 
-	 { $current=$iv_ruleCorrelationRelationship.current; } 
-	 EOF 
-;
-
-// Rule CorrelationRelationship
-ruleCorrelationRelationship returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CorrelationRelationship' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='surroundingEntity' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='leftInfluencingParameter' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='rightInfluencingParameter' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='leftComponentInstanceReference' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0()); 
-	    }
-		lv_leftComponentInstanceReference_9_0=ruleComponentInstanceReference		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule());
-	        }
-       		set(
-       			$current, 
-       			"leftComponentInstanceReference",
-        		lv_leftComponentInstanceReference_9_0, 
-        		"ComponentInstanceReference");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_10='rightComponentInstanceReference' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0()); 
-	    }
-		lv_rightComponentInstanceReference_11_0=ruleComponentInstanceReference		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule());
-	        }
-       		set(
-       			$current, 
-       			"rightComponentInstanceReference",
-        		lv_rightComponentInstanceReference_11_0, 
-        		"ComponentInstanceReference");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_12='}' 
-    {
-    	newLeafNode(otherlv_12, grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleComponentInstanceReference
-entryRuleComponentInstanceReference returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getComponentInstanceReferenceRule()); }
-	 iv_ruleComponentInstanceReference=ruleComponentInstanceReference 
-	 { $current=$iv_ruleComponentInstanceReference.current; } 
-	 EOF 
-;
-
-// Rule ComponentInstanceReference
-ruleComponentInstanceReference returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0(),
-            $current);
-    }
-)	otherlv_1='ComponentInstanceReference' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='assemblies' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0());
-    }
-	otherlv_4='(' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getComponentInstanceReferenceRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getComponentInstanceReferenceRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8=')' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Rule PrimitiveTypeEnum
-rulePrimitiveTypeEnum returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='INT' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='STRING' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); 
-    }
-)
-    |(	enumLiteral_2='BOOL' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); 
-    }
-)
-    |(	enumLiteral_3='DOUBLE' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); 
-    }
-)
-    |(	enumLiteral_4='CHAR' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); 
-    }
-)
-    |(	enumLiteral_5='BYTE' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); 
-    }
-)
-    |(	enumLiteral_6='LONG' 
-	{
-        $current = grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); 
-    }
-));
-
-
-
-// Rule ParameterModifier
-ruleParameterModifier returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='NONE' 
-	{
-        $current = grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='IN' 
-	{
-        $current = grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1()); 
-    }
-)
-    |(	enumLiteral_2='OUT' 
-	{
-        $current = grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_2, grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2()); 
-    }
-)
-    |(	enumLiteral_3='INOUT' 
-	{
-        $current = grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_3, grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3()); 
-    }
-));
-
-
-
-// Rule CharacterizationType
-ruleCharacterizationType returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='VALUE' 
-	{
-        $current = grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='NUMBER_OF_ELEMENTS' 
-	{
-        $current = grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1()); 
-    }
-));
-
-
-
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-RULE_INT : ('0'..'9')+;
-
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
-
-
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens
deleted file mode 100644
index 8c12d11d..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens
+++ /dev/null
@@ -1,329 +0,0 @@
-RULE_ID=5
-T__29=29
-T__28=28
-T__159=159
-T__27=27
-T__158=158
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=10
-T__21=21
-T__20=20
-T__160=160
-T__167=167
-T__168=168
-T__165=165
-T__166=166
-T__163=163
-T__164=164
-T__161=161
-T__162=162
-T__93=93
-T__19=19
-T__94=94
-T__91=91
-T__92=92
-T__148=148
-T__16=16
-T__147=147
-T__15=15
-T__90=90
-T__18=18
-T__149=149
-T__17=17
-T__12=12
-T__11=11
-T__14=14
-T__13=13
-T__154=154
-T__155=155
-T__156=156
-T__157=157
-T__99=99
-T__150=150
-T__98=98
-T__151=151
-T__97=97
-T__152=152
-T__96=96
-T__153=153
-T__95=95
-T__139=139
-T__138=138
-T__137=137
-T__136=136
-T__80=80
-T__81=81
-T__82=82
-T__83=83
-T__141=141
-T__85=85
-T__142=142
-T__84=84
-T__87=87
-T__140=140
-T__86=86
-T__145=145
-T__89=89
-T__146=146
-T__88=88
-RULE_ML_COMMENT=7
-T__143=143
-T__144=144
-T__126=126
-T__125=125
-T__128=128
-RULE_STRING=4
-T__127=127
-T__71=71
-T__129=129
-T__72=72
-T__70=70
-T__76=76
-T__75=75
-T__130=130
-T__74=74
-T__131=131
-T__73=73
-T__132=132
-T__133=133
-T__79=79
-T__134=134
-T__78=78
-T__135=135
-T__77=77
-T__68=68
-T__69=69
-T__66=66
-T__67=67
-T__64=64
-T__65=65
-T__62=62
-T__63=63
-T__118=118
-T__119=119
-T__116=116
-T__117=117
-T__114=114
-T__115=115
-T__124=124
-T__123=123
-T__122=122
-T__121=121
-T__120=120
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__57=57
-T__58=58
-T__51=51
-T__52=52
-T__53=53
-T__54=54
-T__107=107
-T__108=108
-T__109=109
-T__103=103
-T__59=59
-T__104=104
-T__105=105
-T__106=106
-T__111=111
-T__110=110
-RULE_INT=6
-T__113=113
-T__112=112
-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
-T__102=102
-T__101=101
-T__100=100
-RULE_SL_COMMENT=8
-T__30=30
-T__31=31
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-T__171=171
-T__170=170
-RULE_WS=9
-T__169=169
-'ContinuousSample'=131
-'rate'=126
-'mu'=123
-'requiredRole'=103
-'frequency'=147
-'type'=36
-'outerProvidedRole'=141
-'requiringAssemblyContext'=137
-'OUT'=168
-'BranchTransition'=113
-'ResponseTimeSpecification'=68
-'Scope'=69
-'probabilities'=116
-'BasicComponent'=55
-'BoxedPDF'=120
-'value'=129
-'innerType'=31
-'ResourceDemandSpecification'=109
-'InnerDeclaration'=37
-'CompositeDataType'=32
-'assemblies'=158
-'components'=18
-'DependencyRelationship'=149
-'passiveResources'=56
-'RequiredRole'=51
-'signature'=73
-'modifier'=43
-'externalCall'=77
-'ExternalCall'=145
-'RequiredDelegationConnector'=142
-'describedSignature'=47
-'{'=12
-'assemblyConnectors'=60
-'AbstractAction'=83
-'Interface'=19
-'ProcessingResourceType'=111
-'Signature'=39
-'parentInterfaces'=20
-'loopBodyBehavior'=100
-'ProbabilityMassFunction'=117
-'('=21
-'innerProvidedRole'=140
-'InternalAction'=92
-'AcquireAction'=89
-'Sample'=127
-'ForkAction'=94
-'INT'=159
-'providedRole'=75
-'providingAssemblyContext'=136
-'NormalDistribution'=122
-'branchBehavior'=114
-'branches'=97
-'InfluencingParameter'=64
-'ComponentInstanceReference'=157
-'relationship'=25
-'rightComponentInstanceReference'=156
-'StopAction'=88
-'forkedBehaviors'=95
-'CommunicationLinkResourceType'=112
-'dataType'=38
-'requiredRoles'=28
-'BranchAction'=96
-'Repository'=11
-'INOUT'=169
-'PassiveResourceCapacity'=107
-'interfaces'=17
-'ServiceInputParameter'=71
-'successor'=85
-'LONG'=165
-'outerRequiredRole'=144
-'NUMBER_OF_ELEMENTS'=171
-'CorrelationRelationship'=152
-'fineGrainedBehavior'=57
-'CoarseGrainedBehavior'=52
-'parameters'=41
-'datatypes'=14
-'LoopAction'=99
-'STRING'=160
-'RepositoryComponent'=24
-'signatures'=23
-'ProbabilityDensityFunction'=119
-'externallCall'=79
-'providedDelegationConnectors'=61
-'Parameter'=42
-'ExternalCallFrequency'=146
-'influencedVariable'=151
-'BlackBoxBehavior'=46
-'ExternalCallReturnParameter'=76
-'BYTE'=164
-'name'=13
-'loopIterationCountDistribution'=101
-'NONE'=166
-'requiredDelegationConnectors'=62
-'resourceDemandSpecification'=54
-'LoopIterationCountDistribution'=132
-'characterization'=72
-'DOUBLE'=162
-'returnType'=40
-'providedRoles'=26
-'ComponentInternalBehavior'=86
-'CallFrequency'=148
-'responseTimeSpecification'=50
-'CompositeComponent'=58
-'.'=130
-'passiveResource'=90
-'branchProbabilities'=98
-'innerRequiredRole'=143
-'processingResourceType'=110
-'basicComponent'=81
-'encapsulatedComponent'=134
-'surroundingEntity'=150
-'describedEntity'=48
-'interfaceProvidingRequiringEntity'=70
-'-'=108
-','=15
-'SubSystem'=63
-'BOOL'=161
-'leftInfluencingParameter'=153
-'sample'=118
-'sigma'=124
-'PassiveResourceSpecification'=104
-'ExternalCallAction'=102
-'ContinuousPDF'=121
-'ExponentialDistribution'=125
-'PrimitiveDataType'=35
-'assemblyContexts'=59
-'BranchProbabilities'=115
-'CHAR'=163
-'parameter'=74
-'probability'=128
-')'=22
-'StartAction'=87
-'parentTypes'=33
-'passiveResourceType'=105
-'AssemblyContext'=133
-'innerDeclarations'=34
-'}'=16
-'AssemblyConnector'=135
-'externalCallFrequency'=53
-'VALUE'=170
-'ProvidedRole'=44
-'ProvidedDelegationConnector'=138
-'CollectionDataType'=30
-'actions'=82
-'IN'=167
-'ReleaseAction'=91
-'ExternalCallParameter'=78
-'description'=65
-'predecessor'=84
-'blackBoxBehavior'=27
-'withSynchronizationBarrier'=93
-'assemblyContext'=139
-'capacity'=106
-'behavior'=66
-'scope'=67
-'FineGrainedBehavior'=80
-'influencingParameter'=49
-'coarseGrainedBehavior'=29
-'leftComponentInstanceReference'=155
-'rightInfluencingParameter'=154
-'interface'=45
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java
deleted file mode 100644
index 4dcb5e34..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java
+++ /dev/null
@@ -1,7847 +0,0 @@
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.parser.antlr.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalRepositoryDSLLexer extends Lexer {
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__159=159;
-    public static final int T__27=27;
-    public static final int T__158=158;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__160=160;
-    public static final int T__167=167;
-    public static final int T__168=168;
-    public static final int EOF=-1;
-    public static final int T__165=165;
-    public static final int T__166=166;
-    public static final int T__163=163;
-    public static final int T__164=164;
-    public static final int T__161=161;
-    public static final int T__162=162;
-    public static final int T__93=93;
-    public static final int T__94=94;
-    public static final int T__19=19;
-    public static final int T__91=91;
-    public static final int T__92=92;
-    public static final int T__16=16;
-    public static final int T__148=148;
-    public static final int T__90=90;
-    public static final int T__15=15;
-    public static final int T__147=147;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__149=149;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__154=154;
-    public static final int T__155=155;
-    public static final int T__156=156;
-    public static final int T__157=157;
-    public static final int T__99=99;
-    public static final int T__150=150;
-    public static final int T__98=98;
-    public static final int T__151=151;
-    public static final int T__97=97;
-    public static final int T__152=152;
-    public static final int T__96=96;
-    public static final int T__153=153;
-    public static final int T__95=95;
-    public static final int T__139=139;
-    public static final int T__138=138;
-    public static final int T__137=137;
-    public static final int T__136=136;
-    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__141=141;
-    public static final int T__85=85;
-    public static final int T__142=142;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__140=140;
-    public static final int T__86=86;
-    public static final int T__145=145;
-    public static final int T__89=89;
-    public static final int T__146=146;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__143=143;
-    public static final int T__144=144;
-    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=4;
-    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__131=131;
-    public static final int T__132=132;
-    public static final int T__79=79;
-    public static final int T__133=133;
-    public static final int T__78=78;
-    public static final int T__134=134;
-    public static final int T__77=77;
-    public static final int T__135=135;
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int T__66=66;
-    public static final int T__67=67;
-    public static final int T__64=64;
-    public static final int T__65=65;
-    public static final int T__62=62;
-    public static final int T__63=63;
-    public static final int T__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__55=55;
-    public static final int T__56=56;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int T__54=54;
-    public static final int T__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=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=8;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__171=171;
-    public static final int T__170=170;
-    public static final int RULE_WS=9;
-    public static final int T__169=169;
-
-    // delegates
-    // delegators
-
-    public InternalRepositoryDSLLexer() {;} 
-    public InternalRepositoryDSLLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalRepositoryDSLLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g"; }
-
-    // $ANTLR start "T__11"
-    public final void mT__11() throws RecognitionException {
-        try {
-            int _type = T__11;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:11:7: ( 'Repository' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:11:9: 'Repository'
-            {
-            match("Repository"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__11"
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:12:7: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:12:9: '{'
-            {
-            match('{'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:13:7: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:13:9: 'name'
-            {
-            match("name"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:14:7: ( 'datatypes' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:14:9: 'datatypes'
-            {
-            match("datatypes"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:15:7: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:15:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:16:7: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:16:9: '}'
-            {
-            match('}'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:17:7: ( 'interfaces' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:17:9: 'interfaces'
-            {
-            match("interfaces"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:18:7: ( 'components' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:18:9: 'components'
-            {
-            match("components"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:19:7: ( 'Interface' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:19:9: 'Interface'
-            {
-            match("Interface"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:20:7: ( 'parentInterfaces' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:20:9: 'parentInterfaces'
-            {
-            match("parentInterfaces"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:21:7: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:21:9: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:22:7: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:22:9: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:23:7: ( 'signatures' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:23:9: 'signatures'
-            {
-            match("signatures"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:24:7: ( 'RepositoryComponent' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:24:9: 'RepositoryComponent'
-            {
-            match("RepositoryComponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:25:7: ( 'relationship' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:25:9: 'relationship'
-            {
-            match("relationship"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:26:7: ( 'providedRoles' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:26:9: 'providedRoles'
-            {
-            match("providedRoles"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:27:7: ( 'blackBoxBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:27:9: 'blackBoxBehavior'
-            {
-            match("blackBoxBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:28:7: ( 'requiredRoles' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:28:9: 'requiredRoles'
-            {
-            match("requiredRoles"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:29:7: ( 'coarseGrainedBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:29:9: 'coarseGrainedBehavior'
-            {
-            match("coarseGrainedBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:30:7: ( 'CollectionDataType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:30:9: 'CollectionDataType'
-            {
-            match("CollectionDataType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:31:7: ( 'innerType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:31:9: 'innerType'
-            {
-            match("innerType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:32:7: ( 'CompositeDataType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:32:9: 'CompositeDataType'
-            {
-            match("CompositeDataType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:33:7: ( 'parentTypes' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:33:9: 'parentTypes'
-            {
-            match("parentTypes"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:34:7: ( 'innerDeclarations' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:34:9: 'innerDeclarations'
-            {
-            match("innerDeclarations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:35:7: ( 'PrimitiveDataType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:35:9: 'PrimitiveDataType'
-            {
-            match("PrimitiveDataType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:36:7: ( 'type' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:36:9: 'type'
-            {
-            match("type"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:37:7: ( 'InnerDeclaration' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:37:9: 'InnerDeclaration'
-            {
-            match("InnerDeclaration"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:38:7: ( 'dataType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:38:9: 'dataType'
-            {
-            match("dataType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:39:7: ( 'Signature' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:39:9: 'Signature'
-            {
-            match("Signature"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:40:7: ( 'returnType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:40:9: 'returnType'
-            {
-            match("returnType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:41:7: ( 'parameters' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:41:9: 'parameters'
-            {
-            match("parameters"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:42:7: ( 'Parameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:42:9: 'Parameter'
-            {
-            match("Parameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:43:7: ( 'modifier' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:43:9: 'modifier'
-            {
-            match("modifier"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:44:7: ( 'ProvidedRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:44:9: 'ProvidedRole'
-            {
-            match("ProvidedRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:45:7: ( 'interface' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:45:9: 'interface'
-            {
-            match("interface"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:46:7: ( 'BlackBoxBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:46:9: 'BlackBoxBehavior'
-            {
-            match("BlackBoxBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:47:7: ( 'describedSignature' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:47:9: 'describedSignature'
-            {
-            match("describedSignature"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:48:7: ( 'describedEntity' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:48:9: 'describedEntity'
-            {
-            match("describedEntity"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:49:7: ( 'influencingParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:49:9: 'influencingParameter'
-            {
-            match("influencingParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:50:7: ( 'responseTimeSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:50:9: 'responseTimeSpecification'
-            {
-            match("responseTimeSpecification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:51:7: ( 'RequiredRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:51:9: 'RequiredRole'
-            {
-            match("RequiredRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:52:7: ( 'CoarseGrainedBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:52:9: 'CoarseGrainedBehavior'
-            {
-            match("CoarseGrainedBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:53:7: ( 'externalCallFrequency' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:53:9: 'externalCallFrequency'
-            {
-            match("externalCallFrequency"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "T__54"
-    public final void mT__54() throws RecognitionException {
-        try {
-            int _type = T__54;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:54:7: ( 'resourceDemandSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:54:9: 'resourceDemandSpecification'
-            {
-            match("resourceDemandSpecification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__54"
-
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
-        try {
-            int _type = T__55;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:55:7: ( 'BasicComponent' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:55:9: 'BasicComponent'
-            {
-            match("BasicComponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__55"
-
-    // $ANTLR start "T__56"
-    public final void mT__56() throws RecognitionException {
-        try {
-            int _type = T__56;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:56:7: ( 'passiveResources' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:56:9: 'passiveResources'
-            {
-            match("passiveResources"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__56"
-
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
-        try {
-            int _type = T__57;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:57:7: ( 'fineGrainedBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:57:9: 'fineGrainedBehavior'
-            {
-            match("fineGrainedBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
-
-    // $ANTLR start "T__58"
-    public final void mT__58() throws RecognitionException {
-        try {
-            int _type = T__58;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:58:7: ( 'CompositeComponent' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:58:9: 'CompositeComponent'
-            {
-            match("CompositeComponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__58"
-
-    // $ANTLR start "T__59"
-    public final void mT__59() throws RecognitionException {
-        try {
-            int _type = T__59;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:59:7: ( 'assemblyContexts' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:59:9: 'assemblyContexts'
-            {
-            match("assemblyContexts"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
-
-    // $ANTLR start "T__60"
-    public final void mT__60() throws RecognitionException {
-        try {
-            int _type = T__60;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:60:7: ( 'assemblyConnectors' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:60:9: 'assemblyConnectors'
-            {
-            match("assemblyConnectors"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
-
-    // $ANTLR start "T__61"
-    public final void mT__61() throws RecognitionException {
-        try {
-            int _type = T__61;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:61:7: ( 'providedDelegationConnectors' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:61:9: 'providedDelegationConnectors'
-            {
-            match("providedDelegationConnectors"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__61"
-
-    // $ANTLR start "T__62"
-    public final void mT__62() throws RecognitionException {
-        try {
-            int _type = T__62;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:62:7: ( 'requiredDelegationConnectors' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:62:9: 'requiredDelegationConnectors'
-            {
-            match("requiredDelegationConnectors"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__62"
-
-    // $ANTLR start "T__63"
-    public final void mT__63() throws RecognitionException {
-        try {
-            int _type = T__63;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:63:7: ( 'SubSystem' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:63:9: 'SubSystem'
-            {
-            match("SubSystem"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__63"
-
-    // $ANTLR start "T__64"
-    public final void mT__64() throws RecognitionException {
-        try {
-            int _type = T__64;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:64:7: ( 'InfluencingParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:64:9: 'InfluencingParameter'
-            {
-            match("InfluencingParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__64"
-
-    // $ANTLR start "T__65"
-    public final void mT__65() throws RecognitionException {
-        try {
-            int _type = T__65;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:65:7: ( 'description' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:65:9: 'description'
-            {
-            match("description"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__65"
-
-    // $ANTLR start "T__66"
-    public final void mT__66() throws RecognitionException {
-        try {
-            int _type = T__66;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:66:7: ( 'behavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:66:9: 'behavior'
-            {
-            match("behavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__66"
-
-    // $ANTLR start "T__67"
-    public final void mT__67() throws RecognitionException {
-        try {
-            int _type = T__67;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:67:7: ( 'scope' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:67:9: 'scope'
-            {
-            match("scope"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__67"
-
-    // $ANTLR start "T__68"
-    public final void mT__68() throws RecognitionException {
-        try {
-            int _type = T__68;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:7: ( 'ResponseTimeSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:9: 'ResponseTimeSpecification'
-            {
-            match("ResponseTimeSpecification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__68"
-
-    // $ANTLR start "T__69"
-    public final void mT__69() throws RecognitionException {
-        try {
-            int _type = T__69;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:7: ( 'Scope' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:9: 'Scope'
-            {
-            match("Scope"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__69"
-
-    // $ANTLR start "T__70"
-    public final void mT__70() throws RecognitionException {
-        try {
-            int _type = T__70;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:7: ( 'interfaceProvidingRequiringEntity' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:9: 'interfaceProvidingRequiringEntity'
-            {
-            match("interfaceProvidingRequiringEntity"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__70"
-
-    // $ANTLR start "T__71"
-    public final void mT__71() throws RecognitionException {
-        try {
-            int _type = T__71;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:71:7: ( 'ServiceInputParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:71:9: 'ServiceInputParameter'
-            {
-            match("ServiceInputParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__71"
-
-    // $ANTLR start "T__72"
-    public final void mT__72() throws RecognitionException {
-        try {
-            int _type = T__72;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:72:7: ( 'characterization' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:72:9: 'characterization'
-            {
-            match("characterization"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__72"
-
-    // $ANTLR start "T__73"
-    public final void mT__73() throws RecognitionException {
-        try {
-            int _type = T__73;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:73:7: ( 'signature' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:73:9: 'signature'
-            {
-            match("signature"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__73"
-
-    // $ANTLR start "T__74"
-    public final void mT__74() throws RecognitionException {
-        try {
-            int _type = T__74;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:74:7: ( 'parameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:74:9: 'parameter'
-            {
-            match("parameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__74"
-
-    // $ANTLR start "T__75"
-    public final void mT__75() throws RecognitionException {
-        try {
-            int _type = T__75;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:75:7: ( 'providedRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:75:9: 'providedRole'
-            {
-            match("providedRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__75"
-
-    // $ANTLR start "T__76"
-    public final void mT__76() throws RecognitionException {
-        try {
-            int _type = T__76;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:76:7: ( 'ExternalCallReturnParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:76:9: 'ExternalCallReturnParameter'
-            {
-            match("ExternalCallReturnParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__76"
-
-    // $ANTLR start "T__77"
-    public final void mT__77() throws RecognitionException {
-        try {
-            int _type = T__77;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:7: ( 'externalCall' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:9: 'externalCall'
-            {
-            match("externalCall"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__77"
-
-    // $ANTLR start "T__78"
-    public final void mT__78() throws RecognitionException {
-        try {
-            int _type = T__78;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:78:7: ( 'ExternalCallParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:78:9: 'ExternalCallParameter'
-            {
-            match("ExternalCallParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__78"
-
-    // $ANTLR start "T__79"
-    public final void mT__79() throws RecognitionException {
-        try {
-            int _type = T__79;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:79:7: ( 'externallCall' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:79:9: 'externallCall'
-            {
-            match("externallCall"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__79"
-
-    // $ANTLR start "T__80"
-    public final void mT__80() throws RecognitionException {
-        try {
-            int _type = T__80;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:7: ( 'FineGrainedBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:9: 'FineGrainedBehavior'
-            {
-            match("FineGrainedBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__80"
-
-    // $ANTLR start "T__81"
-    public final void mT__81() throws RecognitionException {
-        try {
-            int _type = T__81;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:7: ( 'basicComponent' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:9: 'basicComponent'
-            {
-            match("basicComponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__81"
-
-    // $ANTLR start "T__82"
-    public final void mT__82() throws RecognitionException {
-        try {
-            int _type = T__82;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:82:7: ( 'actions' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:82:9: 'actions'
-            {
-            match("actions"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__82"
-
-    // $ANTLR start "T__83"
-    public final void mT__83() throws RecognitionException {
-        try {
-            int _type = T__83;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:83:7: ( 'AbstractAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:83:9: 'AbstractAction'
-            {
-            match("AbstractAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__83"
-
-    // $ANTLR start "T__84"
-    public final void mT__84() throws RecognitionException {
-        try {
-            int _type = T__84;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:84:7: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:84:9: 'predecessor'
-            {
-            match("predecessor"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__84"
-
-    // $ANTLR start "T__85"
-    public final void mT__85() throws RecognitionException {
-        try {
-            int _type = T__85;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:7: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:9: 'successor'
-            {
-            match("successor"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__85"
-
-    // $ANTLR start "T__86"
-    public final void mT__86() throws RecognitionException {
-        try {
-            int _type = T__86;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:7: ( 'ComponentInternalBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:9: 'ComponentInternalBehavior'
-            {
-            match("ComponentInternalBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__86"
-
-    // $ANTLR start "T__87"
-    public final void mT__87() throws RecognitionException {
-        try {
-            int _type = T__87;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:7: ( 'StartAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:9: 'StartAction'
-            {
-            match("StartAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__87"
-
-    // $ANTLR start "T__88"
-    public final void mT__88() throws RecognitionException {
-        try {
-            int _type = T__88;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:88:7: ( 'StopAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:88:9: 'StopAction'
-            {
-            match("StopAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__88"
-
-    // $ANTLR start "T__89"
-    public final void mT__89() throws RecognitionException {
-        try {
-            int _type = T__89;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:89:7: ( 'AcquireAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:89:9: 'AcquireAction'
-            {
-            match("AcquireAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__89"
-
-    // $ANTLR start "T__90"
-    public final void mT__90() throws RecognitionException {
-        try {
-            int _type = T__90;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:90:7: ( 'passiveResource' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:90:9: 'passiveResource'
-            {
-            match("passiveResource"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__90"
-
-    // $ANTLR start "T__91"
-    public final void mT__91() throws RecognitionException {
-        try {
-            int _type = T__91;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:91:7: ( 'ReleaseAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:91:9: 'ReleaseAction'
-            {
-            match("ReleaseAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__91"
-
-    // $ANTLR start "T__92"
-    public final void mT__92() throws RecognitionException {
-        try {
-            int _type = T__92;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:92:7: ( 'InternalAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:92:9: 'InternalAction'
-            {
-            match("InternalAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__92"
-
-    // $ANTLR start "T__93"
-    public final void mT__93() throws RecognitionException {
-        try {
-            int _type = T__93;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:93:7: ( 'withSynchronizationBarrier' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:93:9: 'withSynchronizationBarrier'
-            {
-            match("withSynchronizationBarrier"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__93"
-
-    // $ANTLR start "T__94"
-    public final void mT__94() throws RecognitionException {
-        try {
-            int _type = T__94;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:94:7: ( 'ForkAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:94:9: 'ForkAction'
-            {
-            match("ForkAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__94"
-
-    // $ANTLR start "T__95"
-    public final void mT__95() throws RecognitionException {
-        try {
-            int _type = T__95;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:95:7: ( 'forkedBehaviors' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:95:9: 'forkedBehaviors'
-            {
-            match("forkedBehaviors"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__95"
-
-    // $ANTLR start "T__96"
-    public final void mT__96() throws RecognitionException {
-        try {
-            int _type = T__96;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:96:7: ( 'BranchAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:96:9: 'BranchAction'
-            {
-            match("BranchAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__96"
-
-    // $ANTLR start "T__97"
-    public final void mT__97() throws RecognitionException {
-        try {
-            int _type = T__97;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:97:7: ( 'branches' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:97:9: 'branches'
-            {
-            match("branches"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__97"
-
-    // $ANTLR start "T__98"
-    public final void mT__98() throws RecognitionException {
-        try {
-            int _type = T__98;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:98:7: ( 'branchProbabilities' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:98:9: 'branchProbabilities'
-            {
-            match("branchProbabilities"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__98"
-
-    // $ANTLR start "T__99"
-    public final void mT__99() throws RecognitionException {
-        try {
-            int _type = T__99;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:99:7: ( 'LoopAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:99:9: 'LoopAction'
-            {
-            match("LoopAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__99"
-
-    // $ANTLR start "T__100"
-    public final void mT__100() throws RecognitionException {
-        try {
-            int _type = T__100;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:100:8: ( 'loopBodyBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:100:10: 'loopBodyBehavior'
-            {
-            match("loopBodyBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__100"
-
-    // $ANTLR start "T__101"
-    public final void mT__101() throws RecognitionException {
-        try {
-            int _type = T__101;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:101:8: ( 'loopIterationCountDistribution' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:101:10: 'loopIterationCountDistribution'
-            {
-            match("loopIterationCountDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__101"
-
-    // $ANTLR start "T__102"
-    public final void mT__102() throws RecognitionException {
-        try {
-            int _type = T__102;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:102:8: ( 'ExternalCallAction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:102:10: 'ExternalCallAction'
-            {
-            match("ExternalCallAction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__102"
-
-    // $ANTLR start "T__103"
-    public final void mT__103() throws RecognitionException {
-        try {
-            int _type = T__103;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:103:8: ( 'requiredRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:103:10: 'requiredRole'
-            {
-            match("requiredRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__103"
-
-    // $ANTLR start "T__104"
-    public final void mT__104() throws RecognitionException {
-        try {
-            int _type = T__104;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:104:8: ( 'PassiveResourceSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:104:10: 'PassiveResourceSpecification'
-            {
-            match("PassiveResourceSpecification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__104"
-
-    // $ANTLR start "T__105"
-    public final void mT__105() throws RecognitionException {
-        try {
-            int _type = T__105;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:105:8: ( 'passiveResourceType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:105:10: 'passiveResourceType'
-            {
-            match("passiveResourceType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__105"
-
-    // $ANTLR start "T__106"
-    public final void mT__106() throws RecognitionException {
-        try {
-            int _type = T__106;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:106:8: ( 'capacity' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:106:10: 'capacity'
-            {
-            match("capacity"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__106"
-
-    // $ANTLR start "T__107"
-    public final void mT__107() throws RecognitionException {
-        try {
-            int _type = T__107;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:107:8: ( 'PassiveResourceCapacity' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:107:10: 'PassiveResourceCapacity'
-            {
-            match("PassiveResourceCapacity"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__107"
-
-    // $ANTLR start "T__108"
-    public final void mT__108() throws RecognitionException {
-        try {
-            int _type = T__108;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:108:8: ( '-' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:108:10: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__108"
-
-    // $ANTLR start "T__109"
-    public final void mT__109() throws RecognitionException {
-        try {
-            int _type = T__109;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:109:8: ( 'ResourceDemandSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:109:10: 'ResourceDemandSpecification'
-            {
-            match("ResourceDemandSpecification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__109"
-
-    // $ANTLR start "T__110"
-    public final void mT__110() throws RecognitionException {
-        try {
-            int _type = T__110;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:110:8: ( 'processingResourceType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:110:10: 'processingResourceType'
-            {
-            match("processingResourceType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__110"
-
-    // $ANTLR start "T__111"
-    public final void mT__111() throws RecognitionException {
-        try {
-            int _type = T__111;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:8: ( 'ProcessingResourceType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:10: 'ProcessingResourceType'
-            {
-            match("ProcessingResourceType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__111"
-
-    // $ANTLR start "T__112"
-    public final void mT__112() throws RecognitionException {
-        try {
-            int _type = T__112;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:8: ( 'CommunicationLinkResourceType' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:10: 'CommunicationLinkResourceType'
-            {
-            match("CommunicationLinkResourceType"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__112"
-
-    // $ANTLR start "T__113"
-    public final void mT__113() throws RecognitionException {
-        try {
-            int _type = T__113;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:8: ( 'BranchTransition' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:10: 'BranchTransition'
-            {
-            match("BranchTransition"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__113"
-
-    // $ANTLR start "T__114"
-    public final void mT__114() throws RecognitionException {
-        try {
-            int _type = T__114;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:114:8: ( 'branchBehavior' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:114:10: 'branchBehavior'
-            {
-            match("branchBehavior"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__114"
-
-    // $ANTLR start "T__115"
-    public final void mT__115() throws RecognitionException {
-        try {
-            int _type = T__115;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:115:8: ( 'BranchProbabilities' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:115:10: 'BranchProbabilities'
-            {
-            match("BranchProbabilities"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__115"
-
-    // $ANTLR start "T__116"
-    public final void mT__116() throws RecognitionException {
-        try {
-            int _type = T__116;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:116:8: ( 'probabilities' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:116:10: 'probabilities'
-            {
-            match("probabilities"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__116"
-
-    // $ANTLR start "T__117"
-    public final void mT__117() throws RecognitionException {
-        try {
-            int _type = T__117;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:117:8: ( 'ProbabilityMassFunction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:117:10: 'ProbabilityMassFunction'
-            {
-            match("ProbabilityMassFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__117"
-
-    // $ANTLR start "T__118"
-    public final void mT__118() throws RecognitionException {
-        try {
-            int _type = T__118;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:118:8: ( 'sample' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:118:10: 'sample'
-            {
-            match("sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__118"
-
-    // $ANTLR start "T__119"
-    public final void mT__119() throws RecognitionException {
-        try {
-            int _type = T__119;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:119:8: ( 'ProbabilityDensityFunction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:119:10: 'ProbabilityDensityFunction'
-            {
-            match("ProbabilityDensityFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__119"
-
-    // $ANTLR start "T__120"
-    public final void mT__120() throws RecognitionException {
-        try {
-            int _type = T__120;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:120:8: ( 'BoxedPDF' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:120:10: 'BoxedPDF'
-            {
-            match("BoxedPDF"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__120"
-
-    // $ANTLR start "T__121"
-    public final void mT__121() throws RecognitionException {
-        try {
-            int _type = T__121;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:121:8: ( 'ContinuousPDF' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:121:10: 'ContinuousPDF'
-            {
-            match("ContinuousPDF"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__121"
-
-    // $ANTLR start "T__122"
-    public final void mT__122() throws RecognitionException {
-        try {
-            int _type = T__122;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:122:8: ( 'NormalDistribution' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:122:10: 'NormalDistribution'
-            {
-            match("NormalDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__122"
-
-    // $ANTLR start "T__123"
-    public final void mT__123() throws RecognitionException {
-        try {
-            int _type = T__123;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:123:8: ( 'mu' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:123:10: 'mu'
-            {
-            match("mu"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__123"
-
-    // $ANTLR start "T__124"
-    public final void mT__124() throws RecognitionException {
-        try {
-            int _type = T__124;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:124:8: ( 'sigma' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:124:10: 'sigma'
-            {
-            match("sigma"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__124"
-
-    // $ANTLR start "T__125"
-    public final void mT__125() throws RecognitionException {
-        try {
-            int _type = T__125;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:125:8: ( 'ExponentialDistribution' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:125:10: 'ExponentialDistribution'
-            {
-            match("ExponentialDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__125"
-
-    // $ANTLR start "T__126"
-    public final void mT__126() throws RecognitionException {
-        try {
-            int _type = T__126;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:126:8: ( 'rate' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:126:10: 'rate'
-            {
-            match("rate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__126"
-
-    // $ANTLR start "T__127"
-    public final void mT__127() throws RecognitionException {
-        try {
-            int _type = T__127;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:127:8: ( 'Sample' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:127:10: 'Sample'
-            {
-            match("Sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__127"
-
-    // $ANTLR start "T__128"
-    public final void mT__128() throws RecognitionException {
-        try {
-            int _type = T__128;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:128:8: ( 'probability' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:128:10: 'probability'
-            {
-            match("probability"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__128"
-
-    // $ANTLR start "T__129"
-    public final void mT__129() throws RecognitionException {
-        try {
-            int _type = T__129;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:8: ( 'value' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:10: 'value'
-            {
-            match("value"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__129"
-
-    // $ANTLR start "T__130"
-    public final void mT__130() throws RecognitionException {
-        try {
-            int _type = T__130;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:130:8: ( '.' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:130:10: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__130"
-
-    // $ANTLR start "T__131"
-    public final void mT__131() throws RecognitionException {
-        try {
-            int _type = T__131;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:131:8: ( 'ContinuousSample' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:131:10: 'ContinuousSample'
-            {
-            match("ContinuousSample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__131"
-
-    // $ANTLR start "T__132"
-    public final void mT__132() throws RecognitionException {
-        try {
-            int _type = T__132;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:132:8: ( 'LoopIterationCountDistribution' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:132:10: 'LoopIterationCountDistribution'
-            {
-            match("LoopIterationCountDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__132"
-
-    // $ANTLR start "T__133"
-    public final void mT__133() throws RecognitionException {
-        try {
-            int _type = T__133;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:133:8: ( 'AssemblyContext' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:133:10: 'AssemblyContext'
-            {
-            match("AssemblyContext"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__133"
-
-    // $ANTLR start "T__134"
-    public final void mT__134() throws RecognitionException {
-        try {
-            int _type = T__134;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:134:8: ( 'encapsulatedComponent' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:134:10: 'encapsulatedComponent'
-            {
-            match("encapsulatedComponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__134"
-
-    // $ANTLR start "T__135"
-    public final void mT__135() throws RecognitionException {
-        try {
-            int _type = T__135;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:135:8: ( 'AssemblyConnector' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:135:10: 'AssemblyConnector'
-            {
-            match("AssemblyConnector"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__135"
-
-    // $ANTLR start "T__136"
-    public final void mT__136() throws RecognitionException {
-        try {
-            int _type = T__136;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:136:8: ( 'providingAssemblyContext' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:136:10: 'providingAssemblyContext'
-            {
-            match("providingAssemblyContext"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__136"
-
-    // $ANTLR start "T__137"
-    public final void mT__137() throws RecognitionException {
-        try {
-            int _type = T__137;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:8: ( 'requiringAssemblyContext' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:10: 'requiringAssemblyContext'
-            {
-            match("requiringAssemblyContext"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__137"
-
-    // $ANTLR start "T__138"
-    public final void mT__138() throws RecognitionException {
-        try {
-            int _type = T__138;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:8: ( 'ProvidedDelegationConnector' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:10: 'ProvidedDelegationConnector'
-            {
-            match("ProvidedDelegationConnector"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__138"
-
-    // $ANTLR start "T__139"
-    public final void mT__139() throws RecognitionException {
-        try {
-            int _type = T__139;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:8: ( 'assemblyContext' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:10: 'assemblyContext'
-            {
-            match("assemblyContext"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__139"
-
-    // $ANTLR start "T__140"
-    public final void mT__140() throws RecognitionException {
-        try {
-            int _type = T__140;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:140:8: ( 'innerProvidedRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:140:10: 'innerProvidedRole'
-            {
-            match("innerProvidedRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__140"
-
-    // $ANTLR start "T__141"
-    public final void mT__141() throws RecognitionException {
-        try {
-            int _type = T__141;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:141:8: ( 'outerProvidedRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:141:10: 'outerProvidedRole'
-            {
-            match("outerProvidedRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__141"
-
-    // $ANTLR start "T__142"
-    public final void mT__142() throws RecognitionException {
-        try {
-            int _type = T__142;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:142:8: ( 'RequiredDelegationConnector' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:142:10: 'RequiredDelegationConnector'
-            {
-            match("RequiredDelegationConnector"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__142"
-
-    // $ANTLR start "T__143"
-    public final void mT__143() throws RecognitionException {
-        try {
-            int _type = T__143;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:143:8: ( 'innerRequiredRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:143:10: 'innerRequiredRole'
-            {
-            match("innerRequiredRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__143"
-
-    // $ANTLR start "T__144"
-    public final void mT__144() throws RecognitionException {
-        try {
-            int _type = T__144;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:144:8: ( 'outerRequiredRole' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:144:10: 'outerRequiredRole'
-            {
-            match("outerRequiredRole"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__144"
-
-    // $ANTLR start "T__145"
-    public final void mT__145() throws RecognitionException {
-        try {
-            int _type = T__145;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:145:8: ( 'ExternalCall' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:145:10: 'ExternalCall'
-            {
-            match("ExternalCall"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__145"
-
-    // $ANTLR start "T__146"
-    public final void mT__146() throws RecognitionException {
-        try {
-            int _type = T__146;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:146:8: ( 'ExternalCallFrequency' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:146:10: 'ExternalCallFrequency'
-            {
-            match("ExternalCallFrequency"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__146"
-
-    // $ANTLR start "T__147"
-    public final void mT__147() throws RecognitionException {
-        try {
-            int _type = T__147;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:147:8: ( 'frequency' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:147:10: 'frequency'
-            {
-            match("frequency"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__147"
-
-    // $ANTLR start "T__148"
-    public final void mT__148() throws RecognitionException {
-        try {
-            int _type = T__148;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:148:8: ( 'CallFrequency' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:148:10: 'CallFrequency'
-            {
-            match("CallFrequency"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__148"
-
-    // $ANTLR start "T__149"
-    public final void mT__149() throws RecognitionException {
-        try {
-            int _type = T__149;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:149:8: ( 'DependencyRelationship' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:149:10: 'DependencyRelationship'
-            {
-            match("DependencyRelationship"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__149"
-
-    // $ANTLR start "T__150"
-    public final void mT__150() throws RecognitionException {
-        try {
-            int _type = T__150;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:150:8: ( 'surroundingEntity' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:150:10: 'surroundingEntity'
-            {
-            match("surroundingEntity"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__150"
-
-    // $ANTLR start "T__151"
-    public final void mT__151() throws RecognitionException {
-        try {
-            int _type = T__151;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:151:8: ( 'influencedVariable' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:151:10: 'influencedVariable'
-            {
-            match("influencedVariable"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__151"
-
-    // $ANTLR start "T__152"
-    public final void mT__152() throws RecognitionException {
-        try {
-            int _type = T__152;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:152:8: ( 'CorrelationRelationship' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:152:10: 'CorrelationRelationship'
-            {
-            match("CorrelationRelationship"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__152"
-
-    // $ANTLR start "T__153"
-    public final void mT__153() throws RecognitionException {
-        try {
-            int _type = T__153;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:153:8: ( 'leftInfluencingParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:153:10: 'leftInfluencingParameter'
-            {
-            match("leftInfluencingParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__153"
-
-    // $ANTLR start "T__154"
-    public final void mT__154() throws RecognitionException {
-        try {
-            int _type = T__154;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:154:8: ( 'rightInfluencingParameter' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:154:10: 'rightInfluencingParameter'
-            {
-            match("rightInfluencingParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__154"
-
-    // $ANTLR start "T__155"
-    public final void mT__155() throws RecognitionException {
-        try {
-            int _type = T__155;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:8: ( 'leftComponentInstanceReference' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:10: 'leftComponentInstanceReference'
-            {
-            match("leftComponentInstanceReference"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__155"
-
-    // $ANTLR start "T__156"
-    public final void mT__156() throws RecognitionException {
-        try {
-            int _type = T__156;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:156:8: ( 'rightComponentInstanceReference' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:156:10: 'rightComponentInstanceReference'
-            {
-            match("rightComponentInstanceReference"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__156"
-
-    // $ANTLR start "T__157"
-    public final void mT__157() throws RecognitionException {
-        try {
-            int _type = T__157;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:157:8: ( 'ComponentInstanceReference' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:157:10: 'ComponentInstanceReference'
-            {
-            match("ComponentInstanceReference"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__157"
-
-    // $ANTLR start "T__158"
-    public final void mT__158() throws RecognitionException {
-        try {
-            int _type = T__158;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:158:8: ( 'assemblies' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:158:10: 'assemblies'
-            {
-            match("assemblies"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__158"
-
-    // $ANTLR start "T__159"
-    public final void mT__159() throws RecognitionException {
-        try {
-            int _type = T__159;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:8: ( 'INT' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:10: 'INT'
-            {
-            match("INT"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__159"
-
-    // $ANTLR start "T__160"
-    public final void mT__160() throws RecognitionException {
-        try {
-            int _type = T__160;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:8: ( 'STRING' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:10: 'STRING'
-            {
-            match("STRING"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__160"
-
-    // $ANTLR start "T__161"
-    public final void mT__161() throws RecognitionException {
-        try {
-            int _type = T__161;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:8: ( 'BOOL' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:10: 'BOOL'
-            {
-            match("BOOL"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__161"
-
-    // $ANTLR start "T__162"
-    public final void mT__162() throws RecognitionException {
-        try {
-            int _type = T__162;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:162:8: ( 'DOUBLE' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:162:10: 'DOUBLE'
-            {
-            match("DOUBLE"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__162"
-
-    // $ANTLR start "T__163"
-    public final void mT__163() throws RecognitionException {
-        try {
-            int _type = T__163;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:163:8: ( 'CHAR' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:163:10: 'CHAR'
-            {
-            match("CHAR"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__163"
-
-    // $ANTLR start "T__164"
-    public final void mT__164() throws RecognitionException {
-        try {
-            int _type = T__164;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:164:8: ( 'BYTE' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:164:10: 'BYTE'
-            {
-            match("BYTE"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__164"
-
-    // $ANTLR start "T__165"
-    public final void mT__165() throws RecognitionException {
-        try {
-            int _type = T__165;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:165:8: ( 'LONG' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:165:10: 'LONG'
-            {
-            match("LONG"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__165"
-
-    // $ANTLR start "T__166"
-    public final void mT__166() throws RecognitionException {
-        try {
-            int _type = T__166;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:166:8: ( 'NONE' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:166:10: 'NONE'
-            {
-            match("NONE"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__166"
-
-    // $ANTLR start "T__167"
-    public final void mT__167() throws RecognitionException {
-        try {
-            int _type = T__167;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:167:8: ( 'IN' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:167:10: 'IN'
-            {
-            match("IN"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__167"
-
-    // $ANTLR start "T__168"
-    public final void mT__168() throws RecognitionException {
-        try {
-            int _type = T__168;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:168:8: ( 'OUT' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:168:10: 'OUT'
-            {
-            match("OUT"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__168"
-
-    // $ANTLR start "T__169"
-    public final void mT__169() throws RecognitionException {
-        try {
-            int _type = T__169;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:169:8: ( 'INOUT' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:169:10: 'INOUT'
-            {
-            match("INOUT"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__169"
-
-    // $ANTLR start "T__170"
-    public final void mT__170() throws RecognitionException {
-        try {
-            int _type = T__170;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:170:8: ( 'VALUE' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:170:10: 'VALUE'
-            {
-            match("VALUE"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__170"
-
-    // $ANTLR start "T__171"
-    public final void mT__171() throws RecognitionException {
-        try {
-            int _type = T__171;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:171:8: ( 'NUMBER_OF_ELEMENTS' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:171:10: 'NUMBER_OF_ELEMENTS'
-            {
-            match("NUMBER_OF_ELEMENTS"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__171"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:11: ( '^' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='^') ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:11: '^'
-                    {
-                    match('^'); 
-
-                    }
-                    break;
-
-            }
-
-            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-                input.consume();
-
-            }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:10: ( ( '0' .. '9' )+ )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:12: ( '0' .. '9' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:12: ( '0' .. '9' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:66: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:137: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:41: ( '\\r' )? '\\n'
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8542:16: ( . )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8542:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | 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 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=168;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:154: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 26 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:160: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 27 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:166: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 28 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:172: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 29 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:178: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 30 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:184: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 31 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:190: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 32 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:196: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 33 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:202: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 34 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:208: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 35 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:214: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 36 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:220: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 37 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:226: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 38 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:232: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 39 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:238: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 40 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:244: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 41 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:250: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 42 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:256: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 43 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:262: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 44 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:268: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 45 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:274: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 46 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:280: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 47 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:286: T__57
-                {
-                mT__57(); 
-
-                }
-                break;
-            case 48 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:292: T__58
-                {
-                mT__58(); 
-
-                }
-                break;
-            case 49 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:298: T__59
-                {
-                mT__59(); 
-
-                }
-                break;
-            case 50 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:304: T__60
-                {
-                mT__60(); 
-
-                }
-                break;
-            case 51 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:310: T__61
-                {
-                mT__61(); 
-
-                }
-                break;
-            case 52 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:316: T__62
-                {
-                mT__62(); 
-
-                }
-                break;
-            case 53 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:322: T__63
-                {
-                mT__63(); 
-
-                }
-                break;
-            case 54 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:328: T__64
-                {
-                mT__64(); 
-
-                }
-                break;
-            case 55 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:334: T__65
-                {
-                mT__65(); 
-
-                }
-                break;
-            case 56 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:340: T__66
-                {
-                mT__66(); 
-
-                }
-                break;
-            case 57 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:346: T__67
-                {
-                mT__67(); 
-
-                }
-                break;
-            case 58 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:352: T__68
-                {
-                mT__68(); 
-
-                }
-                break;
-            case 59 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:358: T__69
-                {
-                mT__69(); 
-
-                }
-                break;
-            case 60 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:364: T__70
-                {
-                mT__70(); 
-
-                }
-                break;
-            case 61 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:370: T__71
-                {
-                mT__71(); 
-
-                }
-                break;
-            case 62 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:376: T__72
-                {
-                mT__72(); 
-
-                }
-                break;
-            case 63 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:382: T__73
-                {
-                mT__73(); 
-
-                }
-                break;
-            case 64 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:388: T__74
-                {
-                mT__74(); 
-
-                }
-                break;
-            case 65 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:394: T__75
-                {
-                mT__75(); 
-
-                }
-                break;
-            case 66 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:400: T__76
-                {
-                mT__76(); 
-
-                }
-                break;
-            case 67 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:406: T__77
-                {
-                mT__77(); 
-
-                }
-                break;
-            case 68 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:412: T__78
-                {
-                mT__78(); 
-
-                }
-                break;
-            case 69 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:418: T__79
-                {
-                mT__79(); 
-
-                }
-                break;
-            case 70 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:424: T__80
-                {
-                mT__80(); 
-
-                }
-                break;
-            case 71 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:430: T__81
-                {
-                mT__81(); 
-
-                }
-                break;
-            case 72 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:436: T__82
-                {
-                mT__82(); 
-
-                }
-                break;
-            case 73 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:442: T__83
-                {
-                mT__83(); 
-
-                }
-                break;
-            case 74 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:448: T__84
-                {
-                mT__84(); 
-
-                }
-                break;
-            case 75 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:454: T__85
-                {
-                mT__85(); 
-
-                }
-                break;
-            case 76 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:460: T__86
-                {
-                mT__86(); 
-
-                }
-                break;
-            case 77 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:466: T__87
-                {
-                mT__87(); 
-
-                }
-                break;
-            case 78 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:472: T__88
-                {
-                mT__88(); 
-
-                }
-                break;
-            case 79 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:478: T__89
-                {
-                mT__89(); 
-
-                }
-                break;
-            case 80 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:484: T__90
-                {
-                mT__90(); 
-
-                }
-                break;
-            case 81 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:490: T__91
-                {
-                mT__91(); 
-
-                }
-                break;
-            case 82 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:496: T__92
-                {
-                mT__92(); 
-
-                }
-                break;
-            case 83 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:502: T__93
-                {
-                mT__93(); 
-
-                }
-                break;
-            case 84 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:508: T__94
-                {
-                mT__94(); 
-
-                }
-                break;
-            case 85 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:514: T__95
-                {
-                mT__95(); 
-
-                }
-                break;
-            case 86 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:520: T__96
-                {
-                mT__96(); 
-
-                }
-                break;
-            case 87 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:526: T__97
-                {
-                mT__97(); 
-
-                }
-                break;
-            case 88 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:532: T__98
-                {
-                mT__98(); 
-
-                }
-                break;
-            case 89 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:538: T__99
-                {
-                mT__99(); 
-
-                }
-                break;
-            case 90 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:544: T__100
-                {
-                mT__100(); 
-
-                }
-                break;
-            case 91 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:551: T__101
-                {
-                mT__101(); 
-
-                }
-                break;
-            case 92 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:558: T__102
-                {
-                mT__102(); 
-
-                }
-                break;
-            case 93 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:565: T__103
-                {
-                mT__103(); 
-
-                }
-                break;
-            case 94 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:572: T__104
-                {
-                mT__104(); 
-
-                }
-                break;
-            case 95 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:579: T__105
-                {
-                mT__105(); 
-
-                }
-                break;
-            case 96 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:586: T__106
-                {
-                mT__106(); 
-
-                }
-                break;
-            case 97 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:593: T__107
-                {
-                mT__107(); 
-
-                }
-                break;
-            case 98 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:600: T__108
-                {
-                mT__108(); 
-
-                }
-                break;
-            case 99 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:607: T__109
-                {
-                mT__109(); 
-
-                }
-                break;
-            case 100 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:614: T__110
-                {
-                mT__110(); 
-
-                }
-                break;
-            case 101 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:621: T__111
-                {
-                mT__111(); 
-
-                }
-                break;
-            case 102 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:628: T__112
-                {
-                mT__112(); 
-
-                }
-                break;
-            case 103 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:635: T__113
-                {
-                mT__113(); 
-
-                }
-                break;
-            case 104 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:642: T__114
-                {
-                mT__114(); 
-
-                }
-                break;
-            case 105 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:649: T__115
-                {
-                mT__115(); 
-
-                }
-                break;
-            case 106 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:656: T__116
-                {
-                mT__116(); 
-
-                }
-                break;
-            case 107 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:663: T__117
-                {
-                mT__117(); 
-
-                }
-                break;
-            case 108 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:670: T__118
-                {
-                mT__118(); 
-
-                }
-                break;
-            case 109 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:677: T__119
-                {
-                mT__119(); 
-
-                }
-                break;
-            case 110 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:684: T__120
-                {
-                mT__120(); 
-
-                }
-                break;
-            case 111 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:691: T__121
-                {
-                mT__121(); 
-
-                }
-                break;
-            case 112 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:698: T__122
-                {
-                mT__122(); 
-
-                }
-                break;
-            case 113 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:705: T__123
-                {
-                mT__123(); 
-
-                }
-                break;
-            case 114 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:712: T__124
-                {
-                mT__124(); 
-
-                }
-                break;
-            case 115 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:719: T__125
-                {
-                mT__125(); 
-
-                }
-                break;
-            case 116 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:726: T__126
-                {
-                mT__126(); 
-
-                }
-                break;
-            case 117 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:733: T__127
-                {
-                mT__127(); 
-
-                }
-                break;
-            case 118 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:740: T__128
-                {
-                mT__128(); 
-
-                }
-                break;
-            case 119 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:747: T__129
-                {
-                mT__129(); 
-
-                }
-                break;
-            case 120 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:754: T__130
-                {
-                mT__130(); 
-
-                }
-                break;
-            case 121 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:761: T__131
-                {
-                mT__131(); 
-
-                }
-                break;
-            case 122 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:768: T__132
-                {
-                mT__132(); 
-
-                }
-                break;
-            case 123 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:775: T__133
-                {
-                mT__133(); 
-
-                }
-                break;
-            case 124 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:782: T__134
-                {
-                mT__134(); 
-
-                }
-                break;
-            case 125 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:789: T__135
-                {
-                mT__135(); 
-
-                }
-                break;
-            case 126 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:796: T__136
-                {
-                mT__136(); 
-
-                }
-                break;
-            case 127 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:803: T__137
-                {
-                mT__137(); 
-
-                }
-                break;
-            case 128 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:810: T__138
-                {
-                mT__138(); 
-
-                }
-                break;
-            case 129 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:817: T__139
-                {
-                mT__139(); 
-
-                }
-                break;
-            case 130 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:824: T__140
-                {
-                mT__140(); 
-
-                }
-                break;
-            case 131 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:831: T__141
-                {
-                mT__141(); 
-
-                }
-                break;
-            case 132 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:838: T__142
-                {
-                mT__142(); 
-
-                }
-                break;
-            case 133 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:845: T__143
-                {
-                mT__143(); 
-
-                }
-                break;
-            case 134 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:852: T__144
-                {
-                mT__144(); 
-
-                }
-                break;
-            case 135 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:859: T__145
-                {
-                mT__145(); 
-
-                }
-                break;
-            case 136 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:866: T__146
-                {
-                mT__146(); 
-
-                }
-                break;
-            case 137 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:873: T__147
-                {
-                mT__147(); 
-
-                }
-                break;
-            case 138 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:880: T__148
-                {
-                mT__148(); 
-
-                }
-                break;
-            case 139 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:887: T__149
-                {
-                mT__149(); 
-
-                }
-                break;
-            case 140 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:894: T__150
-                {
-                mT__150(); 
-
-                }
-                break;
-            case 141 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:901: T__151
-                {
-                mT__151(); 
-
-                }
-                break;
-            case 142 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:908: T__152
-                {
-                mT__152(); 
-
-                }
-                break;
-            case 143 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:915: T__153
-                {
-                mT__153(); 
-
-                }
-                break;
-            case 144 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:922: T__154
-                {
-                mT__154(); 
-
-                }
-                break;
-            case 145 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:929: T__155
-                {
-                mT__155(); 
-
-                }
-                break;
-            case 146 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:936: T__156
-                {
-                mT__156(); 
-
-                }
-                break;
-            case 147 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:943: T__157
-                {
-                mT__157(); 
-
-                }
-                break;
-            case 148 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:950: T__158
-                {
-                mT__158(); 
-
-                }
-                break;
-            case 149 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:957: T__159
-                {
-                mT__159(); 
-
-                }
-                break;
-            case 150 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:964: T__160
-                {
-                mT__160(); 
-
-                }
-                break;
-            case 151 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:971: T__161
-                {
-                mT__161(); 
-
-                }
-                break;
-            case 152 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:978: T__162
-                {
-                mT__162(); 
-
-                }
-                break;
-            case 153 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:985: T__163
-                {
-                mT__163(); 
-
-                }
-                break;
-            case 154 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:992: T__164
-                {
-                mT__164(); 
-
-                }
-                break;
-            case 155 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:999: T__165
-                {
-                mT__165(); 
-
-                }
-                break;
-            case 156 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1006: T__166
-                {
-                mT__166(); 
-
-                }
-                break;
-            case 157 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1013: T__167
-                {
-                mT__167(); 
-
-                }
-                break;
-            case 158 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1020: T__168
-                {
-                mT__168(); 
-
-                }
-                break;
-            case 159 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1027: T__169
-                {
-                mT__169(); 
-
-                }
-                break;
-            case 160 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1034: T__170
-                {
-                mT__170(); 
-
-                }
-                break;
-            case 161 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1041: T__171
-                {
-                mT__171(); 
-
-                }
-                break;
-            case 162 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1048: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 163 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1056: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 164 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1065: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 165 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1077: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 166 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1093: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 167 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1109: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 168 :
-                // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1117: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\1\60\1\uffff\2\60\2\uffff\4\60\2\uffff\22\60\1\uffff\2"+
-        "\60\1\uffff\4\60\1\56\2\uffff\3\56\2\uffff\1\60\2\uffff\3\60\2\uffff"+
-        "\5\60\1\u0096\2\60\2\uffff\31\60\1\u00bf\30\60\1\uffff\4\60\1\uffff"+
-        "\5\60\5\uffff\21\60\1\u00f4\1\60\1\uffff\50\60\1\uffff\40\60\1\u0146"+
-        "\6\60\1\u014d\14\60\1\uffff\23\60\1\u016e\14\60\1\u017b\6\60\1\u0182"+
-        "\15\60\1\u0190\1\u0191\20\60\1\u01a3\3\60\1\u01a9\5\60\1\uffff\6"+
-        "\60\1\uffff\15\60\1\u01c6\10\60\1\u01cf\1\u01d0\10\60\1\uffff\14"+
-        "\60\1\uffff\6\60\1\uffff\2\60\1\u01ef\12\60\2\uffff\21\60\1\uffff"+
-        "\5\60\1\uffff\1\60\1\u0211\3\60\1\u0216\26\60\1\uffff\10\60\2\uffff"+
-        "\2\60\1\u023a\33\60\1\uffff\3\60\1\u025c\1\u025d\34\60\1\uffff\3"+
-        "\60\1\u027f\1\uffff\43\60\1\uffff\41\60\2\uffff\15\60\1\u02d2\23"+
-        "\60\1\uffff\6\60\1\u02ed\13\60\1\u02fa\31\60\1\u0316\1\60\1\u0318"+
-        "\25\60\1\u032f\5\60\1\u0335\7\60\1\uffff\31\60\1\u0357\1\uffff\2"+
-        "\60\1\u035d\1\u035e\10\60\1\uffff\1\u0367\5\60\1\u036e\7\60\1\u0377"+
-        "\1\u0378\13\60\1\uffff\1\60\1\uffff\17\60\1\u0395\1\60\1\u0397\1"+
-        "\u0398\3\60\1\uffff\5\60\1\uffff\5\60\1\u03a6\25\60\1\u03bd\5\60"+
-        "\1\uffff\3\60\1\u03c6\1\60\2\uffff\5\60\1\u03cd\2\60\1\uffff\5\60"+
-        "\1\u03d5\1\uffff\7\60\1\u03de\2\uffff\5\60\1\u03e4\26\60\1\uffff"+
-        "\1\60\2\uffff\2\60\1\u03ff\12\60\1\uffff\1\60\1\u040b\3\60\1\u040f"+
-        "\4\60\1\u0414\13\60\1\uffff\7\60\1\u0427\1\uffff\6\60\1\uffff\6"+
-        "\60\1\u0434\1\uffff\6\60\1\u043b\1\u043c\1\uffff\5\60\1\uffff\31"+
-        "\60\1\u045d\1\uffff\13\60\1\uffff\3\60\1\uffff\4\60\1\uffff\13\60"+
-        "\1\u047d\6\60\1\uffff\14\60\1\uffff\1\60\1\u0492\4\60\2\uffff\1"+
-        "\60\1\u0498\1\u049a\26\60\1\u04b1\6\60\1\uffff\2\60\1\u04ba\2\60"+
-        "\1\u04be\6\60\1\u04c9\22\60\1\uffff\3\60\1\u04df\17\60\1\u04ef\1"+
-        "\uffff\3\60\1\u04f3\1\60\1\uffff\1\u04f5\1\uffff\21\60\1\u0507\2"+
-        "\60\1\u050a\1\60\1\uffff\10\60\1\uffff\3\60\1\uffff\1\u0517\11\60"+
-        "\1\uffff\3\60\1\u0524\21\60\1\uffff\12\60\1\u0540\4\60\1\uffff\3"+
-        "\60\1\uffff\1\60\1\uffff\7\60\1\u0550\1\60\1\u0552\7\60\1\uffff"+
-        "\2\60\1\uffff\10\60\1\u0564\3\60\1\uffff\13\60\1\u0573\1\uffff\22"+
-        "\60\1\u0586\10\60\1\uffff\3\60\1\u0594\13\60\1\uffff\1\60\1\uffff"+
-        "\21\60\1\uffff\5\60\1\u05b8\1\u05ba\7\60\1\uffff\1\u05c2\21\60\1"+
-        "\uffff\7\60\1\u05db\1\u05dc\1\60\1\u05de\1\u05df\1\60\1\uffff\12"+
-        "\60\1\u05eb\10\60\1\u05f4\11\60\1\u05fe\1\u05ff\4\60\1\uffff\1\u0604"+
-        "\1\uffff\7\60\1\uffff\3\60\1\u060f\16\60\1\u061e\1\u061f\1\u0620"+
-        "\3\60\2\uffff\1\60\2\uffff\4\60\1\u0629\6\60\1\uffff\2\60\1\u0632"+
-        "\5\60\1\uffff\1\60\1\u0639\7\60\2\uffff\4\60\1\uffff\7\60\1\u064c"+
-        "\2\60\1\uffff\5\60\1\u0654\1\u0655\5\60\1\u065b\1\60\3\uffff\1\60"+
-        "\1\u065e\6\60\1\uffff\7\60\1\u066c\1\uffff\1\u066d\5\60\1\uffff"+
-        "\13\60\1\u067e\2\60\1\u0681\3\60\1\uffff\5\60\1\u068a\1\u068b\2"+
-        "\uffff\1\60\1\u068d\3\60\1\uffff\2\60\1\uffff\2\60\1\u0695\11\60"+
-        "\1\u069f\2\uffff\14\60\1\u06ac\2\60\1\u06af\1\uffff\2\60\1\uffff"+
-        "\2\60\1\u06b4\5\60\2\uffff\1\60\1\uffff\4\60\1\u06bf\1\60\1\u06c1"+
-        "\1\uffff\11\60\1\uffff\14\60\1\uffff\2\60\1\uffff\4\60\1\uffff\12"+
-        "\60\1\uffff\1\u06e7\1\uffff\14\60\1\u06f4\7\60\1\u06fc\1\u06fd\1"+
-        "\u06fe\1\60\1\u0700\1\u0701\13\60\1\uffff\2\60\1\u070f\11\60\1\uffff"+
-        "\2\60\1\u071b\4\60\3\uffff\1\60\2\uffff\6\60\1\u0727\6\60\1\uffff"+
-        "\11\60\1\u0737\1\60\1\uffff\1\u0739\2\60\1\u073c\1\60\1\u073e\5"+
-        "\60\1\uffff\5\60\1\u0749\1\60\1\u074b\7\60\1\uffff\1\60\1\uffff"+
-        "\2\60\1\uffff\1\60\1\uffff\3\60\1\u075a\2\60\1\u075d\3\60\1\uffff"+
-        "\1\60\1\uffff\1\u0762\1\60\1\u0764\1\60\1\u0766\11\60\1\uffff\2"+
-        "\60\1\uffff\4\60\1\uffff\1\60\1\uffff\1\60\1\uffff\1\u0778\2\60"+
-        "\1\u077b\2\60\1\u077e\3\60\1\u0782\1\u0783\3\60\1\u0787\1\60\1\uffff"+
-        "\1\60\1\u078a\1\uffff\1\60\1\u078c\1\uffff\3\60\2\uffff\1\60\1\u0791"+
-        "\1\u0792\1\uffff\2\60\1\uffff\1\u0795\1\uffff\4\60\2\uffff\1\60"+
-        "\1\u079b\1\uffff\5\60\1\uffff\1\u07a1\1\u07a2\1\u07a3\1\60\1\u07a5"+
-        "\3\uffff\1\60\1\uffff\1\u07a7\1\uffff";
-    static final String DFA12_eofS =
-        "\u07a8\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\145\1\uffff\2\141\2\uffff\1\156\1\141\1\116\1\141\2\uffff"+
-        "\3\141\1\110\1\141\1\171\1\124\1\157\1\117\1\156\1\151\1\143\1\170"+
-        "\1\151\1\142\1\151\1\117\1\145\1\uffff\1\117\1\141\1\uffff\1\165"+
-        "\1\117\1\125\2\101\2\uffff\2\0\1\52\2\uffff\1\154\2\uffff\1\155"+
-        "\1\164\1\163\2\uffff\1\146\2\141\1\160\1\146\1\60\1\162\1\145\2"+
-        "\uffff\1\147\1\157\1\143\1\155\1\154\1\164\1\147\1\141\1\150\1\163"+
-        "\2\141\1\154\1\101\1\151\1\162\1\160\1\147\1\142\1\157\1\162\1\141"+
-        "\1\155\1\122\1\144\1\60\1\141\1\163\1\141\1\170\1\117\1\124\1\164"+
-        "\1\143\1\156\1\162\1\145\1\163\1\164\1\160\1\156\1\162\1\163\1\161"+
-        "\1\163\1\164\1\157\1\116\1\157\1\146\1\uffff\1\162\1\116\1\115\1"+
-        "\154\1\uffff\1\164\1\160\1\125\1\124\1\114\5\uffff\1\157\1\165\1"+
-        "\157\2\145\1\141\1\143\2\145\1\154\1\160\2\162\1\141\2\145\1\154"+
-        "\1\60\1\125\1\uffff\1\141\1\163\1\142\1\144\1\155\1\160\1\143\1"+
-        "\162\1\160\1\141\2\165\1\157\1\145\1\150\1\143\1\141\1\151\1\156"+
-        "\1\154\1\155\1\162\1\164\1\162\1\154\1\122\1\155\1\142\1\141\1\163"+
-        "\1\145\1\156\1\123\1\160\1\166\1\162\2\160\1\111\1\151\1\uffff\1"+
-        "\143\1\151\1\156\1\145\1\114\1\105\1\145\1\141\1\145\1\153\1\161"+
-        "\1\145\1\151\1\145\1\157\1\145\1\153\1\164\1\165\1\145\1\150\1\160"+
-        "\1\107\1\160\1\164\1\155\1\105\1\102\1\165\2\145\1\102\1\60\1\125"+
-        "\1\163\1\151\1\157\1\165\1\141\1\60\1\124\3\162\1\165\1\157\1\163"+
-        "\1\141\1\143\2\162\1\165\1\uffff\1\124\1\156\1\155\2\151\1\145\1"+
-        "\141\1\145\2\141\2\145\1\157\1\154\1\164\1\151\1\162\1\157\1\165"+
-        "\1\60\1\164\1\153\1\166\2\143\1\145\1\157\1\165\1\163\1\151\1\145"+
-        "\1\106\1\60\2\151\1\145\1\141\1\155\1\151\1\60\1\141\1\171\1\145"+
-        "\1\151\1\164\1\101\1\154\1\116\1\146\1\153\2\143\1\144\2\60\1\162"+
-        "\1\160\1\107\1\145\1\165\1\155\1\157\1\162\1\156\1\107\1\101\1\162"+
-        "\1\151\1\155\1\123\1\101\1\60\1\102\1\103\1\141\1\60\1\105\1\145"+
-        "\1\162\1\156\1\114\1\uffff\1\105\1\151\1\162\1\156\1\162\1\163\1"+
-        "\uffff\2\171\1\151\1\146\1\104\1\145\1\156\1\145\1\143\1\151\1\146"+
-        "\1\104\1\145\1\60\1\164\1\145\1\166\1\144\1\163\1\142\1\143\1\164"+
-        "\2\60\1\163\1\165\1\145\1\151\1\162\2\156\1\162\1\uffff\1\103\1"+
-        "\102\1\151\1\103\1\150\1\143\2\156\1\145\1\156\1\154\1\162\1\uffff"+
-        "\1\164\1\144\1\163\1\142\1\145\1\166\1\uffff\1\164\1\163\1\60\1"+
-        "\143\1\101\1\143\1\145\1\107\1\151\1\102\1\103\1\150\1\120\2\uffff"+
-        "\1\156\1\163\1\162\1\144\1\145\1\142\2\156\1\145\1\162\1\143\1\141"+
-        "\1\162\1\142\1\171\1\143\1\164\1\uffff\1\157\1\164\1\156\1\157\1"+
-        "\154\1\uffff\1\122\1\60\1\120\1\144\1\105\1\60\1\164\1\145\1\163"+
-        "\1\143\1\145\2\160\1\142\1\141\1\171\1\145\1\162\1\145\1\156\1\145"+
-        "\1\107\2\164\2\141\1\145\1\156\1\uffff\1\111\1\164\2\145\1\163\1"+
-        "\151\1\145\1\165\2\uffff\1\163\1\156\1\60\1\157\1\145\1\124\1\163"+
-        "\1\143\1\156\4\157\1\102\1\164\1\151\1\145\1\151\1\107\1\165\1\141"+
-        "\1\145\1\151\1\145\1\163\1\151\1\164\1\145\1\165\1\164\1\uffff\1"+
-        "\145\1\143\1\164\2\60\1\145\2\157\1\101\1\104\1\141\1\165\1\141"+
-        "\1\102\1\156\1\154\1\163\1\141\1\156\1\141\1\164\1\143\1\145\1\154"+
-        "\1\156\1\164\1\145\1\144\1\145\1\146\1\155\1\104\1\137\1\uffff\1"+
-        "\162\2\145\1\60\1\uffff\1\157\1\144\2\145\1\101\3\145\1\164\1\143"+
-        "\1\160\1\143\1\157\1\161\1\143\1\156\1\162\1\145\1\171\1\143\1\154"+
-        "\2\143\1\156\1\171\1\145\1\122\1\144\1\156\1\151\1\154\1\163\1\162"+
-        "\1\157\1\144\1\uffff\1\156\1\144\1\156\1\171\2\145\1\146\1\155\1"+
-        "\170\1\162\1\155\1\163\1\162\1\145\1\151\1\164\1\156\1\143\1\162"+
-        "\1\157\1\164\1\161\1\166\1\144\1\151\1\154\1\145\1\122\1\162\1\145"+
-        "\1\111\1\164\1\151\2\uffff\1\162\1\170\1\155\1\143\2\162\1\106\2"+
-        "\154\1\151\1\145\1\143\1\151\1\60\1\154\1\164\2\151\1\164\1\101"+
-        "\1\171\1\143\1\151\1\162\1\171\1\162\1\154\1\160\1\151\1\117\1\157"+
-        "\1\161\1\156\1\uffff\1\162\1\104\1\124\1\104\1\143\1\163\1\60\1"+
-        "\144\1\151\2\145\1\154\1\166\1\165\1\145\1\164\1\141\1\162\1\60"+
-        "\1\145\1\101\1\154\1\151\1\164\1\160\1\162\1\145\1\104\1\147\1\156"+
-        "\1\151\1\163\1\145\1\162\1\151\1\163\1\104\1\147\1\160\1\124\1\104"+
-        "\1\154\1\160\1\102\1\60\1\160\1\60\1\157\1\150\1\157\1\145\1\164"+
-        "\2\141\1\165\1\151\1\165\1\145\1\104\1\156\1\151\1\162\2\145\1\155"+
-        "\1\156\1\151\1\157\1\60\1\102\1\160\1\164\1\141\1\157\1\60\1\103"+
-        "\1\141\1\156\1\150\1\171\1\103\1\145\1\uffff\1\103\1\151\1\156\1"+
-        "\157\1\101\1\143\1\103\1\150\1\157\1\141\1\102\1\141\1\165\1\157"+
-        "\1\163\1\106\1\166\1\165\1\143\1\171\1\157\1\145\1\151\1\145\1\164"+
-        "\1\60\1\uffff\1\105\1\157\2\60\1\141\2\151\1\156\1\144\1\163\2\151"+
-        "\1\uffff\1\60\1\143\1\141\1\156\2\145\1\60\1\163\1\157\1\145\1\101"+
-        "\1\147\1\164\1\157\2\60\1\156\1\150\1\157\1\145\1\101\1\145\1\151"+
-        "\1\145\1\165\1\157\1\145\1\uffff\1\157\1\uffff\1\142\1\141\1\156"+
-        "\1\103\1\111\1\164\1\151\1\163\1\157\1\145\1\104\1\157\1\145\1\147"+
-        "\1\164\1\60\1\163\2\60\1\160\1\157\1\156\1\uffff\1\145\1\157\1\151"+
-        "\1\156\1\142\1\uffff\1\141\1\103\1\164\1\145\1\141\1\60\1\157\1"+
-        "\163\2\141\1\145\1\156\1\143\1\164\1\157\1\162\1\156\1\164\1\145"+
-        "\1\164\1\145\1\156\1\164\1\137\2\151\1\171\1\60\2\154\2\155\1\151"+
-        "\1\uffff\1\151\2\156\1\60\1\162\2\uffff\1\162\1\144\1\162\1\147"+
-        "\1\126\1\60\1\156\1\172\1\uffff\1\164\1\162\1\147\1\162\1\163\1"+
-        "\60\1\uffff\1\157\2\154\1\163\1\122\1\151\1\162\1\60\2\uffff\1\147"+
-        "\1\151\2\154\1\163\1\60\2\155\1\145\1\156\1\150\1\156\1\141\1\166"+
-        "\1\104\1\141\1\157\1\156\1\151\1\156\1\120\2\156\1\141\2\154\1\122"+
-        "\1\171\1\uffff\1\157\2\uffff\1\165\1\156\1\60\1\150\1\156\1\157"+
-        "\1\163\1\141\1\154\1\141\1\145\1\144\1\166\1\uffff\1\156\1\60\2"+
-        "\154\1\144\1\60\1\164\1\151\1\156\1\157\1\60\1\151\1\150\1\151\1"+
-        "\156\1\145\1\162\1\105\1\144\1\162\1\122\1\157\1\uffff\3\145\1\141"+
-        "\1\157\1\147\1\164\1\60\1\uffff\1\157\1\141\2\145\1\120\1\141\1"+
-        "\uffff\1\145\1\141\1\151\1\141\1\120\1\146\1\60\1\uffff\1\165\2"+
-        "\145\1\163\2\145\2\60\1\uffff\1\105\1\160\2\145\1\163\1\uffff\1"+
-        "\145\1\141\1\156\1\145\1\141\1\145\1\142\1\151\1\141\1\164\1\155"+
-        "\1\163\1\157\1\145\1\104\1\141\1\122\1\143\1\164\3\145\1\104\1\165"+
-        "\1\164\1\60\1\uffff\1\141\1\145\1\156\1\151\1\142\2\154\1\144\1"+
-        "\102\1\151\1\156\1\uffff\1\154\1\104\1\102\1\uffff\1\151\1\157\2"+
-        "\156\1\uffff\1\157\1\141\1\157\1\143\1\156\1\151\1\114\3\145\1\155"+
-        "\1\60\1\147\1\123\3\156\1\151\1\uffff\1\166\1\164\2\144\1\141\1"+
-        "\162\1\144\1\164\1\157\1\164\2\141\1\uffff\1\162\1\60\1\147\1\145"+
-        "\2\163\2\uffff\1\156\2\60\1\147\1\145\1\123\1\156\1\143\1\156\1"+
-        "\166\1\156\1\151\1\157\1\164\1\141\1\160\1\145\1\164\1\156\1\144"+
-        "\1\106\1\155\1\145\1\171\1\141\1\60\1\147\1\163\1\141\1\145\1\162"+
-        "\1\120\1\uffff\1\166\1\156\1\60\1\164\1\151\1\60\1\154\1\103\1\145"+
-        "\1\157\2\145\1\60\1\151\1\145\1\157\1\156\2\145\1\151\1\156\1\166"+
-        "\1\156\1\151\1\164\1\142\1\105\2\144\1\154\1\160\1\uffff\1\141\1"+
-        "\160\1\144\1\60\1\141\1\164\2\151\2\122\1\162\1\151\1\102\1\151"+
-        "\1\156\1\151\1\162\2\143\1\60\1\uffff\1\141\1\155\1\157\1\60\1\164"+
-        "\1\uffff\1\60\1\uffff\1\141\1\155\1\160\1\144\1\151\1\164\1\151"+
-        "\1\164\1\154\1\162\1\141\1\124\1\157\1\162\1\141\1\114\1\102\1\60"+
-        "\1\160\1\154\1\60\1\124\1\uffff\1\141\1\157\1\163\1\156\1\143\1"+
-        "\141\1\151\1\164\1\uffff\1\151\1\154\1\162\1\uffff\1\60\1\157\1"+
-        "\150\1\162\1\170\1\143\1\145\1\141\1\143\1\162\1\uffff\1\163\1\150"+
-        "\1\156\1\60\1\170\1\143\1\172\1\103\1\151\1\103\1\156\1\111\1\165"+
-        "\1\115\2\122\1\141\1\157\1\164\1\145\1\123\1\uffff\1\164\1\171\1"+
-        "\144\3\157\2\141\1\145\1\157\1\60\1\157\1\141\2\145\1\uffff\1\164"+
-        "\1\142\1\165\1\uffff\1\151\1\uffff\1\164\1\142\1\145\1\123\1\156"+
-        "\1\111\1\157\1\60\1\151\1\60\1\124\1\171\3\156\1\151\1\145\1\uffff"+
-        "\1\154\1\141\1\uffff\1\171\1\164\1\165\2\163\1\145\1\162\1\157\1"+
-        "\60\1\157\1\151\1\145\1\uffff\1\155\1\141\1\163\3\164\1\162\1\164"+
-        "\1\145\1\164\1\141\1\60\1\uffff\2\164\1\141\3\157\1\147\1\156\1"+
-        "\164\1\105\2\157\1\164\1\156\1\151\1\143\1\160\1\165\1\60\1\151"+
-        "\1\156\2\154\1\155\1\142\1\150\1\156\1\uffff\1\156\1\155\1\163\1"+
-        "\60\1\151\1\154\1\162\1\164\1\151\1\154\1\143\1\160\1\147\1\156"+
-        "\1\162\1\uffff\1\164\1\uffff\1\171\1\160\1\145\1\141\1\143\1\156"+
-        "\1\150\1\145\1\164\1\160\1\151\1\162\1\106\1\151\1\103\1\141\1\162"+
-        "\1\uffff\1\156\1\164\1\161\1\160\1\166\2\60\1\157\1\165\1\141\1"+
-        "\151\1\161\1\162\1\166\1\uffff\1\60\1\157\1\164\1\165\1\162\1\165"+
-        "\1\120\1\163\1\151\1\116\2\154\1\151\1\145\1\157\1\151\1\145\1\162"+
-        "\1\uffff\1\156\1\163\3\145\1\154\1\141\2\60\1\145\2\60\1\171\1\uffff"+
-        "\1\157\1\171\1\143\1\171\1\157\1\171\1\151\1\145\1\120\1\163\1\60"+
-        "\1\151\1\160\1\145\1\156\1\154\1\145\1\153\1\141\1\60\1\151\1\145"+
-        "\1\157\1\143\1\165\1\164\1\160\1\141\1\155\2\60\1\151\1\165\1\157"+
-        "\1\151\1\uffff\1\60\1\uffff\2\162\1\155\1\157\1\165\2\151\1\uffff"+
-        "\1\162\1\151\1\156\1\60\1\156\1\141\1\164\1\157\1\124\2\145\1\157"+
-        "\2\156\1\146\1\143\1\145\1\147\3\60\1\164\1\145\1\166\2\uffff\1"+
-        "\164\2\uffff\1\160\1\156\1\103\1\145\1\60\1\156\1\103\1\146\1\143"+
-        "\1\141\1\164\1\uffff\2\145\1\60\1\164\1\102\2\122\1\166\1\uffff"+
-        "\1\157\1\60\1\156\1\145\1\156\1\171\1\145\1\160\1\145\2\uffff\2"+
-        "\145\1\156\1\157\1\uffff\1\163\1\156\1\145\1\156\1\145\1\142\1\157"+
-        "\1\60\1\157\1\164\1\uffff\1\164\1\162\1\141\1\156\1\123\2\60\1\156"+
-        "\1\164\1\103\2\151\1\60\1\122\3\uffff\1\145\1\60\1\151\2\145\1\103"+
-        "\1\157\1\124\1\uffff\1\103\1\157\2\151\1\162\1\141\1\163\1\60\1"+
-        "\uffff\1\60\3\145\1\151\1\156\1\uffff\1\103\1\124\1\143\1\106\1"+
-        "\143\1\141\1\164\1\163\1\156\1\145\1\162\1\60\1\120\1\164\1\60\1"+
-        "\156\1\165\1\162\1\uffff\1\156\2\104\1\141\1\156\2\60\2\uffff\1"+
-        "\163\1\60\1\157\1\143\1\146\1\uffff\1\145\1\162\1\uffff\1\157\1"+
-        "\162\1\60\1\157\1\156\1\171\1\157\1\156\1\143\1\146\1\141\1\156"+
-        "\1\60\2\uffff\1\150\1\146\1\163\1\157\1\163\1\157\1\171\1\164\1"+
-        "\165\1\151\1\143\1\145\1\60\1\143\1\156\1\60\1\uffff\1\141\1\145"+
-        "\1\uffff\1\143\1\164\1\60\1\102\2\151\1\155\1\143\2\uffff\1\150"+
-        "\1\uffff\1\156\1\141\1\151\1\161\1\60\1\162\1\60\1\uffff\1\156\1"+
-        "\164\1\160\1\156\1\164\1\141\1\151\1\155\1\143\1\uffff\1\141\1\145"+
-        "\1\157\1\162\1\150\1\156\1\160\1\151\1\156\1\146\1\151\1\162\1\uffff"+
-        "\1\171\1\164\1\uffff\2\162\1\171\1\151\1\uffff\1\141\2\163\2\145"+
-        "\1\151\1\156\1\164\1\143\1\165\1\uffff\1\60\1\uffff\1\156\2\145"+
-        "\1\156\1\145\1\164\1\143\2\145\1\166\1\162\1\165\1\60\1\151\1\156"+
-        "\1\145\1\157\1\143\1\151\1\164\3\60\1\141\2\60\1\157\1\162\3\164"+
-        "\1\122\1\160\1\145\1\151\1\141\1\151\1\uffff\1\145\1\170\1\60\1"+
-        "\145\1\170\1\151\1\141\1\164\1\122\1\151\1\145\1\162\1\uffff\1\160"+
-        "\1\145\1\60\1\156\1\164\1\143\1\171\3\uffff\1\155\2\uffff\1\156"+
-        "\3\162\2\145\1\60\1\143\1\157\1\164\1\162\1\143\1\164\1\uffff\1"+
-        "\143\1\164\1\157\1\164\2\145\1\157\1\156\1\143\1\60\1\143\1\uffff"+
-        "\1\60\1\151\1\141\1\60\1\145\1\60\3\151\1\162\1\146\1\uffff\1\164"+
-        "\1\156\2\151\1\164\1\60\1\164\1\60\1\156\1\151\1\162\1\146\1\162"+
-        "\1\143\1\145\1\uffff\1\164\1\uffff\1\157\1\164\1\uffff\1\164\1\uffff"+
-        "\1\145\2\142\1\60\1\145\1\157\1\60\1\157\1\156\1\157\1\uffff\1\157"+
-        "\1\uffff\1\60\1\157\1\60\1\145\1\60\1\145\1\124\1\157\1\156\1\151"+
-        "\1\145\1\162\2\165\1\uffff\2\162\1\uffff\1\156\1\147\2\162\1\uffff"+
-        "\1\156\1\uffff\1\162\1\uffff\1\60\1\171\1\162\1\60\1\157\1\162\1"+
-        "\60\2\164\1\145\2\60\1\105\2\163\1\60\1\145\1\uffff\1\160\1\60\1"+
-        "\uffff\1\156\1\60\1\uffff\2\151\1\156\2\uffff\1\156\2\60\1\uffff"+
-        "\1\156\1\145\1\uffff\1\60\1\uffff\2\157\1\143\1\164\2\uffff\1\143"+
-        "\1\60\1\uffff\2\156\1\145\1\151\1\145\1\uffff\3\60\1\164\1\60\3"+
-        "\uffff\1\171\1\uffff\1\60\1\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\145\1\uffff\1\141\1\145\2\uffff\1\156\1\157\1\156\1\162"+
-        "\2\uffff\1\165\1\151\1\162\1\157\1\162\1\171\2\165\1\162\1\170\1"+
-        "\162\1\163\1\170\1\157\1\163\1\151\2\157\1\uffff\1\157\1\141\1\uffff"+
-        "\1\165\1\145\1\125\1\101\1\172\2\uffff\2\uffff\1\57\2\uffff\1\163"+
-        "\2\uffff\1\155\1\164\1\163\2\uffff\1\164\1\155\1\141\1\160\1\164"+
-        "\1\172\1\163\1\157\2\uffff\1\147\1\157\1\162\1\155\2\164\1\147\1"+
-        "\141\1\150\1\163\1\141\1\162\1\154\1\101\1\157\1\163\1\160\1\147"+
-        "\1\142\1\157\1\162\1\157\1\155\1\122\1\144\1\172\1\141\1\163\1\141"+
-        "\1\170\1\117\1\124\1\164\1\143\1\156\1\162\1\145\1\163\2\164\1\156"+
-        "\1\162\1\163\1\161\1\163\1\164\1\157\1\116\1\157\1\146\1\uffff\1"+
-        "\162\1\116\1\115\1\154\1\uffff\1\164\1\160\1\125\1\124\1\114\5\uffff"+
-        "\1\157\1\165\1\160\2\145\1\141\1\143\2\145\1\154\1\160\2\162\1\141"+
-        "\2\145\1\154\1\172\1\125\1\uffff\1\145\1\163\1\166\1\144\1\156\1"+
-        "\160\1\143\1\162\1\160\1\141\2\165\1\160\1\145\1\150\1\143\1\141"+
-        "\1\151\1\156\1\154\1\160\1\162\1\164\1\162\1\154\1\122\1\155\1\166"+
-        "\1\141\1\163\1\145\1\156\1\123\1\160\1\166\1\162\2\160\1\111\1\151"+
-        "\1\uffff\1\143\1\151\1\156\1\145\1\114\1\105\1\145\1\141\1\145\1"+
-        "\153\1\161\1\145\1\151\1\145\1\157\1\145\1\153\1\164\1\165\1\145"+
-        "\1\150\1\160\1\107\1\160\1\164\1\155\1\105\1\102\1\165\2\145\1\102"+
-        "\1\172\1\125\1\163\1\151\1\157\1\165\1\141\1\172\1\164\3\162\1\165"+
-        "\1\157\1\163\1\141\1\143\2\162\1\165\1\uffff\1\124\1\156\1\155\2"+
-        "\151\1\145\1\141\1\145\2\141\2\145\1\157\1\154\1\164\1\151\1\162"+
-        "\1\157\1\165\1\172\1\164\1\153\1\166\2\143\1\145\1\157\1\165\1\163"+
-        "\1\151\1\145\1\106\1\172\2\151\1\145\1\141\1\155\1\151\1\172\1\141"+
-        "\1\171\1\145\1\151\1\164\1\101\1\154\1\116\1\146\1\153\2\143\1\144"+
-        "\2\172\1\162\1\160\1\107\1\145\1\165\1\155\1\157\1\162\1\156\1\107"+
-        "\1\101\1\162\1\151\1\155\1\123\1\111\1\172\2\111\1\141\1\172\1\105"+
-        "\1\145\1\162\1\156\1\114\1\uffff\1\105\1\151\1\162\1\156\1\162\1"+
-        "\163\1\uffff\2\171\1\151\1\146\1\124\1\145\1\156\1\145\1\143\1\151"+
-        "\1\156\1\104\1\145\1\172\1\164\1\145\1\166\1\144\1\163\1\142\1\143"+
-        "\1\164\2\172\1\163\1\165\1\145\1\151\1\162\2\156\1\162\1\uffff\1"+
-        "\111\1\102\1\151\1\103\1\150\1\143\1\163\1\156\1\145\1\156\1\154"+
-        "\1\162\1\uffff\1\164\1\144\1\163\1\142\1\145\1\166\1\uffff\1\164"+
-        "\1\163\1\172\1\143\1\101\1\143\1\145\1\107\1\151\1\102\1\103\1\150"+
-        "\1\120\2\uffff\1\156\1\163\1\162\1\144\1\145\1\142\2\156\1\145\1"+
-        "\162\1\143\1\141\1\162\1\142\1\171\1\143\1\164\1\uffff\1\157\1\164"+
-        "\1\156\1\157\1\154\1\uffff\1\122\1\172\1\122\1\144\1\105\1\172\1"+
-        "\164\1\145\1\163\1\143\1\145\3\160\1\141\1\171\1\145\1\162\1\145"+
-        "\1\156\1\145\1\107\2\164\2\141\1\145\1\156\1\uffff\1\124\1\164\1"+
-        "\145\1\151\1\163\1\151\1\145\1\165\2\uffff\1\163\1\156\1\172\1\157"+
-        "\1\151\1\124\1\163\1\143\1\156\4\157\1\145\1\164\1\151\1\145\1\151"+
-        "\1\107\1\165\1\141\1\145\1\151\1\145\1\163\1\151\1\164\1\145\1\165"+
-        "\1\164\1\uffff\1\145\1\143\1\164\2\172\1\145\2\157\1\124\1\104\1"+
-        "\141\1\165\1\141\1\102\1\156\1\154\1\163\1\141\1\156\1\141\1\164"+
-        "\1\143\1\145\1\154\1\156\1\164\1\145\1\144\1\145\1\146\1\155\1\104"+
-        "\1\137\1\uffff\1\162\2\145\1\172\1\uffff\1\157\1\144\2\145\1\101"+
-        "\3\145\1\164\1\143\1\160\1\143\1\157\1\161\1\143\1\156\1\162\1\145"+
-        "\1\171\1\143\1\154\2\143\1\156\1\171\1\145\1\122\1\144\1\156\1\151"+
-        "\1\154\1\163\1\162\1\157\1\144\1\uffff\1\156\1\144\1\156\1\171\2"+
-        "\145\1\146\1\155\1\170\1\162\1\155\1\163\1\162\1\145\1\151\1\164"+
-        "\1\156\1\143\1\162\1\157\1\164\1\161\1\166\1\144\1\151\1\154\1\145"+
-        "\1\122\1\162\1\145\1\111\1\164\1\151\2\uffff\1\162\1\170\1\155\1"+
-        "\143\2\162\1\106\2\154\1\151\1\145\1\143\1\171\1\172\1\154\1\164"+
-        "\2\151\1\164\1\101\1\171\1\143\1\151\1\162\1\171\1\162\1\154\1\160"+
-        "\1\151\1\117\1\157\1\161\1\156\1\uffff\1\162\1\122\1\124\1\104\1"+
-        "\143\1\163\1\172\1\144\1\151\2\145\1\154\1\166\1\165\1\151\1\164"+
-        "\1\141\1\162\1\172\1\145\1\101\1\154\1\151\1\164\1\160\1\162\1\145"+
-        "\1\122\1\147\1\156\1\151\1\163\1\145\1\162\1\151\1\163\1\122\1\147"+
-        "\1\160\1\124\1\104\1\154\1\160\1\102\1\172\1\160\1\172\1\157\1\150"+
-        "\1\157\1\145\1\164\2\141\1\165\1\151\1\165\1\145\1\122\1\156\1\151"+
-        "\1\162\2\145\1\155\1\156\1\151\1\157\1\172\1\102\1\160\1\164\1\141"+
-        "\1\157\1\172\1\154\1\141\1\156\1\150\1\171\1\103\1\145\1\uffff\1"+
-        "\103\1\151\1\156\1\157\1\101\1\143\1\103\1\150\1\157\1\141\1\102"+
-        "\1\141\1\165\1\157\1\163\1\106\1\166\1\165\1\143\1\171\1\157\1\145"+
-        "\1\151\1\145\1\164\1\172\1\uffff\1\123\1\157\2\172\1\141\2\151\1"+
-        "\156\1\144\1\163\2\151\1\uffff\1\172\1\143\1\141\1\156\2\145\1\172"+
-        "\1\163\1\157\1\145\1\101\1\147\1\164\1\157\2\172\1\156\1\150\1\157"+
-        "\1\145\1\101\1\145\1\151\1\145\1\165\1\157\1\145\1\uffff\1\157\1"+
-        "\uffff\1\142\1\141\1\156\1\104\1\111\1\164\1\151\1\163\1\157\1\145"+
-        "\1\104\1\157\1\145\1\147\1\164\1\172\1\163\2\172\1\160\1\157\1\156"+
-        "\1\uffff\1\145\1\157\1\151\1\156\1\142\1\uffff\1\141\1\103\1\164"+
-        "\1\145\1\141\1\172\1\157\1\163\2\141\1\145\1\156\1\143\1\164\1\157"+
-        "\1\162\1\156\1\164\1\145\1\164\1\145\1\156\1\164\1\137\2\151\1\171"+
-        "\1\172\2\154\2\155\1\151\1\uffff\1\151\2\156\1\172\1\162\2\uffff"+
-        "\1\162\1\144\1\162\1\147\1\126\1\172\1\156\1\172\1\uffff\1\164\1"+
-        "\162\1\147\1\162\1\163\1\172\1\uffff\1\157\2\154\1\163\1\122\1\171"+
-        "\1\162\1\172\2\uffff\1\147\1\151\2\154\1\163\1\172\2\155\1\145\1"+
-        "\156\1\150\1\156\1\141\1\166\1\104\1\141\1\157\1\156\1\151\1\156"+
-        "\1\123\2\156\1\141\2\154\1\122\1\171\1\uffff\1\157\2\uffff\1\165"+
-        "\1\156\1\172\1\150\1\156\1\157\1\163\1\141\1\154\1\141\1\145\1\144"+
-        "\1\166\1\uffff\1\156\1\172\2\154\1\144\1\172\1\164\1\151\1\156\1"+
-        "\157\1\172\1\151\1\150\1\151\1\156\1\145\1\162\1\105\1\144\1\162"+
-        "\1\122\1\157\1\uffff\3\145\1\141\1\157\1\147\1\164\1\172\1\uffff"+
-        "\1\157\1\141\2\145\1\120\1\141\1\uffff\1\145\1\141\1\151\1\141\1"+
-        "\120\1\146\1\172\1\uffff\1\165\2\145\1\163\2\145\2\172\1\uffff\1"+
-        "\105\1\160\2\145\1\163\1\uffff\1\145\1\141\1\156\1\145\1\141\1\145"+
-        "\1\142\1\151\1\141\1\164\1\155\1\164\1\157\1\145\1\104\1\141\1\122"+
-        "\1\143\1\164\3\145\1\115\1\165\1\164\1\172\1\uffff\1\141\1\145\1"+
-        "\156\1\151\1\142\2\154\1\144\1\102\1\151\1\164\1\uffff\1\154\1\104"+
-        "\1\102\1\uffff\1\151\1\157\1\164\1\156\1\uffff\1\157\1\141\1\157"+
-        "\1\143\1\156\1\151\1\114\3\145\1\155\1\172\1\147\1\123\3\156\1\151"+
-        "\1\uffff\1\166\1\164\2\144\1\141\1\162\1\144\1\164\1\157\1\164\2"+
-        "\141\1\uffff\1\162\1\172\1\147\1\145\2\163\2\uffff\1\156\2\172\1"+
-        "\147\1\145\1\123\1\156\1\143\1\156\1\166\1\156\1\151\1\157\1\164"+
-        "\1\141\1\160\1\145\1\164\1\156\1\144\1\106\1\155\1\145\1\171\1\141"+
-        "\1\172\1\147\1\163\1\141\1\145\1\162\1\120\1\uffff\1\166\1\156\1"+
-        "\172\1\164\1\151\1\172\1\154\1\103\1\145\1\157\2\145\1\172\1\151"+
-        "\1\145\1\157\1\156\2\145\1\151\1\156\1\166\1\156\1\151\1\164\1\142"+
-        "\1\105\2\144\1\154\1\160\1\uffff\1\141\1\160\1\144\1\172\1\141\1"+
-        "\164\2\151\2\122\1\162\1\151\1\102\1\151\1\156\1\151\1\162\2\143"+
-        "\1\172\1\uffff\1\141\1\155\1\157\1\172\1\164\1\uffff\1\172\1\uffff"+
-        "\1\141\1\155\1\160\1\144\1\151\1\164\1\151\1\164\1\154\1\162\1\141"+
-        "\1\124\1\157\1\162\1\141\1\114\1\102\1\172\1\160\1\154\1\172\1\124"+
-        "\1\uffff\1\141\1\157\1\163\1\156\1\143\1\141\1\151\1\164\1\uffff"+
-        "\1\151\1\154\1\162\1\uffff\1\172\1\157\1\150\1\162\1\170\1\143\1"+
-        "\145\1\141\1\143\1\162\1\uffff\1\163\1\150\1\156\1\172\1\170\1\143"+
-        "\1\172\1\103\1\151\1\103\1\156\1\111\1\165\1\115\2\122\1\141\1\157"+
-        "\1\164\1\145\1\123\1\uffff\1\164\1\171\1\144\3\157\2\141\1\145\1"+
-        "\157\1\172\1\157\1\141\2\145\1\uffff\1\164\1\142\1\165\1\uffff\1"+
-        "\151\1\uffff\1\164\1\142\1\145\1\123\1\156\1\111\1\157\1\172\1\151"+
-        "\1\172\1\124\1\171\3\156\1\151\1\145\1\uffff\1\154\1\141\1\uffff"+
-        "\1\171\1\164\1\165\2\163\1\145\1\162\1\157\1\172\1\157\1\151\1\145"+
-        "\1\uffff\1\155\1\141\1\163\3\164\1\162\1\164\1\145\1\164\1\141\1"+
-        "\172\1\uffff\2\164\1\141\3\157\1\147\1\156\1\164\1\105\2\157\1\164"+
-        "\1\156\1\151\1\143\1\160\1\165\1\172\1\151\1\156\2\154\1\155\1\142"+
-        "\1\150\1\156\1\uffff\1\156\1\155\1\163\1\172\1\151\1\154\1\162\1"+
-        "\164\1\151\1\154\1\143\1\160\1\147\1\156\1\162\1\uffff\1\164\1\uffff"+
-        "\1\171\1\160\1\145\1\141\1\143\1\156\1\150\1\145\1\164\1\160\1\151"+
-        "\1\162\1\106\1\151\1\123\1\141\1\162\1\uffff\1\156\1\164\1\161\1"+
-        "\160\1\166\2\172\1\157\1\165\1\141\1\151\1\161\1\162\1\166\1\uffff"+
-        "\1\172\1\157\1\164\1\165\1\162\1\165\1\120\1\163\1\151\1\116\2\154"+
-        "\1\151\1\145\1\157\1\151\1\145\1\162\1\uffff\1\156\1\163\3\145\1"+
-        "\154\1\141\2\172\1\145\2\172\1\171\1\uffff\1\157\1\171\1\143\1\171"+
-        "\1\157\1\171\1\151\1\145\1\120\1\163\1\172\1\151\1\160\1\145\1\156"+
-        "\1\154\1\145\1\153\1\141\1\172\1\151\1\145\1\157\1\143\1\165\1\164"+
-        "\1\160\1\141\1\155\2\172\1\151\1\165\1\157\1\151\1\uffff\1\172\1"+
-        "\uffff\2\162\1\155\1\157\1\165\2\151\1\uffff\1\162\1\151\1\156\1"+
-        "\172\1\156\1\141\1\164\1\157\1\124\2\145\1\157\2\156\1\146\1\143"+
-        "\1\145\1\147\3\172\1\164\1\145\1\166\2\uffff\1\164\2\uffff\1\160"+
-        "\1\156\1\103\1\145\1\172\1\156\1\103\1\146\1\143\1\141\1\164\1\uffff"+
-        "\2\145\1\172\1\164\1\102\2\122\1\166\1\uffff\1\157\1\172\1\156\1"+
-        "\145\1\156\1\171\1\145\1\160\1\145\2\uffff\2\145\1\156\1\157\1\uffff"+
-        "\1\163\1\156\1\145\1\156\1\145\1\142\1\157\1\172\1\157\1\164\1\uffff"+
-        "\1\164\1\162\1\141\1\156\1\123\2\172\1\156\1\164\1\103\2\151\1\172"+
-        "\1\122\3\uffff\1\145\1\172\1\151\2\145\1\103\1\157\1\124\1\uffff"+
-        "\1\103\1\157\2\151\1\162\1\141\1\163\1\172\1\uffff\1\172\3\145\1"+
-        "\151\1\156\1\uffff\1\103\1\124\1\143\1\106\1\143\1\141\1\164\1\163"+
-        "\1\156\1\145\1\162\1\172\1\120\1\164\1\172\1\156\1\165\1\162\1\uffff"+
-        "\1\156\2\104\1\141\1\156\2\172\2\uffff\1\163\1\172\1\157\1\143\1"+
-        "\146\1\uffff\1\145\1\162\1\uffff\1\157\1\162\1\172\1\157\1\156\1"+
-        "\171\1\157\1\156\1\143\1\146\1\141\1\156\1\172\2\uffff\1\150\1\146"+
-        "\1\163\1\157\1\163\1\157\1\171\1\164\1\165\1\151\1\143\1\145\1\172"+
-        "\1\143\1\156\1\172\1\uffff\1\141\1\145\1\uffff\1\143\1\164\1\172"+
-        "\1\102\2\151\1\155\1\143\2\uffff\1\150\1\uffff\1\156\1\141\1\151"+
-        "\1\161\1\172\1\162\1\172\1\uffff\1\156\1\164\1\160\1\156\1\164\1"+
-        "\141\1\151\1\155\1\143\1\uffff\1\141\1\145\1\157\1\162\1\150\1\156"+
-        "\1\160\1\151\1\156\1\146\1\151\1\162\1\uffff\1\171\1\164\1\uffff"+
-        "\2\162\1\171\1\151\1\uffff\1\141\2\163\2\145\1\151\1\156\1\164\1"+
-        "\143\1\165\1\uffff\1\172\1\uffff\1\156\2\145\1\156\1\145\1\164\1"+
-        "\143\2\145\1\166\1\162\1\165\1\172\1\151\1\156\1\145\1\157\1\143"+
-        "\1\151\1\164\3\172\1\141\2\172\1\157\1\162\3\164\1\122\1\160\1\145"+
-        "\1\151\1\141\1\151\1\uffff\1\145\1\170\1\172\1\145\1\170\1\151\1"+
-        "\141\1\164\1\122\1\151\1\145\1\162\1\uffff\1\160\1\145\1\172\1\156"+
-        "\1\164\1\143\1\171\3\uffff\1\155\2\uffff\1\156\3\162\2\145\1\172"+
-        "\1\143\1\157\1\164\1\162\1\143\1\164\1\uffff\1\143\1\164\1\157\1"+
-        "\164\2\145\1\157\1\156\1\143\1\172\1\143\1\uffff\1\172\1\151\1\141"+
-        "\1\172\1\145\1\172\3\151\1\162\1\146\1\uffff\1\164\1\156\2\151\1"+
-        "\164\1\172\1\164\1\172\1\156\1\151\1\162\1\146\1\162\1\143\1\145"+
-        "\1\uffff\1\164\1\uffff\1\157\1\164\1\uffff\1\164\1\uffff\1\145\2"+
-        "\142\1\172\1\145\1\157\1\172\1\157\1\156\1\157\1\uffff\1\157\1\uffff"+
-        "\1\172\1\157\1\172\1\145\1\172\1\145\1\124\1\157\1\156\1\151\1\145"+
-        "\1\162\2\165\1\uffff\2\162\1\uffff\1\156\1\147\2\162\1\uffff\1\156"+
-        "\1\uffff\1\162\1\uffff\1\172\1\171\1\162\1\172\1\157\1\162\1\172"+
-        "\2\164\1\145\2\172\1\105\2\163\1\172\1\145\1\uffff\1\160\1\172\1"+
-        "\uffff\1\156\1\172\1\uffff\2\151\1\156\2\uffff\1\156\2\172\1\uffff"+
-        "\1\156\1\145\1\uffff\1\172\1\uffff\2\157\1\143\1\164\2\uffff\1\143"+
-        "\1\172\1\uffff\2\156\1\145\1\151\1\145\1\uffff\3\172\1\164\1\172"+
-        "\3\uffff\1\171\1\uffff\1\172\1\uffff";
-    static final String DFA12_acceptS =
-        "\2\uffff\1\2\2\uffff\1\5\1\6\4\uffff\1\13\1\14\22\uffff\1\142\2"+
-        "\uffff\1\170\5\uffff\1\u00a2\1\u00a3\3\uffff\1\u00a7\1\u00a8\1\uffff"+
-        "\1\u00a2\1\2\3\uffff\1\5\1\6\10\uffff\1\13\1\14\62\uffff\1\142\4"+
-        "\uffff\1\170\5\uffff\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\23"+
-        "\uffff\1\u009d\50\uffff\1\161\64\uffff\1\u0095\121\uffff\1\u009e"+
-        "\6\uffff\1\3\40\uffff\1\164\14\uffff\1\u0099\6\uffff\1\32\15\uffff"+
-        "\1\u0097\1\u009a\21\uffff\1\u009b\5\uffff\1\u009c\34\uffff\1\u009f"+
-        "\10\uffff\1\162\1\71\36\uffff\1\73\41\uffff\1\167\4\uffff\1\u00a0"+
-        "\43\uffff\1\154\41\uffff\1\165\1\u0096\41\uffff\1\u0098\122\uffff"+
-        "\1\110\32\uffff\1\34\14\uffff\1\140\33\uffff\1\70\1\uffff\1\127"+
-        "\26\uffff\1\41\5\uffff\1\156\41\uffff\1\4\5\uffff\1\43\1\25\10\uffff"+
-        "\1\11\6\uffff\1\100\10\uffff\1\77\1\113\34\uffff\1\40\1\uffff\1"+
-        "\35\1\65\15\uffff\1\u0089\26\uffff\1\1\10\uffff\1\7\6\uffff\1\10"+
-        "\7\uffff\1\37\10\uffff\1\15\5\uffff\1\36\32\uffff\1\116\13\uffff"+
-        "\1\u0094\3\uffff\1\124\4\uffff\1\131\22\uffff\1\67\14\uffff\1\27"+
-        "\6\uffff\1\166\1\112\40\uffff\1\115\37\uffff\1\51\24\uffff\1\101"+
-        "\5\uffff\1\17\1\uffff\1\135\26\uffff\1\42\10\uffff\1\126\3\uffff"+
-        "\1\103\12\uffff\1\u0087\25\uffff\1\121\17\uffff\1\20\3\uffff\1\152"+
-        "\1\uffff\1\22\21\uffff\1\157\2\uffff\1\u008a\14\uffff\1\105\14\uffff"+
-        "\1\117\33\uffff\1\122\17\uffff\1\107\1\uffff\1\150\21\uffff\1\55"+
-        "\16\uffff\1\111\22\uffff\1\46\15\uffff\1\120\43\uffff\1\125\1\uffff"+
-        "\1\u0081\7\uffff\1\173\30\uffff\1\76\1\33\1\uffff\1\12\1\56\13\uffff"+
-        "\1\21\10\uffff\1\171\11\uffff\1\44\1\147\4\uffff\1\61\12\uffff\1"+
-        "\132\16\uffff\1\30\1\u0082\1\u0085\10\uffff\1\u008c\10\uffff\1\26"+
-        "\6\uffff\1\31\22\uffff\1\175\7\uffff\1\u0083\1\u0086\5\uffff\1\45"+
-        "\2\uffff\1\u008d\15\uffff\1\24\1\60\20\uffff\1\62\2\uffff\1\134"+
-        "\10\uffff\1\160\1\u00a1\1\uffff\1\16\7\uffff\1\137\11\uffff\1\130"+
-        "\14\uffff\1\151\2\uffff\1\57\4\uffff\1\106\12\uffff\1\47\1\uffff"+
-        "\1\66\45\uffff\1\23\14\uffff\1\52\7\uffff\1\75\1\53\1\174\1\uffff"+
-        "\1\104\1\u0088\15\uffff\1\144\13\uffff\1\145\13\uffff\1\u008b\17"+
-        "\uffff\1\u008e\1\uffff\1\153\2\uffff\1\141\1\uffff\1\163\12\uffff"+
-        "\1\176\1\uffff\1\177\16\uffff\1\u008f\2\uffff\1\72\4\uffff\1\50"+
-        "\1\uffff\1\u0090\1\uffff\1\114\21\uffff\1\u0093\2\uffff\1\155\2"+
-        "\uffff\1\123\3\uffff\1\u0084\1\143\3\uffff\1\54\2\uffff\1\u0080"+
-        "\1\uffff\1\102\4\uffff\1\63\1\64\2\uffff\1\136\5\uffff\1\146\5\uffff"+
-        "\1\172\1\133\1\u0091\1\uffff\1\u0092\1\uffff\1\74";
-    static final String DFA12_specialS =
-        "\1\2\51\uffff\1\0\1\1\u077c\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\52\4\56\1\53\1\13\1"+
-            "\14\2\56\1\5\1\37\1\42\1\54\12\51\7\56\1\33\1\25\1\20\1\44\1"+
-            "\31\1\32\2\50\1\11\2\50\1\35\1\50\1\40\1\45\1\21\1\50\1\1\1"+
-            "\23\2\50\1\46\4\50\3\56\1\47\1\50\1\56\1\30\1\17\1\10\1\4\1"+
-            "\26\1\27\2\50\1\7\2\50\1\36\1\24\1\3\1\43\1\12\1\50\1\16\1\15"+
-            "\1\22\1\50\1\41\1\34\3\50\1\2\1\56\1\6\uff82\56",
-            "\1\57",
-            "",
-            "\1\62",
-            "\1\63\3\uffff\1\64",
-            "",
-            "",
-            "\1\67",
-            "\1\72\6\uffff\1\71\6\uffff\1\70",
-            "\1\74\37\uffff\1\73",
-            "\1\75\20\uffff\1\76",
-            "",
-            "",
-            "\1\104\1\uffff\1\102\5\uffff\1\101\13\uffff\1\103",
-            "\1\106\3\uffff\1\105\3\uffff\1\107",
-            "\1\112\3\uffff\1\111\6\uffff\1\110\5\uffff\1\113",
-            "\1\116\30\uffff\1\115\15\uffff\1\114",
-            "\1\120\20\uffff\1\117",
-            "\1\121",
-            "\1\130\14\uffff\1\127\1\uffff\1\124\1\uffff\1\125\3\uffff\1"+
-            "\122\12\uffff\1\126\1\123",
-            "\1\131\5\uffff\1\132",
-            "\1\137\11\uffff\1\140\7\uffff\1\134\12\uffff\1\133\2\uffff"+
-            "\1\136\2\uffff\1\135",
-            "\1\142\11\uffff\1\141",
-            "\1\143\5\uffff\1\144\2\uffff\1\145",
-            "\1\147\17\uffff\1\146",
-            "\1\150",
-            "\1\151\5\uffff\1\152",
-            "\1\153\1\154\17\uffff\1\155",
-            "\1\156",
-            "\1\160\37\uffff\1\157",
-            "\1\162\11\uffff\1\161",
-            "",
-            "\1\165\5\uffff\1\166\31\uffff\1\164",
-            "\1\167",
-            "",
-            "\1\171",
-            "\1\173\25\uffff\1\172",
-            "\1\174",
-            "\1\175",
-            "\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "",
-            "\0\177",
-            "\0\177",
-            "\1\u0080\4\uffff\1\u0081",
-            "",
-            "",
-            "\1\u0086\3\uffff\1\u0083\1\u0084\1\uffff\1\u0085",
-            "",
-            "",
-            "\1\u0087",
-            "\1\u0088",
-            "\1\u0089",
-            "",
-            "",
-            "\1\u008c\7\uffff\1\u008b\5\uffff\1\u008a",
-            "\1\u008e\13\uffff\1\u008d",
-            "\1\u008f",
-            "\1\u0090",
-            "\1\u0093\7\uffff\1\u0092\5\uffff\1\u0091",
-            "\12\60\7\uffff\16\60\1\u0095\4\60\1\u0094\6\60\4\uffff\1\60"+
-            "\1\uffff\32\60",
-            "\1\u0097\1\u0098",
-            "\1\u009a\11\uffff\1\u0099",
-            "",
-            "",
-            "\1\u009b",
-            "\1\u009c",
-            "\1\u009d\16\uffff\1\u009e",
-            "\1\u009f",
-            "\1\u00a0\4\uffff\1\u00a1\1\uffff\1\u00a3\1\u00a2",
-            "\1\u00a4",
-            "\1\u00a5",
-            "\1\u00a6",
-            "\1\u00a7",
-            "\1\u00a8",
-            "\1\u00a9",
-            "\1\u00ac\12\uffff\1\u00aa\1\u00ab\1\u00ad\3\uffff\1\u00ae",
-            "\1\u00af",
-            "\1\u00b0",
-            "\1\u00b1\5\uffff\1\u00b2",
-            "\1\u00b3\1\u00b4",
-            "\1\u00b5",
-            "\1\u00b6",
-            "\1\u00b7",
-            "\1\u00b8",
-            "\1\u00b9",
-            "\1\u00ba\15\uffff\1\u00bb",
-            "\1\u00bc",
-            "\1\u00bd",
-            "\1\u00be",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u00c0",
-            "\1\u00c1",
-            "\1\u00c2",
-            "\1\u00c3",
-            "\1\u00c4",
-            "\1\u00c5",
-            "\1\u00c6",
-            "\1\u00c7",
-            "\1\u00c8",
-            "\1\u00c9",
-            "\1\u00ca",
-            "\1\u00cb",
-            "\1\u00cc",
-            "\1\u00ce\3\uffff\1\u00cd",
-            "\1\u00cf",
-            "\1\u00d0",
-            "\1\u00d1",
-            "\1\u00d2",
-            "\1\u00d3",
-            "\1\u00d4",
-            "\1\u00d5",
-            "\1\u00d6",
-            "\1\u00d7",
-            "\1\u00d8",
-            "",
-            "\1\u00d9",
-            "\1\u00da",
-            "\1\u00db",
-            "\1\u00dc",
-            "",
-            "\1\u00dd",
-            "\1\u00de",
-            "\1\u00df",
-            "\1\u00e0",
-            "\1\u00e1",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00e2",
-            "\1\u00e3",
-            "\1\u00e5\1\u00e4",
-            "\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\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u00f5",
-            "",
-            "\1\u00f7\3\uffff\1\u00f6",
-            "\1\u00f8",
-            "\1\u00fb\1\u00fa\22\uffff\1\u00f9",
-            "\1\u00fc",
-            "\1\u00fe\1\u00fd",
-            "\1\u00ff",
-            "\1\u0100",
-            "\1\u0101",
-            "\1\u0102",
-            "\1\u0103",
-            "\1\u0104",
-            "\1\u0105",
-            "\1\u0107\1\u0106",
-            "\1\u0108",
-            "\1\u0109",
-            "\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
-            "\1\u010d",
-            "\1\u010e",
-            "\1\u0110\2\uffff\1\u010f",
-            "\1\u0111",
-            "\1\u0112",
-            "\1\u0113",
-            "\1\u0114",
-            "\1\u0115",
-            "\1\u0116",
-            "\1\u0119\1\u0118\22\uffff\1\u0117",
-            "\1\u011a",
-            "\1\u011b",
-            "\1\u011c",
-            "\1\u011d",
-            "\1\u011e",
-            "\1\u011f",
-            "\1\u0120",
-            "\1\u0121",
-            "\1\u0122",
-            "\1\u0123",
-            "\1\u0124",
-            "\1\u0125",
-            "",
-            "\1\u0126",
-            "\1\u0127",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012a",
-            "\1\u012b",
-            "\1\u012c",
-            "\1\u012d",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\u0130",
-            "\1\u0131",
-            "\1\u0132",
-            "\1\u0133",
-            "\1\u0134",
-            "\1\u0135",
-            "\1\u0136",
-            "\1\u0137",
-            "\1\u0138",
-            "\1\u0139",
-            "\1\u013a",
-            "\1\u013b",
-            "\1\u013c",
-            "\1\u013d",
-            "\1\u013e",
-            "\1\u013f",
-            "\1\u0140",
-            "\1\u0141",
-            "\1\u0142",
-            "\1\u0143",
-            "\1\u0144",
-            "\1\u0145",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0147",
-            "\1\u0148",
-            "\1\u0149",
-            "\1\u014a",
-            "\1\u014b",
-            "\1\u014c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u014f\37\uffff\1\u014e",
-            "\1\u0150",
-            "\1\u0151",
-            "\1\u0152",
-            "\1\u0153",
-            "\1\u0154",
-            "\1\u0155",
-            "\1\u0156",
-            "\1\u0157",
-            "\1\u0158",
-            "\1\u0159",
-            "\1\u015a",
-            "",
-            "\1\u015b",
-            "\1\u015c",
-            "\1\u015d",
-            "\1\u015e",
-            "\1\u015f",
-            "\1\u0160",
-            "\1\u0161",
-            "\1\u0162",
-            "\1\u0163",
-            "\1\u0164",
-            "\1\u0165",
-            "\1\u0166",
-            "\1\u0167",
-            "\1\u0168",
-            "\1\u0169",
-            "\1\u016a",
-            "\1\u016b",
-            "\1\u016c",
-            "\1\u016d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u016f",
-            "\1\u0170",
-            "\1\u0171",
-            "\1\u0172",
-            "\1\u0173",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
-            "\1\u0179",
-            "\1\u017a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u017c",
-            "\1\u017d",
-            "\1\u017e",
-            "\1\u017f",
-            "\1\u0180",
-            "\1\u0181",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0183",
-            "\1\u0184",
-            "\1\u0185",
-            "\1\u0186",
-            "\1\u0187",
-            "\1\u0188",
-            "\1\u0189",
-            "\1\u018a",
-            "\1\u018b",
-            "\1\u018c",
-            "\1\u018d",
-            "\1\u018e",
-            "\1\u018f",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "\1\u0197",
-            "\1\u0198",
-            "\1\u0199",
-            "\1\u019a",
-            "\1\u019b",
-            "\1\u019c",
-            "\1\u019d",
-            "\1\u019e",
-            "\1\u019f",
-            "\1\u01a0",
-            "\1\u01a1\7\uffff\1\u01a2",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u01a4\6\uffff\1\u01a5",
-            "\1\u01a7\5\uffff\1\u01a6",
-            "\1\u01a8",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u01aa",
-            "\1\u01ab",
-            "\1\u01ac",
-            "\1\u01ad",
-            "\1\u01ae",
-            "",
-            "\1\u01af",
-            "\1\u01b0",
-            "\1\u01b1",
-            "\1\u01b2",
-            "\1\u01b3",
-            "\1\u01b4",
-            "",
-            "\1\u01b5",
-            "\1\u01b6",
-            "\1\u01b7",
-            "\1\u01b8",
-            "\1\u01ba\13\uffff\1\u01bb\1\uffff\1\u01bc\1\uffff\1\u01b9",
-            "\1\u01bd",
-            "\1\u01be",
-            "\1\u01bf",
-            "\1\u01c0",
-            "\1\u01c1",
-            "\1\u01c2\7\uffff\1\u01c3",
-            "\1\u01c4",
-            "\1\u01c5",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u01c7",
-            "\1\u01c8",
-            "\1\u01c9",
-            "\1\u01ca",
-            "\1\u01cb",
-            "\1\u01cc",
-            "\1\u01cd",
-            "\1\u01ce",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u01d1",
-            "\1\u01d2",
-            "\1\u01d3",
-            "\1\u01d4",
-            "\1\u01d5",
-            "\1\u01d6",
-            "\1\u01d7",
-            "\1\u01d8",
-            "",
-            "\1\u01da\5\uffff\1\u01d9",
-            "\1\u01db",
-            "\1\u01dc",
-            "\1\u01dd",
-            "\1\u01de",
-            "\1\u01df",
-            "\1\u01e1\4\uffff\1\u01e0",
-            "\1\u01e2",
-            "\1\u01e3",
-            "\1\u01e4",
-            "\1\u01e5",
-            "\1\u01e6",
-            "",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\u01e9",
-            "\1\u01ea",
-            "\1\u01eb",
-            "\1\u01ec",
-            "",
-            "\1\u01ed",
-            "\1\u01ee",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "\1\u01f3",
-            "\1\u01f4",
-            "\1\u01f5",
-            "\1\u01f6",
-            "\1\u01f7",
-            "\1\u01f8",
-            "\1\u01f9",
-            "",
-            "",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\1\u01fc",
-            "\1\u01fd",
-            "\1\u01fe",
-            "\1\u01ff",
-            "\1\u0200",
-            "\1\u0201",
-            "\1\u0202",
-            "\1\u0203",
-            "\1\u0204",
-            "\1\u0205",
-            "\1\u0206",
-            "\1\u0207",
-            "\1\u0208",
-            "\1\u0209",
-            "\1\u020a",
-            "",
-            "\1\u020b",
-            "\1\u020c",
-            "\1\u020d",
-            "\1\u020e",
-            "\1\u020f",
-            "",
-            "\1\u0210",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0212\1\uffff\1\u0213",
-            "\1\u0214",
-            "\1\u0215",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0217",
-            "\1\u0218",
-            "\1\u0219",
-            "\1\u021a",
-            "\1\u021b",
-            "\1\u021c",
-            "\1\u021d",
-            "\1\u021e\15\uffff\1\u021f",
-            "\1\u0220",
-            "\1\u0221",
-            "\1\u0222",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "\1\u0226",
-            "\1\u0227",
-            "\1\u0228",
-            "\1\u0229",
-            "\1\u022a",
-            "\1\u022b",
-            "\1\u022c",
-            "\1\u022d",
-            "",
-            "\1\u022e\12\uffff\1\u022f",
-            "\1\u0230",
-            "\1\u0231",
-            "\1\u0232\3\uffff\1\u0233",
-            "\1\u0234",
-            "\1\u0235",
-            "\1\u0236",
-            "\1\u0237",
-            "",
-            "",
-            "\1\u0238",
-            "\1\u0239",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u023b",
-            "\1\u023c\3\uffff\1\u023d",
-            "\1\u023e",
-            "\1\u023f",
-            "\1\u0240",
-            "\1\u0241",
-            "\1\u0242",
-            "\1\u0243",
-            "\1\u0244",
-            "\1\u0245",
-            "\1\u0248\15\uffff\1\u0247\24\uffff\1\u0246",
-            "\1\u0249",
-            "\1\u024a",
-            "\1\u024b",
-            "\1\u024c",
-            "\1\u024d",
-            "\1\u024e",
-            "\1\u024f",
-            "\1\u0250",
-            "\1\u0251",
-            "\1\u0252",
-            "\1\u0253",
-            "\1\u0254",
-            "\1\u0255",
-            "\1\u0256",
-            "\1\u0257",
-            "\1\u0258",
-            "",
-            "\1\u0259",
-            "\1\u025a",
-            "\1\u025b",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u025e",
-            "\1\u025f",
-            "\1\u0260",
-            "\1\u0261\16\uffff\1\u0263\3\uffff\1\u0262",
-            "\1\u0264",
-            "\1\u0265",
-            "\1\u0266",
-            "\1\u0267",
-            "\1\u0268",
-            "\1\u0269",
-            "\1\u026a",
-            "\1\u026b",
-            "\1\u026c",
-            "\1\u026d",
-            "\1\u026e",
-            "\1\u026f",
-            "\1\u0270",
-            "\1\u0271",
-            "\1\u0272",
-            "\1\u0273",
-            "\1\u0274",
-            "\1\u0275",
-            "\1\u0276",
-            "\1\u0277",
-            "\1\u0278",
-            "\1\u0279",
-            "\1\u027a",
-            "\1\u027b",
-            "",
-            "\1\u027c",
-            "\1\u027d",
-            "\1\u027e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0280",
-            "\1\u0281",
-            "\1\u0282",
-            "\1\u0283",
-            "\1\u0284",
-            "\1\u0285",
-            "\1\u0286",
-            "\1\u0287",
-            "\1\u0288",
-            "\1\u0289",
-            "\1\u028a",
-            "\1\u028b",
-            "\1\u028c",
-            "\1\u028d",
-            "\1\u028e",
-            "\1\u028f",
-            "\1\u0290",
-            "\1\u0291",
-            "\1\u0292",
-            "\1\u0293",
-            "\1\u0294",
-            "\1\u0295",
-            "\1\u0296",
-            "\1\u0297",
-            "\1\u0298",
-            "\1\u0299",
-            "\1\u029a",
-            "\1\u029b",
-            "\1\u029c",
-            "\1\u029d",
-            "\1\u029e",
-            "\1\u029f",
-            "\1\u02a0",
-            "\1\u02a1",
-            "\1\u02a2",
-            "",
-            "\1\u02a3",
-            "\1\u02a4",
-            "\1\u02a5",
-            "\1\u02a6",
-            "\1\u02a7",
-            "\1\u02a8",
-            "\1\u02a9",
-            "\1\u02aa",
-            "\1\u02ab",
-            "\1\u02ac",
-            "\1\u02ad",
-            "\1\u02ae",
-            "\1\u02af",
-            "\1\u02b0",
-            "\1\u02b1",
-            "\1\u02b2",
-            "\1\u02b3",
-            "\1\u02b4",
-            "\1\u02b5",
-            "\1\u02b6",
-            "\1\u02b7",
-            "\1\u02b8",
-            "\1\u02b9",
-            "\1\u02ba",
-            "\1\u02bb",
-            "\1\u02bc",
-            "\1\u02bd",
-            "\1\u02be",
-            "\1\u02bf",
-            "\1\u02c0",
-            "\1\u02c1",
-            "\1\u02c2",
-            "\1\u02c3",
-            "",
-            "",
-            "\1\u02c4",
-            "\1\u02c5",
-            "\1\u02c6",
-            "\1\u02c7",
-            "\1\u02c8",
-            "\1\u02c9",
-            "\1\u02ca",
-            "\1\u02cb",
-            "\1\u02cc",
-            "\1\u02cd",
-            "\1\u02ce",
-            "\1\u02cf",
-            "\1\u02d1\17\uffff\1\u02d0",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u02d3",
-            "\1\u02d4",
-            "\1\u02d5",
-            "\1\u02d6",
-            "\1\u02d7",
-            "\1\u02d8",
-            "\1\u02d9",
-            "\1\u02da",
-            "\1\u02db",
-            "\1\u02dc",
-            "\1\u02dd",
-            "\1\u02de",
-            "\1\u02df",
-            "\1\u02e0",
-            "\1\u02e1",
-            "\1\u02e2",
-            "\1\u02e3",
-            "\1\u02e4",
-            "\1\u02e5",
-            "",
-            "\1\u02e6",
-            "\1\u02e8\15\uffff\1\u02e7",
-            "\1\u02e9",
-            "\1\u02ea",
-            "\1\u02eb",
-            "\1\u02ec",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u02ee",
-            "\1\u02ef",
-            "\1\u02f0",
-            "\1\u02f1",
-            "\1\u02f2",
-            "\1\u02f3",
-            "\1\u02f4",
-            "\1\u02f6\3\uffff\1\u02f5",
-            "\1\u02f7",
-            "\1\u02f8",
-            "\1\u02f9",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u02fb",
-            "\1\u02fc",
-            "\1\u02fd",
-            "\1\u02fe",
-            "\1\u02ff",
-            "\1\u0300",
-            "\1\u0301",
-            "\1\u0302",
-            "\1\u0304\15\uffff\1\u0303",
-            "\1\u0305",
-            "\1\u0306",
-            "\1\u0307",
-            "\1\u0308",
-            "\1\u0309",
-            "\1\u030a",
-            "\1\u030b",
-            "\1\u030c",
-            "\1\u030e\15\uffff\1\u030d",
-            "\1\u030f",
-            "\1\u0310",
-            "\1\u0311",
-            "\1\u0312",
-            "\1\u0313",
-            "\1\u0314",
-            "\1\u0315",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0317",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0319",
-            "\1\u031a",
-            "\1\u031b",
-            "\1\u031c",
-            "\1\u031d",
-            "\1\u031e",
-            "\1\u031f",
-            "\1\u0320",
-            "\1\u0321",
-            "\1\u0322",
-            "\1\u0323",
-            "\1\u0325\15\uffff\1\u0324",
-            "\1\u0326",
-            "\1\u0327",
-            "\1\u0328",
-            "\1\u0329",
-            "\1\u032a",
-            "\1\u032b",
-            "\1\u032c",
-            "\1\u032d",
-            "\1\u032e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0330",
-            "\1\u0331",
-            "\1\u0332",
-            "\1\u0333",
-            "\1\u0334",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0336\50\uffff\1\u0337",
-            "\1\u0338",
-            "\1\u0339",
-            "\1\u033a",
-            "\1\u033b",
-            "\1\u033c",
-            "\1\u033d",
-            "",
-            "\1\u033e",
-            "\1\u033f",
-            "\1\u0340",
-            "\1\u0341",
-            "\1\u0342",
-            "\1\u0343",
-            "\1\u0344",
-            "\1\u0345",
-            "\1\u0346",
-            "\1\u0347",
-            "\1\u0348",
-            "\1\u0349",
-            "\1\u034a",
-            "\1\u034b",
-            "\1\u034c",
-            "\1\u034d",
-            "\1\u034e",
-            "\1\u034f",
-            "\1\u0350",
-            "\1\u0351",
-            "\1\u0352",
-            "\1\u0353",
-            "\1\u0354",
-            "\1\u0355",
-            "\1\u0356",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0359\15\uffff\1\u0358",
-            "\1\u035a",
-            "\12\60\7\uffff\17\60\1\u035c\12\60\4\uffff\1\60\1\uffff\22"+
-            "\60\1\u035b\7\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u035f",
-            "\1\u0360",
-            "\1\u0361",
-            "\1\u0362",
-            "\1\u0363",
-            "\1\u0364",
-            "\1\u0365",
-            "\1\u0366",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0368",
-            "\1\u0369",
-            "\1\u036a",
-            "\1\u036b",
-            "\1\u036c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u036d\7\60",
-            "\1\u036f",
-            "\1\u0370",
-            "\1\u0371",
-            "\1\u0372",
-            "\1\u0373",
-            "\1\u0374",
-            "\1\u0375",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0376\7\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0379",
-            "\1\u037a",
-            "\1\u037b",
-            "\1\u037c",
-            "\1\u037d",
-            "\1\u037e",
-            "\1\u037f",
-            "\1\u0380",
-            "\1\u0381",
-            "\1\u0382",
-            "\1\u0383",
-            "",
-            "\1\u0384",
-            "",
-            "\1\u0385",
-            "\1\u0386",
-            "\1\u0387",
-            "\1\u0389\1\u0388",
-            "\1\u038a",
-            "\1\u038b",
-            "\1\u038c",
-            "\1\u038d",
-            "\1\u038e",
-            "\1\u038f",
-            "\1\u0390",
-            "\1\u0391",
-            "\1\u0392",
-            "\1\u0393",
-            "\1\u0394",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0396",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0399",
-            "\1\u039a",
-            "\1\u039b",
-            "",
-            "\1\u039c",
-            "\1\u039d",
-            "\1\u039e",
-            "\1\u039f",
-            "\1\u03a0",
-            "",
-            "\1\u03a1",
-            "\1\u03a2",
-            "\1\u03a3",
-            "\1\u03a4",
-            "\1\u03a5",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u03a7",
-            "\1\u03a8",
-            "\1\u03a9",
-            "\1\u03aa",
-            "\1\u03ab",
-            "\1\u03ac",
-            "\1\u03ad",
-            "\1\u03ae",
-            "\1\u03af",
-            "\1\u03b0",
-            "\1\u03b1",
-            "\1\u03b2",
-            "\1\u03b3",
-            "\1\u03b4",
-            "\1\u03b5",
-            "\1\u03b6",
-            "\1\u03b7",
-            "\1\u03b8",
-            "\1\u03b9",
-            "\1\u03ba",
-            "\1\u03bb",
-            "\12\60\7\uffff\2\60\1\u03bc\27\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u03be",
-            "\1\u03bf",
-            "\1\u03c0",
-            "\1\u03c1",
-            "\1\u03c2",
-            "",
-            "\1\u03c3",
-            "\1\u03c4",
-            "\1\u03c5",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u03c7",
-            "",
-            "",
-            "\1\u03c8",
-            "\1\u03c9",
-            "\1\u03ca",
-            "\1\u03cb",
-            "\1\u03cc",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u03ce",
-            "\1\u03cf",
-            "",
-            "\1\u03d0",
-            "\1\u03d1",
-            "\1\u03d2",
-            "\1\u03d3",
-            "\1\u03d4",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u03d6",
-            "\1\u03d7",
-            "\1\u03d8",
-            "\1\u03d9",
-            "\1\u03da",
-            "\1\u03db\17\uffff\1\u03dc",
-            "\1\u03dd",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "",
-            "\1\u03df",
-            "\1\u03e0",
-            "\1\u03e1",
-            "\1\u03e2",
-            "\1\u03e3",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u03e5",
-            "\1\u03e6",
-            "\1\u03e7",
-            "\1\u03e8",
-            "\1\u03e9",
-            "\1\u03ea",
-            "\1\u03eb",
-            "\1\u03ec",
-            "\1\u03ed",
-            "\1\u03ee",
-            "\1\u03ef",
-            "\1\u03f0",
-            "\1\u03f1",
-            "\1\u03f2",
-            "\1\u03f3\2\uffff\1\u03f4",
-            "\1\u03f5",
-            "\1\u03f6",
-            "\1\u03f7",
-            "\1\u03f8",
-            "\1\u03f9",
-            "\1\u03fa",
-            "\1\u03fb",
-            "",
-            "\1\u03fc",
-            "",
-            "",
-            "\1\u03fd",
-            "\1\u03fe",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0400",
-            "\1\u0401",
-            "\1\u0402",
-            "\1\u0403",
-            "\1\u0404",
-            "\1\u0405",
-            "\1\u0406",
-            "\1\u0407",
-            "\1\u0408",
-            "\1\u0409",
-            "",
-            "\1\u040a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u040c",
-            "\1\u040d",
-            "\1\u040e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0410",
-            "\1\u0411",
-            "\1\u0412",
-            "\1\u0413",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0415",
-            "\1\u0416",
-            "\1\u0417",
-            "\1\u0418",
-            "\1\u0419",
-            "\1\u041a",
-            "\1\u041b",
-            "\1\u041c",
-            "\1\u041d",
-            "\1\u041e",
-            "\1\u041f",
-            "",
-            "\1\u0420",
-            "\1\u0421",
-            "\1\u0422",
-            "\1\u0423",
-            "\1\u0424",
-            "\1\u0425",
-            "\1\u0426",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0428",
-            "\1\u0429",
-            "\1\u042a",
-            "\1\u042b",
-            "\1\u042c",
-            "\1\u042d",
-            "",
-            "\1\u042e",
-            "\1\u042f",
-            "\1\u0430",
-            "\1\u0431",
-            "\1\u0432",
-            "\1\u0433",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0435",
-            "\1\u0436",
-            "\1\u0437",
-            "\1\u0438",
-            "\1\u0439",
-            "\1\u043a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u043d",
-            "\1\u043e",
-            "\1\u043f",
-            "\1\u0440",
-            "\1\u0441",
-            "",
-            "\1\u0442",
-            "\1\u0443",
-            "\1\u0444",
-            "\1\u0445",
-            "\1\u0446",
-            "\1\u0447",
-            "\1\u0448",
-            "\1\u0449",
-            "\1\u044a",
-            "\1\u044b",
-            "\1\u044c",
-            "\1\u044e\1\u044d",
-            "\1\u044f",
-            "\1\u0450",
-            "\1\u0451",
-            "\1\u0452",
-            "\1\u0453",
-            "\1\u0454",
-            "\1\u0455",
-            "\1\u0456",
-            "\1\u0457",
-            "\1\u0458",
-            "\1\u045a\10\uffff\1\u0459",
-            "\1\u045b",
-            "\1\u045c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u045e",
-            "\1\u045f",
-            "\1\u0460",
-            "\1\u0461",
-            "\1\u0462",
-            "\1\u0463",
-            "\1\u0464",
-            "\1\u0465",
-            "\1\u0466",
-            "\1\u0467",
-            "\1\u0469\5\uffff\1\u0468",
-            "",
-            "\1\u046a",
-            "\1\u046b",
-            "\1\u046c",
-            "",
-            "\1\u046d",
-            "\1\u046e",
-            "\1\u0470\5\uffff\1\u046f",
-            "\1\u0471",
-            "",
-            "\1\u0472",
-            "\1\u0473",
-            "\1\u0474",
-            "\1\u0475",
-            "\1\u0476",
-            "\1\u0477",
-            "\1\u0478",
-            "\1\u0479",
-            "\1\u047a",
-            "\1\u047b",
-            "\1\u047c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u047e",
-            "\1\u047f",
-            "\1\u0480",
-            "\1\u0481",
-            "\1\u0482",
-            "\1\u0483",
-            "",
-            "\1\u0484",
-            "\1\u0485",
-            "\1\u0486",
-            "\1\u0487",
-            "\1\u0488",
-            "\1\u0489",
-            "\1\u048a",
-            "\1\u048b",
-            "\1\u048c",
-            "\1\u048d",
-            "\1\u048e",
-            "\1\u048f",
-            "",
-            "\1\u0490",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0491\7\60",
-            "\1\u0493",
-            "\1\u0494",
-            "\1\u0495",
-            "\1\u0496",
-            "",
-            "",
-            "\1\u0497",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0499\7\60",
-            "\1\u049b",
-            "\1\u049c",
-            "\1\u049d",
-            "\1\u049e",
-            "\1\u049f",
-            "\1\u04a0",
-            "\1\u04a1",
-            "\1\u04a2",
-            "\1\u04a3",
-            "\1\u04a4",
-            "\1\u04a5",
-            "\1\u04a6",
-            "\1\u04a7",
-            "\1\u04a8",
-            "\1\u04a9",
-            "\1\u04aa",
-            "\1\u04ab",
-            "\1\u04ac",
-            "\1\u04ad",
-            "\1\u04ae",
-            "\1\u04af",
-            "\1\u04b0",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04b2",
-            "\1\u04b3",
-            "\1\u04b4",
-            "\1\u04b5",
-            "\1\u04b6",
-            "\1\u04b7",
-            "",
-            "\1\u04b8",
-            "\1\u04b9",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04bb",
-            "\1\u04bc",
-            "\12\60\7\uffff\5\60\1\u04bd\24\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04bf",
-            "\1\u04c0",
-            "\1\u04c1",
-            "\1\u04c2",
-            "\1\u04c3",
-            "\1\u04c4",
-            "\12\60\7\uffff\1\u04c7\4\60\1\u04c8\11\60\1\u04c6\1\60\1\u04c5"+
-            "\10\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04ca",
-            "\1\u04cb",
-            "\1\u04cc",
-            "\1\u04cd",
-            "\1\u04ce",
-            "\1\u04cf",
-            "\1\u04d0",
-            "\1\u04d1",
-            "\1\u04d2",
-            "\1\u04d3",
-            "\1\u04d4",
-            "\1\u04d5",
-            "\1\u04d6",
-            "\1\u04d7",
-            "\1\u04d8",
-            "\1\u04d9",
-            "\1\u04da",
-            "\1\u04db",
-            "",
-            "\1\u04dc",
-            "\1\u04dd",
-            "\1\u04de",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04e0",
-            "\1\u04e1",
-            "\1\u04e2",
-            "\1\u04e3",
-            "\1\u04e4",
-            "\1\u04e5",
-            "\1\u04e6",
-            "\1\u04e7",
-            "\1\u04e8",
-            "\1\u04e9",
-            "\1\u04ea",
-            "\1\u04eb",
-            "\1\u04ec",
-            "\1\u04ed",
-            "\1\u04ee",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u04f0",
-            "\1\u04f1",
-            "\1\u04f2",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u04f4",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u04f6",
-            "\1\u04f7",
-            "\1\u04f8",
-            "\1\u04f9",
-            "\1\u04fa",
-            "\1\u04fb",
-            "\1\u04fc",
-            "\1\u04fd",
-            "\1\u04fe",
-            "\1\u04ff",
-            "\1\u0500",
-            "\1\u0501",
-            "\1\u0502",
-            "\1\u0503",
-            "\1\u0504",
-            "\1\u0505",
-            "\1\u0506",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0508",
-            "\1\u0509",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u050b",
-            "",
-            "\1\u050c",
-            "\1\u050d",
-            "\1\u050e",
-            "\1\u050f",
-            "\1\u0510",
-            "\1\u0511",
-            "\1\u0512",
-            "\1\u0513",
-            "",
-            "\1\u0514",
-            "\1\u0515",
-            "\1\u0516",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0518",
-            "\1\u0519",
-            "\1\u051a",
-            "\1\u051b",
-            "\1\u051c",
-            "\1\u051d",
-            "\1\u051e",
-            "\1\u051f",
-            "\1\u0520",
-            "",
-            "\1\u0521",
-            "\1\u0522",
-            "\1\u0523",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0525",
-            "\1\u0526",
-            "\1\u0527",
-            "\1\u0528",
-            "\1\u0529",
-            "\1\u052a",
-            "\1\u052b",
-            "\1\u052c",
-            "\1\u052d",
-            "\1\u052e",
-            "\1\u052f",
-            "\1\u0530",
-            "\1\u0531",
-            "\1\u0532",
-            "\1\u0533",
-            "\1\u0534",
-            "\1\u0535",
-            "",
-            "\1\u0536",
-            "\1\u0537",
-            "\1\u0538",
-            "\1\u0539",
-            "\1\u053a",
-            "\1\u053b",
-            "\1\u053c",
-            "\1\u053d",
-            "\1\u053e",
-            "\1\u053f",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0541",
-            "\1\u0542",
-            "\1\u0543",
-            "\1\u0544",
-            "",
-            "\1\u0545",
-            "\1\u0546",
-            "\1\u0547",
-            "",
-            "\1\u0548",
-            "",
-            "\1\u0549",
-            "\1\u054a",
-            "\1\u054b",
-            "\1\u054c",
-            "\1\u054d",
-            "\1\u054e",
-            "\1\u054f",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0551",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0553",
-            "\1\u0554",
-            "\1\u0555",
-            "\1\u0556",
-            "\1\u0557",
-            "\1\u0558",
-            "\1\u0559",
-            "",
-            "\1\u055a",
-            "\1\u055b",
-            "",
-            "\1\u055c",
-            "\1\u055d",
-            "\1\u055e",
-            "\1\u055f",
-            "\1\u0560",
-            "\1\u0561",
-            "\1\u0562",
-            "\1\u0563",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0565",
-            "\1\u0566",
-            "\1\u0567",
-            "",
-            "\1\u0568",
-            "\1\u0569",
-            "\1\u056a",
-            "\1\u056b",
-            "\1\u056c",
-            "\1\u056d",
-            "\1\u056e",
-            "\1\u056f",
-            "\1\u0570",
-            "\1\u0571",
-            "\1\u0572",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0574",
-            "\1\u0575",
-            "\1\u0576",
-            "\1\u0577",
-            "\1\u0578",
-            "\1\u0579",
-            "\1\u057a",
-            "\1\u057b",
-            "\1\u057c",
-            "\1\u057d",
-            "\1\u057e",
-            "\1\u057f",
-            "\1\u0580",
-            "\1\u0581",
-            "\1\u0582",
-            "\1\u0583",
-            "\1\u0584",
-            "\1\u0585",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0587",
-            "\1\u0588",
-            "\1\u0589",
-            "\1\u058a",
-            "\1\u058b",
-            "\1\u058c",
-            "\1\u058d",
-            "\1\u058e",
-            "",
-            "\1\u058f",
-            "\1\u0590",
-            "\1\u0591",
-            "\12\60\7\uffff\23\60\1\u0593\6\60\4\uffff\1\60\1\uffff\22\60"+
-            "\1\u0592\7\60",
-            "\1\u0595",
-            "\1\u0596",
-            "\1\u0597",
-            "\1\u0598",
-            "\1\u0599",
-            "\1\u059a",
-            "\1\u059b",
-            "\1\u059c",
-            "\1\u059d",
-            "\1\u059e",
-            "\1\u059f",
-            "",
-            "\1\u05a0",
-            "",
-            "\1\u05a1",
-            "\1\u05a2",
-            "\1\u05a3",
-            "\1\u05a4",
-            "\1\u05a5",
-            "\1\u05a6",
-            "\1\u05a7",
-            "\1\u05a8",
-            "\1\u05a9",
-            "\1\u05aa",
-            "\1\u05ab",
-            "\1\u05ac",
-            "\1\u05ad",
-            "\1\u05ae",
-            "\1\u05b0\17\uffff\1\u05af",
-            "\1\u05b1",
-            "\1\u05b2",
-            "",
-            "\1\u05b3",
-            "\1\u05b4",
-            "\1\u05b5",
-            "\1\u05b6",
-            "\1\u05b7",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u05b9\7\60",
-            "\1\u05bb",
-            "\1\u05bc",
-            "\1\u05bd",
-            "\1\u05be",
-            "\1\u05bf",
-            "\1\u05c0",
-            "\1\u05c1",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u05c3",
-            "\1\u05c4",
-            "\1\u05c5",
-            "\1\u05c6",
-            "\1\u05c7",
-            "\1\u05c8",
-            "\1\u05c9",
-            "\1\u05ca",
-            "\1\u05cb",
-            "\1\u05cc",
-            "\1\u05cd",
-            "\1\u05ce",
-            "\1\u05cf",
-            "\1\u05d0",
-            "\1\u05d1",
-            "\1\u05d2",
-            "\1\u05d3",
-            "",
-            "\1\u05d4",
-            "\1\u05d5",
-            "\1\u05d6",
-            "\1\u05d7",
-            "\1\u05d8",
-            "\1\u05d9",
-            "\1\u05da",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u05dd",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u05e0",
-            "",
-            "\1\u05e1",
-            "\1\u05e2",
-            "\1\u05e3",
-            "\1\u05e4",
-            "\1\u05e5",
-            "\1\u05e6",
-            "\1\u05e7",
-            "\1\u05e8",
-            "\1\u05e9",
-            "\1\u05ea",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u05ec",
-            "\1\u05ed",
-            "\1\u05ee",
-            "\1\u05ef",
-            "\1\u05f0",
-            "\1\u05f1",
-            "\1\u05f2",
-            "\1\u05f3",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u05f5",
-            "\1\u05f6",
-            "\1\u05f7",
-            "\1\u05f8",
-            "\1\u05f9",
-            "\1\u05fa",
-            "\1\u05fb",
-            "\1\u05fc",
-            "\1\u05fd",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0600",
-            "\1\u0601",
-            "\1\u0602",
-            "\1\u0603",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0605",
-            "\1\u0606",
-            "\1\u0607",
-            "\1\u0608",
-            "\1\u0609",
-            "\1\u060a",
-            "\1\u060b",
-            "",
-            "\1\u060c",
-            "\1\u060d",
-            "\1\u060e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0610",
-            "\1\u0611",
-            "\1\u0612",
-            "\1\u0613",
-            "\1\u0614",
-            "\1\u0615",
-            "\1\u0616",
-            "\1\u0617",
-            "\1\u0618",
-            "\1\u0619",
-            "\1\u061a",
-            "\1\u061b",
-            "\1\u061c",
-            "\1\u061d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0621",
-            "\1\u0622",
-            "\1\u0623",
-            "",
-            "",
-            "\1\u0624",
-            "",
-            "",
-            "\1\u0625",
-            "\1\u0626",
-            "\1\u0627",
-            "\1\u0628",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u062a",
-            "\1\u062b",
-            "\1\u062c",
-            "\1\u062d",
-            "\1\u062e",
-            "\1\u062f",
-            "",
-            "\1\u0630",
-            "\1\u0631",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0633",
-            "\1\u0634",
-            "\1\u0635",
-            "\1\u0636",
-            "\1\u0637",
-            "",
-            "\1\u0638",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u063a",
-            "\1\u063b",
-            "\1\u063c",
-            "\1\u063d",
-            "\1\u063e",
-            "\1\u063f",
-            "\1\u0640",
-            "",
-            "",
-            "\1\u0641",
-            "\1\u0642",
-            "\1\u0643",
-            "\1\u0644",
-            "",
-            "\1\u0645",
-            "\1\u0646",
-            "\1\u0647",
-            "\1\u0648",
-            "\1\u0649",
-            "\1\u064a",
-            "\1\u064b",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u064d",
-            "\1\u064e",
-            "",
-            "\1\u064f",
-            "\1\u0650",
-            "\1\u0651",
-            "\1\u0652",
-            "\1\u0653",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0656",
-            "\1\u0657",
-            "\1\u0658",
-            "\1\u0659",
-            "\1\u065a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u065c",
-            "",
-            "",
-            "",
-            "\1\u065d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u065f",
-            "\1\u0660",
-            "\1\u0661",
-            "\1\u0662",
-            "\1\u0663",
-            "\1\u0664",
-            "",
-            "\1\u0665",
-            "\1\u0666",
-            "\1\u0667",
-            "\1\u0668",
-            "\1\u0669",
-            "\1\u066a",
-            "\1\u066b",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u066e",
-            "\1\u066f",
-            "\1\u0670",
-            "\1\u0671",
-            "\1\u0672",
-            "",
-            "\1\u0673",
-            "\1\u0674",
-            "\1\u0675",
-            "\1\u0676",
-            "\1\u0677",
-            "\1\u0678",
-            "\1\u0679",
-            "\1\u067a",
-            "\1\u067b",
-            "\1\u067c",
-            "\1\u067d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u067f",
-            "\1\u0680",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0682",
-            "\1\u0683",
-            "\1\u0684",
-            "",
-            "\1\u0685",
-            "\1\u0686",
-            "\1\u0687",
-            "\1\u0688",
-            "\1\u0689",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "",
-            "\1\u068c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u068e",
-            "\1\u068f",
-            "\1\u0690",
-            "",
-            "\1\u0691",
-            "\1\u0692",
-            "",
-            "\1\u0693",
-            "\1\u0694",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0696",
-            "\1\u0697",
-            "\1\u0698",
-            "\1\u0699",
-            "\1\u069a",
-            "\1\u069b",
-            "\1\u069c",
-            "\1\u069d",
-            "\1\u069e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "",
-            "\1\u06a0",
-            "\1\u06a1",
-            "\1\u06a2",
-            "\1\u06a3",
-            "\1\u06a4",
-            "\1\u06a5",
-            "\1\u06a6",
-            "\1\u06a7",
-            "\1\u06a8",
-            "\1\u06a9",
-            "\1\u06aa",
-            "\1\u06ab",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u06ad",
-            "\1\u06ae",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u06b0",
-            "\1\u06b1",
-            "",
-            "\1\u06b2",
-            "\1\u06b3",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u06b5",
-            "\1\u06b6",
-            "\1\u06b7",
-            "\1\u06b8",
-            "\1\u06b9",
-            "",
-            "",
-            "\1\u06ba",
-            "",
-            "\1\u06bb",
-            "\1\u06bc",
-            "\1\u06bd",
-            "\1\u06be",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u06c0",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u06c2",
-            "\1\u06c3",
-            "\1\u06c4",
-            "\1\u06c5",
-            "\1\u06c6",
-            "\1\u06c7",
-            "\1\u06c8",
-            "\1\u06c9",
-            "\1\u06ca",
-            "",
-            "\1\u06cb",
-            "\1\u06cc",
-            "\1\u06cd",
-            "\1\u06ce",
-            "\1\u06cf",
-            "\1\u06d0",
-            "\1\u06d1",
-            "\1\u06d2",
-            "\1\u06d3",
-            "\1\u06d4",
-            "\1\u06d5",
-            "\1\u06d6",
-            "",
-            "\1\u06d7",
-            "\1\u06d8",
-            "",
-            "\1\u06d9",
-            "\1\u06da",
-            "\1\u06db",
-            "\1\u06dc",
-            "",
-            "\1\u06dd",
-            "\1\u06de",
-            "\1\u06df",
-            "\1\u06e0",
-            "\1\u06e1",
-            "\1\u06e2",
-            "\1\u06e3",
-            "\1\u06e4",
-            "\1\u06e5",
-            "\1\u06e6",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u06e8",
-            "\1\u06e9",
-            "\1\u06ea",
-            "\1\u06eb",
-            "\1\u06ec",
-            "\1\u06ed",
-            "\1\u06ee",
-            "\1\u06ef",
-            "\1\u06f0",
-            "\1\u06f1",
-            "\1\u06f2",
-            "\1\u06f3",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u06f5",
-            "\1\u06f6",
-            "\1\u06f7",
-            "\1\u06f8",
-            "\1\u06f9",
-            "\1\u06fa",
-            "\1\u06fb",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u06ff",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0702",
-            "\1\u0703",
-            "\1\u0704",
-            "\1\u0705",
-            "\1\u0706",
-            "\1\u0707",
-            "\1\u0708",
-            "\1\u0709",
-            "\1\u070a",
-            "\1\u070b",
-            "\1\u070c",
-            "",
-            "\1\u070d",
-            "\1\u070e",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0710",
-            "\1\u0711",
-            "\1\u0712",
-            "\1\u0713",
-            "\1\u0714",
-            "\1\u0715",
-            "\1\u0716",
-            "\1\u0717",
-            "\1\u0718",
-            "",
-            "\1\u0719",
-            "\1\u071a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u071c",
-            "\1\u071d",
-            "\1\u071e",
-            "\1\u071f",
-            "",
-            "",
-            "",
-            "\1\u0720",
-            "",
-            "",
-            "\1\u0721",
-            "\1\u0722",
-            "\1\u0723",
-            "\1\u0724",
-            "\1\u0725",
-            "\1\u0726",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0728",
-            "\1\u0729",
-            "\1\u072a",
-            "\1\u072b",
-            "\1\u072c",
-            "\1\u072d",
-            "",
-            "\1\u072e",
-            "\1\u072f",
-            "\1\u0730",
-            "\1\u0731",
-            "\1\u0732",
-            "\1\u0733",
-            "\1\u0734",
-            "\1\u0735",
-            "\1\u0736",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0738",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u073a",
-            "\1\u073b",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u073d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u073f",
-            "\1\u0740",
-            "\1\u0741",
-            "\1\u0742",
-            "\1\u0743",
-            "",
-            "\1\u0744",
-            "\1\u0745",
-            "\1\u0746",
-            "\1\u0747",
-            "\1\u0748",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u074a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u074c",
-            "\1\u074d",
-            "\1\u074e",
-            "\1\u074f",
-            "\1\u0750",
-            "\1\u0751",
-            "\1\u0752",
-            "",
-            "\1\u0753",
-            "",
-            "\1\u0754",
-            "\1\u0755",
-            "",
-            "\1\u0756",
-            "",
-            "\1\u0757",
-            "\1\u0758",
-            "\1\u0759",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u075b",
-            "\1\u075c",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u075e",
-            "\1\u075f",
-            "\1\u0760",
-            "",
-            "\1\u0761",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0763",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0765",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0767",
-            "\1\u0768",
-            "\1\u0769",
-            "\1\u076a",
-            "\1\u076b",
-            "\1\u076c",
-            "\1\u076d",
-            "\1\u076e",
-            "\1\u076f",
-            "",
-            "\1\u0770",
-            "\1\u0771",
-            "",
-            "\1\u0772",
-            "\1\u0773",
-            "\1\u0774",
-            "\1\u0775",
-            "",
-            "\1\u0776",
-            "",
-            "\1\u0777",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0779",
-            "\1\u077a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u077c",
-            "\1\u077d",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u077f",
-            "\1\u0780",
-            "\1\u0781",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0784",
-            "\1\u0785",
-            "\1\u0786",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u0788",
-            "",
-            "\1\u0789",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u078b",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u078d",
-            "\1\u078e",
-            "\1\u078f",
-            "",
-            "",
-            "\1\u0790",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0793",
-            "\1\u0794",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u0796",
-            "\1\u0797",
-            "\1\u0798",
-            "\1\u0799",
-            "",
-            "",
-            "\1\u079a",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "\1\u079c",
-            "\1\u079d",
-            "\1\u079e",
-            "\1\u079f",
-            "\1\u07a0",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "\1\u07a4",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            "",
-            "",
-            "",
-            "\1\u07a6",
-            "",
-            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    static class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | 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 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_42 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_42>='\u0000' && LA12_42<='\uFFFF')) ) {s = 127;}
-
-                        else s = 46;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_43 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_43>='\u0000' && LA12_43<='\uFFFF')) ) {s = 127;}
-
-                        else s = 46;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='R') ) {s = 1;}
-
-                        else if ( (LA12_0=='{') ) {s = 2;}
-
-                        else if ( (LA12_0=='n') ) {s = 3;}
-
-                        else if ( (LA12_0=='d') ) {s = 4;}
-
-                        else if ( (LA12_0==',') ) {s = 5;}
-
-                        else if ( (LA12_0=='}') ) {s = 6;}
-
-                        else if ( (LA12_0=='i') ) {s = 7;}
-
-                        else if ( (LA12_0=='c') ) {s = 8;}
-
-                        else if ( (LA12_0=='I') ) {s = 9;}
-
-                        else if ( (LA12_0=='p') ) {s = 10;}
-
-                        else if ( (LA12_0=='(') ) {s = 11;}
-
-                        else if ( (LA12_0==')') ) {s = 12;}
-
-                        else if ( (LA12_0=='s') ) {s = 13;}
-
-                        else if ( (LA12_0=='r') ) {s = 14;}
-
-                        else if ( (LA12_0=='b') ) {s = 15;}
-
-                        else if ( (LA12_0=='C') ) {s = 16;}
-
-                        else if ( (LA12_0=='P') ) {s = 17;}
-
-                        else if ( (LA12_0=='t') ) {s = 18;}
-
-                        else if ( (LA12_0=='S') ) {s = 19;}
-
-                        else if ( (LA12_0=='m') ) {s = 20;}
-
-                        else if ( (LA12_0=='B') ) {s = 21;}
-
-                        else if ( (LA12_0=='e') ) {s = 22;}
-
-                        else if ( (LA12_0=='f') ) {s = 23;}
-
-                        else if ( (LA12_0=='a') ) {s = 24;}
-
-                        else if ( (LA12_0=='E') ) {s = 25;}
-
-                        else if ( (LA12_0=='F') ) {s = 26;}
-
-                        else if ( (LA12_0=='A') ) {s = 27;}
-
-                        else if ( (LA12_0=='w') ) {s = 28;}
-
-                        else if ( (LA12_0=='L') ) {s = 29;}
-
-                        else if ( (LA12_0=='l') ) {s = 30;}
-
-                        else if ( (LA12_0=='-') ) {s = 31;}
-
-                        else if ( (LA12_0=='N') ) {s = 32;}
-
-                        else if ( (LA12_0=='v') ) {s = 33;}
-
-                        else if ( (LA12_0=='.') ) {s = 34;}
-
-                        else if ( (LA12_0=='o') ) {s = 35;}
-
-                        else if ( (LA12_0=='D') ) {s = 36;}
-
-                        else if ( (LA12_0=='O') ) {s = 37;}
-
-                        else if ( (LA12_0=='V') ) {s = 38;}
-
-                        else if ( (LA12_0=='^') ) {s = 39;}
-
-                        else if ( ((LA12_0>='G' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='M'||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='U')||(LA12_0>='W' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='q'||LA12_0=='u'||(LA12_0>='x' && LA12_0<='z')) ) {s = 40;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 41;}
-
-                        else if ( (LA12_0=='\"') ) {s = 42;}
-
-                        else if ( (LA12_0=='\'') ) {s = 43;}
-
-                        else if ( (LA12_0=='/') ) {s = 44;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 45;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 46;}
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java
deleted file mode 100644
index 27a16d89..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java
+++ /dev/null
@@ -1,21019 +0,0 @@
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.common.util.Enumerator;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalRepositoryDSLParser extends AbstractInternalAntlrParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Repository'", "'{'", "'name'", "'datatypes'", "','", "'}'", "'interfaces'", "'components'", "'Interface'", "'parentInterfaces'", "'('", "')'", "'signatures'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'blackBoxBehavior'", "'requiredRoles'", "'coarseGrainedBehavior'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'InnerDeclaration'", "'dataType'", "'Signature'", "'returnType'", "'parameters'", "'Parameter'", "'modifier'", "'ProvidedRole'", "'interface'", "'BlackBoxBehavior'", "'describedSignature'", "'describedEntity'", "'influencingParameter'", "'responseTimeSpecification'", "'RequiredRole'", "'CoarseGrainedBehavior'", "'externalCallFrequency'", "'resourceDemandSpecification'", "'BasicComponent'", "'passiveResources'", "'fineGrainedBehavior'", "'CompositeComponent'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'SubSystem'", "'InfluencingParameter'", "'description'", "'behavior'", "'scope'", "'ResponseTimeSpecification'", "'Scope'", "'interfaceProvidingRequiringEntity'", "'ServiceInputParameter'", "'characterization'", "'signature'", "'parameter'", "'providedRole'", "'ExternalCallReturnParameter'", "'externalCall'", "'ExternalCallParameter'", "'externallCall'", "'FineGrainedBehavior'", "'basicComponent'", "'actions'", "'AbstractAction'", "'predecessor'", "'successor'", "'ComponentInternalBehavior'", "'StartAction'", "'StopAction'", "'AcquireAction'", "'passiveResource'", "'ReleaseAction'", "'InternalAction'", "'withSynchronizationBarrier'", "'ForkAction'", "'forkedBehaviors'", "'BranchAction'", "'branches'", "'branchProbabilities'", "'LoopAction'", "'loopBodyBehavior'", "'loopIterationCountDistribution'", "'ExternalCallAction'", "'requiredRole'", "'PassiveResourceSpecification'", "'passiveResourceType'", "'capacity'", "'PassiveResourceCapacity'", "'-'", "'ResourceDemandSpecification'", "'processingResourceType'", "'ProcessingResourceType'", "'CommunicationLinkResourceType'", "'BranchTransition'", "'branchBehavior'", "'BranchProbabilities'", "'probabilities'", "'ProbabilityMassFunction'", "'sample'", "'ProbabilityDensityFunction'", "'BoxedPDF'", "'ContinuousPDF'", "'NormalDistribution'", "'mu'", "'sigma'", "'ExponentialDistribution'", "'rate'", "'Sample'", "'probability'", "'value'", "'.'", "'ContinuousSample'", "'LoopIterationCountDistribution'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'", "'ExternalCall'", "'ExternalCallFrequency'", "'frequency'", "'CallFrequency'", "'DependencyRelationship'", "'surroundingEntity'", "'influencedVariable'", "'CorrelationRelationship'", "'leftInfluencingParameter'", "'rightInfluencingParameter'", "'leftComponentInstanceReference'", "'rightComponentInstanceReference'", "'ComponentInstanceReference'", "'assemblies'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'", "'NONE'", "'IN'", "'OUT'", "'INOUT'", "'VALUE'", "'NUMBER_OF_ELEMENTS'"
-    };
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__159=159;
-    public static final int T__27=27;
-    public static final int T__158=158;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__160=160;
-    public static final int T__167=167;
-    public static final int T__168=168;
-    public static final int EOF=-1;
-    public static final int T__165=165;
-    public static final int T__166=166;
-    public static final int T__163=163;
-    public static final int T__164=164;
-    public static final int T__161=161;
-    public static final int T__162=162;
-    public static final int T__93=93;
-    public static final int T__19=19;
-    public static final int T__94=94;
-    public static final int T__91=91;
-    public static final int T__92=92;
-    public static final int T__148=148;
-    public static final int T__16=16;
-    public static final int T__147=147;
-    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__149=149;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__154=154;
-    public static final int T__155=155;
-    public static final int T__156=156;
-    public static final int T__157=157;
-    public static final int T__99=99;
-    public static final int T__150=150;
-    public static final int T__98=98;
-    public static final int T__151=151;
-    public static final int T__97=97;
-    public static final int T__152=152;
-    public static final int T__96=96;
-    public static final int T__153=153;
-    public static final int T__95=95;
-    public static final int T__139=139;
-    public static final int T__138=138;
-    public static final int T__137=137;
-    public static final int T__136=136;
-    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__141=141;
-    public static final int T__85=85;
-    public static final int T__142=142;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__140=140;
-    public static final int T__86=86;
-    public static final int T__145=145;
-    public static final int T__89=89;
-    public static final int T__146=146;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__143=143;
-    public static final int T__144=144;
-    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=4;
-    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__131=131;
-    public static final int T__73=73;
-    public static final int T__132=132;
-    public static final int T__133=133;
-    public static final int T__79=79;
-    public static final int T__134=134;
-    public static final int T__78=78;
-    public static final int T__135=135;
-    public static final int T__77=77;
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int T__66=66;
-    public static final int T__67=67;
-    public static final int T__64=64;
-    public static final int T__65=65;
-    public static final int T__62=62;
-    public static final int T__63=63;
-    public static final int T__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__55=55;
-    public static final int T__56=56;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int T__54=54;
-    public static final int T__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=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=8;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__171=171;
-    public static final int T__170=170;
-    public static final int RULE_WS=9;
-    public static final int T__169=169;
-
-    // delegates
-    // delegators
-
-
-        public InternalRepositoryDSLParser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalRepositoryDSLParser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalRepositoryDSLParser.tokenNames; }
-    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g"; }
-
-
-
-     	private RepositoryDSLGrammarAccess grammarAccess;
-     	
-        public InternalRepositoryDSLParser(TokenStream input, RepositoryDSLGrammarAccess grammarAccess) {
-            this(input);
-            this.grammarAccess = grammarAccess;
-            registerRules(grammarAccess.getGrammar());
-        }
-        
-        @Override
-        protected String getFirstRuleName() {
-        	return "Repository";	
-       	}
-       	
-       	@Override
-       	protected RepositoryDSLGrammarAccess getGrammarAccess() {
-       		return grammarAccess;
-       	}
-
-
-
-    // $ANTLR start "entryRuleRepository"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:1: entryRuleRepository returns [EObject current=null] : iv_ruleRepository= ruleRepository EOF ;
-    public final EObject entryRuleRepository() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRepository = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:2: (iv_ruleRepository= ruleRepository EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:2: iv_ruleRepository= ruleRepository EOF
-            {
-             newCompositeNode(grammarAccess.getRepositoryRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepository_in_entryRuleRepository75);
-            iv_ruleRepository=ruleRepository();
-
-            state._fsp--;
-
-             current =iv_ruleRepository; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepository85); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRepository"
-
-
-    // $ANTLR start "ruleRepository"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:1: ruleRepository returns [EObject current=null] : (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ;
-    public final EObject ruleRepository() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_datatypes_7_0 = null;
-
-        EObject lv_datatypes_9_0 = null;
-
-        EObject lv_interfaces_13_0 = null;
-
-        EObject lv_interfaces_15_0 = null;
-
-        EObject lv_components_19_0 = null;
-
-        EObject lv_components_21_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:28: ( (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:1: (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:1: (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:3: otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}'
-            {
-            otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleRepository122); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepository143);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository155); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepository167); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepository188);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:2: (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )?
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==14) ) {
-                alt2=1;
-            }
-            switch (alt2) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:4: otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}'
-                    {
-                    otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepository201); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository213); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:1: ( (lv_datatypes_7_0= ruleDataType ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:1: (lv_datatypes_7_0= ruleDataType )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:1: (lv_datatypes_7_0= ruleDataType )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:3: lv_datatypes_7_0= ruleDataType
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository234);
-                    lv_datatypes_7_0=ruleDataType();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"datatypes",
-                            		lv_datatypes_7_0, 
-                            		"DataType");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:2: (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )*
-                    loop1:
-                    do {
-                        int alt1=2;
-                        int LA1_0 = input.LA(1);
-
-                        if ( (LA1_0==15) ) {
-                            alt1=1;
-                        }
-
-
-                        switch (alt1) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:4: otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository247); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:1: ( (lv_datatypes_9_0= ruleDataType ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:1: (lv_datatypes_9_0= ruleDataType )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:1: (lv_datatypes_9_0= ruleDataType )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:3: lv_datatypes_9_0= ruleDataType
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository268);
-                    	    lv_datatypes_9_0=ruleDataType();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"datatypes",
-                    	            		lv_datatypes_9_0, 
-                    	            		"DataType");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop1;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository282); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:181:3: (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )?
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0==17) ) {
-                alt4=1;
-            }
-            switch (alt4) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:181:5: otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepository297); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository309); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:189:1: ( (lv_interfaces_13_0= ruleInterface ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:190:1: (lv_interfaces_13_0= ruleInterface )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:190:1: (lv_interfaces_13_0= ruleInterface )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:191:3: lv_interfaces_13_0= ruleInterface
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository330);
-                    lv_interfaces_13_0=ruleInterface();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"interfaces",
-                            		lv_interfaces_13_0, 
-                            		"Interface");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:207:2: (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )*
-                    loop3:
-                    do {
-                        int alt3=2;
-                        int LA3_0 = input.LA(1);
-
-                        if ( (LA3_0==15) ) {
-                            alt3=1;
-                        }
-
-
-                        switch (alt3) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:207:4: otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository343); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:211:1: ( (lv_interfaces_15_0= ruleInterface ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:212:1: (lv_interfaces_15_0= ruleInterface )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:212:1: (lv_interfaces_15_0= ruleInterface )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:213:3: lv_interfaces_15_0= ruleInterface
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository364);
-                    	    lv_interfaces_15_0=ruleInterface();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"interfaces",
-                    	            		lv_interfaces_15_0, 
-                    	            		"Interface");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop3;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository378); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:233:3: (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )?
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0==18) ) {
-                alt6=1;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:233:5: otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleRepository393); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository405); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:241:1: ( (lv_components_19_0= ruleRepositoryComponent ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:242:1: (lv_components_19_0= ruleRepositoryComponent )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:242:1: (lv_components_19_0= ruleRepositoryComponent )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:243:3: lv_components_19_0= ruleRepositoryComponent
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository426);
-                    lv_components_19_0=ruleRepositoryComponent();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"components",
-                            		lv_components_19_0, 
-                            		"RepositoryComponent");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:259:2: (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )*
-                    loop5:
-                    do {
-                        int alt5=2;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0==15) ) {
-                            alt5=1;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:259:4: otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository439); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:263:1: ( (lv_components_21_0= ruleRepositoryComponent ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:264:1: (lv_components_21_0= ruleRepositoryComponent )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:264:1: (lv_components_21_0= ruleRepositoryComponent )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:265:3: lv_components_21_0= ruleRepositoryComponent
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository460);
-                    	    lv_components_21_0=ruleRepositoryComponent();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"components",
-                    	            		lv_components_21_0, 
-                    	            		"RepositoryComponent");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository474); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository488); 
-
-                	newLeafNode(otherlv_23, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRepository"
-
-
-    // $ANTLR start "entryRuleDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:297:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ;
-    public final EObject entryRuleDataType() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDataType = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:298:2: (iv_ruleDataType= ruleDataType EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:299:2: iv_ruleDataType= ruleDataType EOF
-            {
-             newCompositeNode(grammarAccess.getDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType524);
-            iv_ruleDataType=ruleDataType();
-
-            state._fsp--;
-
-             current =iv_ruleDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType534); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDataType"
-
-
-    // $ANTLR start "ruleDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:306:1: ruleDataType returns [EObject current=null] : (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) ;
-    public final EObject ruleDataType() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_CollectionDataType_0 = null;
-
-        EObject this_CompositeDataType_1 = null;
-
-        EObject this_PrimitiveDataType_2 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:309:28: ( (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:310:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:310:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
-            int alt7=3;
-            switch ( input.LA(1) ) {
-            case 30:
-                {
-                alt7=1;
-                }
-                break;
-            case 32:
-                {
-                alt7=2;
-                }
-                break;
-            case 35:
-                {
-                alt7=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt7) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:311:5: this_CollectionDataType_0= ruleCollectionDataType
-                    {
-                     
-                            newCompositeNode(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_ruleDataType581);
-                    this_CollectionDataType_0=ruleCollectionDataType();
-
-                    state._fsp--;
-
-                     
-                            current = this_CollectionDataType_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:321:5: this_CompositeDataType_1= ruleCompositeDataType
-                    {
-                     
-                            newCompositeNode(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_ruleDataType608);
-                    this_CompositeDataType_1=ruleCompositeDataType();
-
-                    state._fsp--;
-
-                     
-                            current = this_CompositeDataType_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:331:5: this_PrimitiveDataType_2= rulePrimitiveDataType
-                    {
-                     
-                            newCompositeNode(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_ruleDataType635);
-                    this_PrimitiveDataType_2=rulePrimitiveDataType();
-
-                    state._fsp--;
-
-                     
-                            current = this_PrimitiveDataType_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDataType"
-
-
-    // $ANTLR start "entryRuleRepositoryComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:347:1: entryRuleRepositoryComponent returns [EObject current=null] : iv_ruleRepositoryComponent= ruleRepositoryComponent EOF ;
-    public final EObject entryRuleRepositoryComponent() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRepositoryComponent = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:348:2: (iv_ruleRepositoryComponent= ruleRepositoryComponent EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:349:2: iv_ruleRepositoryComponent= ruleRepositoryComponent EOF
-            {
-             newCompositeNode(grammarAccess.getRepositoryComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent670);
-            iv_ruleRepositoryComponent=ruleRepositoryComponent();
-
-            state._fsp--;
-
-             current =iv_ruleRepositoryComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent680); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRepositoryComponent"
-
-
-    // $ANTLR start "ruleRepositoryComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:356:1: ruleRepositoryComponent returns [EObject current=null] : (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) ;
-    public final EObject ruleRepositoryComponent() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_RepositoryComponent_Impl_0 = null;
-
-        EObject this_BasicComponent_1 = null;
-
-        EObject this_CompositeComponent_2 = null;
-
-        EObject this_SubSystem_3 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:359:28: ( (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:360:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:360:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
-            int alt8=4;
-            switch ( input.LA(1) ) {
-            case 24:
-                {
-                alt8=1;
-                }
-                break;
-            case 55:
-                {
-                alt8=2;
-                }
-                break;
-            case 58:
-                {
-                alt8=3;
-                }
-                break;
-            case 63:
-                {
-                alt8=4;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt8) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:361:5: this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent727);
-                    this_RepositoryComponent_Impl_0=ruleRepositoryComponent_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_RepositoryComponent_Impl_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:371:5: this_BasicComponent_1= ruleBasicComponent
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent754);
-                    this_BasicComponent_1=ruleBasicComponent();
-
-                    state._fsp--;
-
-                     
-                            current = this_BasicComponent_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:381:5: this_CompositeComponent_2= ruleCompositeComponent
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent781);
-                    this_CompositeComponent_2=ruleCompositeComponent();
-
-                    state._fsp--;
-
-                     
-                            current = this_CompositeComponent_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:391:5: this_SubSystem_3= ruleSubSystem
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_ruleRepositoryComponent808);
-                    this_SubSystem_3=ruleSubSystem();
-
-                    state._fsp--;
-
-                     
-                            current = this_SubSystem_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRepositoryComponent"
-
-
-    // $ANTLR start "entryRuleInfluencingParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:409:1: entryRuleInfluencingParameter returns [EObject current=null] : iv_ruleInfluencingParameter= ruleInfluencingParameter EOF ;
-    public final EObject entryRuleInfluencingParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleInfluencingParameter = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:410:2: (iv_ruleInfluencingParameter= ruleInfluencingParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:411:2: iv_ruleInfluencingParameter= ruleInfluencingParameter EOF
-            {
-             newCompositeNode(grammarAccess.getInfluencingParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_entryRuleInfluencingParameter845);
-            iv_ruleInfluencingParameter=ruleInfluencingParameter();
-
-            state._fsp--;
-
-             current =iv_ruleInfluencingParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfluencingParameter855); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInfluencingParameter"
-
-
-    // $ANTLR start "ruleInfluencingParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:418:1: ruleInfluencingParameter returns [EObject current=null] : (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) ;
-    public final EObject ruleInfluencingParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_InfluencingParameter_Impl_0 = null;
-
-        EObject this_ServiceInputParameter_1 = null;
-
-        EObject this_ExternalCallReturnParameter_2 = null;
-
-        EObject this_ExternalCallParameter_3 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:421:28: ( (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:422:1: (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:422:1: (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter )
-            int alt9=4;
-            switch ( input.LA(1) ) {
-            case 64:
-                {
-                alt9=1;
-                }
-                break;
-            case 71:
-                {
-                alt9=2;
-                }
-                break;
-            case 76:
-                {
-                alt9=3;
-                }
-                break;
-            case 78:
-                {
-                alt9=4;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 9, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt9) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:423:5: this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_Impl_in_ruleInfluencingParameter902);
-                    this_InfluencingParameter_Impl_0=ruleInfluencingParameter_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_InfluencingParameter_Impl_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:433:5: this_ServiceInputParameter_1= ruleServiceInputParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleServiceInputParameter_in_ruleInfluencingParameter929);
-                    this_ServiceInputParameter_1=ruleServiceInputParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_ServiceInputParameter_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:443:5: this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCallReturnParameter_in_ruleInfluencingParameter956);
-                    this_ExternalCallReturnParameter_2=ruleExternalCallReturnParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExternalCallReturnParameter_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:453:5: this_ExternalCallParameter_3= ruleExternalCallParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCallParameter_in_ruleInfluencingParameter983);
-                    this_ExternalCallParameter_3=ruleExternalCallParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExternalCallParameter_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInfluencingParameter"
-
-
-    // $ANTLR start "entryRuleExternalCall"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:475:1: entryRuleExternalCall returns [EObject current=null] : iv_ruleExternalCall= ruleExternalCall EOF ;
-    public final EObject entryRuleExternalCall() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCall = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:476:2: (iv_ruleExternalCall= ruleExternalCall EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:477:2: iv_ruleExternalCall= ruleExternalCall EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCallRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCall_in_entryRuleExternalCall1024);
-            iv_ruleExternalCall=ruleExternalCall();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCall; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCall1034); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCall"
-
-
-    // $ANTLR start "ruleExternalCall"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:484:1: ruleExternalCall returns [EObject current=null] : (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) ;
-    public final EObject ruleExternalCall() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_ExternalCall_Impl_0 = null;
-
-        EObject this_ExternalCallAction_1 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:487:28: ( (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:488:1: (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:488:1: (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0==145) ) {
-                alt10=1;
-            }
-            else if ( (LA10_0==102) ) {
-                alt10=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
-
-                throw nvae;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:489:5: this_ExternalCall_Impl_0= ruleExternalCall_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCall_Impl_in_ruleExternalCall1081);
-                    this_ExternalCall_Impl_0=ruleExternalCall_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExternalCall_Impl_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:499:5: this_ExternalCallAction_1= ruleExternalCallAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_ruleExternalCall1108);
-                    this_ExternalCallAction_1=ruleExternalCallAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExternalCallAction_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCall"
-
-
-    // $ANTLR start "entryRuleAbstractAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:515:1: entryRuleAbstractAction returns [EObject current=null] : iv_ruleAbstractAction= ruleAbstractAction EOF ;
-    public final EObject entryRuleAbstractAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAbstractAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:516:2: (iv_ruleAbstractAction= ruleAbstractAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:517:2: iv_ruleAbstractAction= ruleAbstractAction EOF
-            {
-             newCompositeNode(grammarAccess.getAbstractActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_entryRuleAbstractAction1143);
-            iv_ruleAbstractAction=ruleAbstractAction();
-
-            state._fsp--;
-
-             current =iv_ruleAbstractAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractAction1153); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAbstractAction"
-
-
-    // $ANTLR start "ruleAbstractAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:524:1: ruleAbstractAction returns [EObject current=null] : (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) ;
-    public final EObject ruleAbstractAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_AbstractAction_Impl_0 = null;
-
-        EObject this_StartAction_1 = null;
-
-        EObject this_StopAction_2 = null;
-
-        EObject this_AcquireAction_3 = null;
-
-        EObject this_ReleaseAction_4 = null;
-
-        EObject this_InternalAction_5 = null;
-
-        EObject this_ForkAction_6 = null;
-
-        EObject this_BranchAction_7 = null;
-
-        EObject this_LoopAction_8 = null;
-
-        EObject this_ExternalCallAction_9 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:527:28: ( (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:528:1: (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:528:1: (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction )
-            int alt11=10;
-            switch ( input.LA(1) ) {
-            case 83:
-                {
-                alt11=1;
-                }
-                break;
-            case 87:
-                {
-                alt11=2;
-                }
-                break;
-            case 88:
-                {
-                alt11=3;
-                }
-                break;
-            case 89:
-                {
-                alt11=4;
-                }
-                break;
-            case 91:
-                {
-                alt11=5;
-                }
-                break;
-            case 92:
-                {
-                alt11=6;
-                }
-                break;
-            case 93:
-                {
-                alt11=7;
-                }
-                break;
-            case 96:
-                {
-                alt11=8;
-                }
-                break;
-            case 99:
-                {
-                alt11=9;
-                }
-                break;
-            case 102:
-                {
-                alt11=10;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 11, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt11) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:529:5: this_AbstractAction_Impl_0= ruleAbstractAction_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_Impl_in_ruleAbstractAction1200);
-                    this_AbstractAction_Impl_0=ruleAbstractAction_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_AbstractAction_Impl_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:539:5: this_StartAction_1= ruleStartAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAbstractAction1227);
-                    this_StartAction_1=ruleStartAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_StartAction_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:549:5: this_StopAction_2= ruleStopAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAbstractAction1254);
-                    this_StopAction_2=ruleStopAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_StopAction_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:559:5: this_AcquireAction_3= ruleAcquireAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleAcquireAction_in_ruleAbstractAction1281);
-                    this_AcquireAction_3=ruleAcquireAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_AcquireAction_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:569:5: this_ReleaseAction_4= ruleReleaseAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleReleaseAction_in_ruleAbstractAction1308);
-                    this_ReleaseAction_4=ruleReleaseAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ReleaseAction_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:579:5: this_InternalAction_5= ruleInternalAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleInternalAction_in_ruleAbstractAction1335);
-                    this_InternalAction_5=ruleInternalAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_InternalAction_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:589:5: this_ForkAction_6= ruleForkAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleForkAction_in_ruleAbstractAction1362);
-                    this_ForkAction_6=ruleForkAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ForkAction_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:599:5: this_BranchAction_7= ruleBranchAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_ruleAbstractAction1389);
-                    this_BranchAction_7=ruleBranchAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_BranchAction_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:609:5: this_LoopAction_8= ruleLoopAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_ruleAbstractAction1416);
-                    this_LoopAction_8=ruleLoopAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_LoopAction_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:619:5: this_ExternalCallAction_9= ruleExternalCallAction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_ruleAbstractAction1443);
-                    this_ExternalCallAction_9=ruleExternalCallAction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExternalCallAction_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAbstractAction"
-
-
-    // $ANTLR start "entryRuleComponentInternalBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:635:1: entryRuleComponentInternalBehavior returns [EObject current=null] : iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF ;
-    public final EObject entryRuleComponentInternalBehavior() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleComponentInternalBehavior = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:636:2: (iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:637:2: iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF
-            {
-             newCompositeNode(grammarAccess.getComponentInternalBehaviorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_entryRuleComponentInternalBehavior1478);
-            iv_ruleComponentInternalBehavior=ruleComponentInternalBehavior();
-
-            state._fsp--;
-
-             current =iv_ruleComponentInternalBehavior; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInternalBehavior1488); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleComponentInternalBehavior"
-
-
-    // $ANTLR start "ruleComponentInternalBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:644:1: ruleComponentInternalBehavior returns [EObject current=null] : (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) ;
-    public final EObject ruleComponentInternalBehavior() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_ComponentInternalBehavior_Impl_0 = null;
-
-        EObject this_FineGrainedBehavior_1 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:647:28: ( (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:648:1: (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:648:1: (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior )
-            int alt12=2;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==86) ) {
-                alt12=1;
-            }
-            else if ( (LA12_0==80) ) {
-                alt12=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
-
-                throw nvae;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:649:5: this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_Impl_in_ruleComponentInternalBehavior1535);
-                    this_ComponentInternalBehavior_Impl_0=ruleComponentInternalBehavior_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_ComponentInternalBehavior_Impl_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:659:5: this_FineGrainedBehavior_1= ruleFineGrainedBehavior
-                    {
-                     
-                            newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleComponentInternalBehavior1562);
-                    this_FineGrainedBehavior_1=ruleFineGrainedBehavior();
-
-                    state._fsp--;
-
-                     
-                            current = this_FineGrainedBehavior_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleComponentInternalBehavior"
-
-
-    // $ANTLR start "entryRuleEString"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:679:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
-    public final String entryRuleEString() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEString = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:680:2: (iv_ruleEString= ruleEString EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:681:2: iv_ruleEString= ruleEString EOF
-            {
-             newCompositeNode(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString1602);
-            iv_ruleEString=ruleEString();
-
-            state._fsp--;
-
-             current =iv_ruleEString.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString1613); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEString"
-
-
-    // $ANTLR start "ruleEString"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:688:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
-    public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_STRING_0=null;
-        Token this_ID_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:691:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==RULE_STRING) ) {
-                alt13=1;
-            }
-            else if ( (LA13_0==RULE_ID) ) {
-                alt13=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
-
-                throw nvae;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:6: this_STRING_0= RULE_STRING
-                    {
-                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1653); 
-
-                    		current.merge(this_STRING_0);
-                        
-                     
-                        newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:700:10: this_ID_1= RULE_ID
-                    {
-                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1679); 
-
-                    		current.merge(this_ID_1);
-                        
-                     
-                        newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEString"
-
-
-    // $ANTLR start "entryRuleInterface"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:715:1: entryRuleInterface returns [EObject current=null] : iv_ruleInterface= ruleInterface EOF ;
-    public final EObject entryRuleInterface() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleInterface = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:716:2: (iv_ruleInterface= ruleInterface EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:717:2: iv_ruleInterface= ruleInterface EOF
-            {
-             newCompositeNode(grammarAccess.getInterfaceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface1724);
-            iv_ruleInterface=ruleInterface();
-
-            state._fsp--;
-
-             current =iv_ruleInterface; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface1734); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInterface"
-
-
-    // $ANTLR start "ruleInterface"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:724:1: ruleInterface returns [EObject current=null] : (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ;
-    public final EObject ruleInterface() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_signatures_13_0 = null;
-
-        EObject lv_signatures_15_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:727:28: ( (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:1: (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:1: (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:3: otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}'
-            {
-            otherlv_0=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleInterface1771); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getInterfaceAccess().getInterfaceKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:732:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:733:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:733:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:734:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1792);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInterfaceRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface1804); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInterface1816); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:758:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:759:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:759:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:760:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1837);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInterfaceRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:776:2: (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-
-            if ( (LA15_0==20) ) {
-                alt15=1;
-            }
-            switch (alt15) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:776:4: otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleInterface1850); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleInterface1862); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:784:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:785:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:785:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:786:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getInterfaceRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1885);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:799:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop14:
-                    do {
-                        int alt14=2;
-                        int LA14_0 = input.LA(1);
-
-                        if ( (LA14_0==15) ) {
-                            alt14=1;
-                        }
-
-
-                        switch (alt14) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:799:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface1898); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:803:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:804:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:804:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:805:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getInterfaceRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1921);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop14;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleInterface1935); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:822:3: (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )?
-            int alt17=2;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==23) ) {
-                alt17=1;
-            }
-            switch (alt17) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:822:5: otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleInterface1950); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface1962); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:830:1: ( (lv_signatures_13_0= ruleSignature ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:831:1: (lv_signatures_13_0= ruleSignature )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:831:1: (lv_signatures_13_0= ruleSignature )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:832:3: lv_signatures_13_0= ruleSignature
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface1983);
-                    lv_signatures_13_0=ruleSignature();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getInterfaceRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"signatures",
-                            		lv_signatures_13_0, 
-                            		"Signature");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:848:2: (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )*
-                    loop16:
-                    do {
-                        int alt16=2;
-                        int LA16_0 = input.LA(1);
-
-                        if ( (LA16_0==15) ) {
-                            alt16=1;
-                        }
-
-
-                        switch (alt16) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:848:4: otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface1996); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:852:1: ( (lv_signatures_15_0= ruleSignature ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:853:1: (lv_signatures_15_0= ruleSignature )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:853:1: (lv_signatures_15_0= ruleSignature )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:854:3: lv_signatures_15_0= ruleSignature
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface2017);
-                    	    lv_signatures_15_0=ruleSignature();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getInterfaceRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"signatures",
-                    	            		lv_signatures_15_0, 
-                    	            		"Signature");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop16;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInterface2031); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInterface2045); 
-
-                	newLeafNode(otherlv_17, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInterface"
-
-
-    // $ANTLR start "entryRuleRepositoryComponent_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:886:1: entryRuleRepositoryComponent_Impl returns [EObject current=null] : iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF ;
-    public final EObject entryRuleRepositoryComponent_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRepositoryComponent_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:887:2: (iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:888:2: iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getRepositoryComponent_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl2081);
-            iv_ruleRepositoryComponent_Impl=ruleRepositoryComponent_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleRepositoryComponent_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl2091); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRepositoryComponent_Impl"
-
-
-    // $ANTLR start "ruleRepositoryComponent_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:895:1: ruleRepositoryComponent_Impl returns [EObject current=null] : (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) ;
-    public final EObject ruleRepositoryComponent_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        Token otherlv_24=null;
-        Token otherlv_26=null;
-        Token otherlv_28=null;
-        Token otherlv_29=null;
-        Token otherlv_30=null;
-        Token otherlv_32=null;
-        Token otherlv_34=null;
-        Token otherlv_35=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_providedRoles_13_0 = null;
-
-        EObject lv_providedRoles_15_0 = null;
-
-        EObject lv_blackBoxBehavior_19_0 = null;
-
-        EObject lv_blackBoxBehavior_21_0 = null;
-
-        EObject lv_requiredRoles_25_0 = null;
-
-        EObject lv_requiredRoles_27_0 = null;
-
-        EObject lv_coarseGrainedBehavior_31_0 = null;
-
-        EObject lv_coarseGrainedBehavior_33_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:898:28: ( (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:1: (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:1: (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:3: otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}'
-            {
-            otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleRepositoryComponent_Impl2128); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:903:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:904:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:904:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:905:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2149);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2161); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepositoryComponent_Impl2173); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:929:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:930:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:930:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:931:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2194);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:947:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==25) ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:947:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleRepositoryComponent_Impl2207); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleRepositoryComponent_Impl2219); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:955:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:956:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:956:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:957:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2242);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:970:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop18:
-                    do {
-                        int alt18=2;
-                        int LA18_0 = input.LA(1);
-
-                        if ( (LA18_0==15) ) {
-                            alt18=1;
-                        }
-
-
-                        switch (alt18) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:970:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2255); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:974:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:975:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:975:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:976:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2278);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop18;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleRepositoryComponent_Impl2292); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:993:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )?
-            int alt21=2;
-            int LA21_0 = input.LA(1);
-
-            if ( (LA21_0==26) ) {
-                alt21=1;
-            }
-            switch (alt21) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:993:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleRepositoryComponent_Impl2307); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2319); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1001:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1002:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1002:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1003:3: lv_providedRoles_13_0= ruleProvidedRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2340);
-                    lv_providedRoles_13_0=ruleProvidedRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedRoles",
-                            		lv_providedRoles_13_0, 
-                            		"ProvidedRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1019:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )*
-                    loop20:
-                    do {
-                        int alt20=2;
-                        int LA20_0 = input.LA(1);
-
-                        if ( (LA20_0==15) ) {
-                            alt20=1;
-                        }
-
-
-                        switch (alt20) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1019:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2353); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1023:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1024:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1024:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1025:3: lv_providedRoles_15_0= ruleProvidedRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2374);
-                    	    lv_providedRoles_15_0=ruleProvidedRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedRoles",
-                    	            		lv_providedRoles_15_0, 
-                    	            		"ProvidedRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop20;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2388); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1045:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )?
-            int alt23=2;
-            int LA23_0 = input.LA(1);
-
-            if ( (LA23_0==27) ) {
-                alt23=1;
-            }
-            switch (alt23) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1045:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleRepositoryComponent_Impl2403); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2415); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1053:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1054:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1054:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1055:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2436);
-                    lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"blackBoxBehavior",
-                            		lv_blackBoxBehavior_19_0, 
-                            		"BlackBoxBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1071:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )*
-                    loop22:
-                    do {
-                        int alt22=2;
-                        int LA22_0 = input.LA(1);
-
-                        if ( (LA22_0==15) ) {
-                            alt22=1;
-                        }
-
-
-                        switch (alt22) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1071:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2449); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1075:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1076:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1076:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1077:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2470);
-                    	    lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"blackBoxBehavior",
-                    	            		lv_blackBoxBehavior_21_0, 
-                    	            		"BlackBoxBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop22;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2484); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1097:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )?
-            int alt25=2;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==28) ) {
-                alt25=1;
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1097:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}'
-                    {
-                    otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleRepositoryComponent_Impl2499); 
-
-                        	newLeafNode(otherlv_23, grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0());
-                        
-                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2511); 
-
-                        	newLeafNode(otherlv_24, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1105:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1106:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1106:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1107:3: lv_requiredRoles_25_0= ruleRequiredRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2532);
-                    lv_requiredRoles_25_0=ruleRequiredRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredRoles",
-                            		lv_requiredRoles_25_0, 
-                            		"RequiredRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1123:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )*
-                    loop24:
-                    do {
-                        int alt24=2;
-                        int LA24_0 = input.LA(1);
-
-                        if ( (LA24_0==15) ) {
-                            alt24=1;
-                        }
-
-
-                        switch (alt24) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1123:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    {
-                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2545); 
-
-                    	        	newLeafNode(otherlv_26, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1127:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1128:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1128:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1129:3: lv_requiredRoles_27_0= ruleRequiredRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2566);
-                    	    lv_requiredRoles_27_0=ruleRequiredRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredRoles",
-                    	            		lv_requiredRoles_27_0, 
-                    	            		"RequiredRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop24;
-                        }
-                    } while (true);
-
-                    otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2580); 
-
-                        	newLeafNode(otherlv_28, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1149:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
-
-            if ( (LA27_0==29) ) {
-                alt27=1;
-            }
-            switch (alt27) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1149:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}'
-                    {
-                    otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleRepositoryComponent_Impl2595); 
-
-                        	newLeafNode(otherlv_29, grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0());
-                        
-                    otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2607); 
-
-                        	newLeafNode(otherlv_30, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1157:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1158:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1158:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1159:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2628);
-                    lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"coarseGrainedBehavior",
-                            		lv_coarseGrainedBehavior_31_0, 
-                            		"CoarseGrainedBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1175:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )*
-                    loop26:
-                    do {
-                        int alt26=2;
-                        int LA26_0 = input.LA(1);
-
-                        if ( (LA26_0==15) ) {
-                            alt26=1;
-                        }
-
-
-                        switch (alt26) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1175:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    {
-                    	    otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2641); 
-
-                    	        	newLeafNode(otherlv_32, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1179:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1180:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1180:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1181:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2662);
-                    	    lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"coarseGrainedBehavior",
-                    	            		lv_coarseGrainedBehavior_33_0, 
-                    	            		"CoarseGrainedBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop26;
-                        }
-                    } while (true);
-
-                    otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2676); 
-
-                        	newLeafNode(otherlv_34, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_35=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2690); 
-
-                	newLeafNode(otherlv_35, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRepositoryComponent_Impl"
-
-
-    // $ANTLR start "entryRuleCollectionDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1213:1: entryRuleCollectionDataType returns [EObject current=null] : iv_ruleCollectionDataType= ruleCollectionDataType EOF ;
-    public final EObject entryRuleCollectionDataType() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCollectionDataType = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1214:2: (iv_ruleCollectionDataType= ruleCollectionDataType EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1215:2: iv_ruleCollectionDataType= ruleCollectionDataType EOF
-            {
-             newCompositeNode(grammarAccess.getCollectionDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2726);
-            iv_ruleCollectionDataType=ruleCollectionDataType();
-
-            state._fsp--;
-
-             current =iv_ruleCollectionDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType2736); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCollectionDataType"
-
-
-    // $ANTLR start "ruleCollectionDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1222:1: ruleCollectionDataType returns [EObject current=null] : (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleCollectionDataType() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1225:28: ( (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:1: (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:1: (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:3: otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleCollectionDataType2773); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1230:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1231:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1231:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1232:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2794);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCollectionDataType2806); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCollectionDataType2818); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1256:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1257:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1257:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1258:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2839);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleCollectionDataType2851); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1278:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1279:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1279:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1280:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCollectionDataTypeRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2874);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCollectionDataType2886); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCollectionDataType"
-
-
-    // $ANTLR start "entryRuleCompositeDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1305:1: entryRuleCompositeDataType returns [EObject current=null] : iv_ruleCompositeDataType= ruleCompositeDataType EOF ;
-    public final EObject entryRuleCompositeDataType() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCompositeDataType = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1306:2: (iv_ruleCompositeDataType= ruleCompositeDataType EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1307:2: iv_ruleCompositeDataType= ruleCompositeDataType EOF
-            {
-             newCompositeNode(grammarAccess.getCompositeDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2922);
-            iv_ruleCompositeDataType=ruleCompositeDataType();
-
-            state._fsp--;
-
-             current =iv_ruleCompositeDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType2932); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCompositeDataType"
-
-
-    // $ANTLR start "ruleCompositeDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1314:1: ruleCompositeDataType returns [EObject current=null] : (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ;
-    public final EObject ruleCompositeDataType() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_innerDeclarations_13_0 = null;
-
-        EObject lv_innerDeclarations_15_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1317:28: ( (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:1: (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:1: (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:3: otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}'
-            {
-            otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleCompositeDataType2969); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1322:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1323:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1323:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1324:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType2990);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType3002); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeDataType3014); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1348:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1349:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1349:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1350:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3035);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1366:2: (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
-
-            if ( (LA29_0==33) ) {
-                alt29=1;
-            }
-            switch (alt29) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1366:4: otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleCompositeDataType3048); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompositeDataType3060); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1374:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1375:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1375:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1376:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getCompositeDataTypeRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3083);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1389:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop28:
-                    do {
-                        int alt28=2;
-                        int LA28_0 = input.LA(1);
-
-                        if ( (LA28_0==15) ) {
-                            alt28=1;
-                        }
-
-
-                        switch (alt28) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1389:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType3096); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1393:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1394:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1394:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1395:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getCompositeDataTypeRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3119);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop28;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCompositeDataType3133); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1412:3: (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )?
-            int alt31=2;
-            int LA31_0 = input.LA(1);
-
-            if ( (LA31_0==34) ) {
-                alt31=1;
-            }
-            switch (alt31) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1412:5: otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleCompositeDataType3148); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType3160); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1420:1: ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1421:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1421:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1422:3: lv_innerDeclarations_13_0= ruleInnerDeclaration
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3181);
-                    lv_innerDeclarations_13_0=ruleInnerDeclaration();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"innerDeclarations",
-                            		lv_innerDeclarations_13_0, 
-                            		"InnerDeclaration");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1438:2: (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )*
-                    loop30:
-                    do {
-                        int alt30=2;
-                        int LA30_0 = input.LA(1);
-
-                        if ( (LA30_0==15) ) {
-                            alt30=1;
-                        }
-
-
-                        switch (alt30) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1438:4: otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType3194); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1442:1: ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1443:1: (lv_innerDeclarations_15_0= ruleInnerDeclaration )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1443:1: (lv_innerDeclarations_15_0= ruleInnerDeclaration )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1444:3: lv_innerDeclarations_15_0= ruleInnerDeclaration
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3215);
-                    	    lv_innerDeclarations_15_0=ruleInnerDeclaration();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"innerDeclarations",
-                    	            		lv_innerDeclarations_15_0, 
-                    	            		"InnerDeclaration");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop30;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeDataType3229); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeDataType3243); 
-
-                	newLeafNode(otherlv_17, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCompositeDataType"
-
-
-    // $ANTLR start "entryRulePrimitiveDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1476:1: entryRulePrimitiveDataType returns [EObject current=null] : iv_rulePrimitiveDataType= rulePrimitiveDataType EOF ;
-    public final EObject entryRulePrimitiveDataType() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePrimitiveDataType = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1477:2: (iv_rulePrimitiveDataType= rulePrimitiveDataType EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1478:2: iv_rulePrimitiveDataType= rulePrimitiveDataType EOF
-            {
-             newCompositeNode(grammarAccess.getPrimitiveDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType3279);
-            iv_rulePrimitiveDataType=rulePrimitiveDataType();
-
-            state._fsp--;
-
-             current =iv_rulePrimitiveDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType3289); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePrimitiveDataType"
-
-
-    // $ANTLR start "rulePrimitiveDataType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1485:1: rulePrimitiveDataType returns [EObject current=null] : (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) ;
-    public final EObject rulePrimitiveDataType() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Enumerator lv_type_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1488:28: ( (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:3: otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,35,FollowSets000.FOLLOW_35_in_rulePrimitiveDataType3326); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePrimitiveDataType3338); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,36,FollowSets000.FOLLOW_36_in_rulePrimitiveDataType3350); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1501:1: ( (lv_type_3_0= rulePrimitiveTypeEnum ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1502:1: (lv_type_3_0= rulePrimitiveTypeEnum )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1502:1: (lv_type_3_0= rulePrimitiveTypeEnum )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1503:3: lv_type_3_0= rulePrimitiveTypeEnum
-            {
-             
-            	        newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType3371);
-            lv_type_3_0=rulePrimitiveTypeEnum();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPrimitiveDataTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"type",
-                    		lv_type_3_0, 
-                    		"PrimitiveTypeEnum");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePrimitiveDataType3383); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePrimitiveDataType"
-
-
-    // $ANTLR start "entryRuleInnerDeclaration"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1531:1: entryRuleInnerDeclaration returns [EObject current=null] : iv_ruleInnerDeclaration= ruleInnerDeclaration EOF ;
-    public final EObject entryRuleInnerDeclaration() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleInnerDeclaration = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1532:2: (iv_ruleInnerDeclaration= ruleInnerDeclaration EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1533:2: iv_ruleInnerDeclaration= ruleInnerDeclaration EOF
-            {
-             newCompositeNode(grammarAccess.getInnerDeclarationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration3419);
-            iv_ruleInnerDeclaration=ruleInnerDeclaration();
-
-            state._fsp--;
-
-             current =iv_ruleInnerDeclaration; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration3429); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInnerDeclaration"
-
-
-    // $ANTLR start "ruleInnerDeclaration"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1540:1: ruleInnerDeclaration returns [EObject current=null] : (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleInnerDeclaration() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1543:28: ( (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:1: (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:1: (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:3: otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleInnerDeclaration3466); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1548:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1549:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1549:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1550:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3487);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInnerDeclarationRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInnerDeclaration3499); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInnerDeclaration3511); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getInnerDeclarationAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1574:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1575:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1575:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1576:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3532);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInnerDeclarationRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleInnerDeclaration3544); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1596:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1597:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1597:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1598:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getInnerDeclarationRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3567);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInnerDeclaration3579); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInnerDeclaration"
-
-
-    // $ANTLR start "entryRuleSignature"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1623:1: entryRuleSignature returns [EObject current=null] : iv_ruleSignature= ruleSignature EOF ;
-    public final EObject entryRuleSignature() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleSignature = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1624:2: (iv_ruleSignature= ruleSignature EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1625:2: iv_ruleSignature= ruleSignature EOF
-            {
-             newCompositeNode(grammarAccess.getSignatureRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature3615);
-            iv_ruleSignature=ruleSignature();
-
-            state._fsp--;
-
-             current =iv_ruleSignature; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature3625); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignature"
-
-
-    // $ANTLR start "ruleSignature"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1632:1: ruleSignature returns [EObject current=null] : (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ;
-    public final EObject ruleSignature() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_parameters_9_0 = null;
-
-        EObject lv_parameters_11_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1635:28: ( (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:1: (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:1: (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:3: otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}'
-            {
-            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleSignature3662); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getSignatureAccess().getSignatureKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1640:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1641:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1641:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1642:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3683);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSignatureRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSignature3695); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSignature3707); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getSignatureAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1666:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1667:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1667:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1668:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3728);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSignatureRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1684:2: (otherlv_5= 'returnType' ( ( ruleEString ) ) )?
-            int alt32=2;
-            int LA32_0 = input.LA(1);
-
-            if ( (LA32_0==40) ) {
-                alt32=1;
-            }
-            switch (alt32) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1684:4: otherlv_5= 'returnType' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleSignature3741); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1688:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1689:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1689:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1690:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getSignatureRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3764);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1703:4: (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )?
-            int alt34=2;
-            int LA34_0 = input.LA(1);
-
-            if ( (LA34_0==41) ) {
-                alt34=1;
-            }
-            switch (alt34) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1703:6: otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}'
-                    {
-                    otherlv_7=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleSignature3779); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getSignatureAccess().getParametersKeyword_6_0());
-                        
-                    otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSignature3791); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1711:1: ( (lv_parameters_9_0= ruleParameter ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1712:1: (lv_parameters_9_0= ruleParameter )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1712:1: (lv_parameters_9_0= ruleParameter )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1713:3: lv_parameters_9_0= ruleParameter
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3812);
-                    lv_parameters_9_0=ruleParameter();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSignatureRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"parameters",
-                            		lv_parameters_9_0, 
-                            		"Parameter");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1729:2: (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )*
-                    loop33:
-                    do {
-                        int alt33=2;
-                        int LA33_0 = input.LA(1);
-
-                        if ( (LA33_0==15) ) {
-                            alt33=1;
-                        }
-
-
-                        switch (alt33) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1729:4: otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) )
-                    	    {
-                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSignature3825); 
-
-                    	        	newLeafNode(otherlv_10, grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1733:1: ( (lv_parameters_11_0= ruleParameter ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1734:1: (lv_parameters_11_0= ruleParameter )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1734:1: (lv_parameters_11_0= ruleParameter )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1735:3: lv_parameters_11_0= ruleParameter
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3846);
-                    	    lv_parameters_11_0=ruleParameter();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSignatureRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"parameters",
-                    	            		lv_parameters_11_0, 
-                    	            		"Parameter");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop33;
-                        }
-                    } while (true);
-
-                    otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSignature3860); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSignature3874); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignature"
-
-
-    // $ANTLR start "entryRuleParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1767:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
-    public final EObject entryRuleParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleParameter = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1768:2: (iv_ruleParameter= ruleParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1769:2: iv_ruleParameter= ruleParameter EOF
-            {
-             newCompositeNode(grammarAccess.getParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter3910);
-            iv_ruleParameter=ruleParameter();
-
-            state._fsp--;
-
-             current =iv_ruleParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter3920); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleParameter"
-
-
-    // $ANTLR start "ruleParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1776:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleParameter() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
-
-        Enumerator lv_modifier_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1779:28: ( (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:3: otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleParameter3957); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1784:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1785:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1785:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1786:3: lv_name_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter3978);
-            lv_name_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleParameter3990); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleParameter4002); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getModifierKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1810:1: ( (lv_modifier_4_0= ruleParameterModifier ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1811:1: (lv_modifier_4_0= ruleParameterModifier )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1811:1: (lv_modifier_4_0= ruleParameterModifier )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1812:3: lv_modifier_4_0= ruleParameterModifier
-            {
-             
-            	        newCompositeNode(grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleParameterModifier_in_ruleParameter4023);
-            lv_modifier_4_0=ruleParameterModifier();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"modifier",
-                    		lv_modifier_4_0, 
-                    		"ParameterModifier");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParameter4035); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getDataTypeKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1832:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1833:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1833:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1834:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter4058);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleParameter4070); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleParameter"
-
-
-    // $ANTLR start "entryRuleProvidedRole"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1859:1: entryRuleProvidedRole returns [EObject current=null] : iv_ruleProvidedRole= ruleProvidedRole EOF ;
-    public final EObject entryRuleProvidedRole() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProvidedRole = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1860:2: (iv_ruleProvidedRole= ruleProvidedRole EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1861:2: iv_ruleProvidedRole= ruleProvidedRole EOF
-            {
-             newCompositeNode(grammarAccess.getProvidedRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole4106);
-            iv_ruleProvidedRole=ruleProvidedRole();
-
-            state._fsp--;
-
-             current =iv_ruleProvidedRole; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole4116); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProvidedRole"
-
-
-    // $ANTLR start "ruleProvidedRole"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1868:1: ruleProvidedRole returns [EObject current=null] : (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleProvidedRole() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1871:28: ( (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:1: (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:1: (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:3: otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleProvidedRole4153); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1876:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1877:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1877:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1878:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4174);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProvidedRoleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedRole4186); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProvidedRole4198); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1902:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1903:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1903:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1904:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4219);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProvidedRoleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleProvidedRole4231); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1924:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1925:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1925:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1926:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getProvidedRoleRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4254);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProvidedRole4266); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProvidedRole"
-
-
-    // $ANTLR start "entryRuleBlackBoxBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1951:1: entryRuleBlackBoxBehavior returns [EObject current=null] : iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF ;
-    public final EObject entryRuleBlackBoxBehavior() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBlackBoxBehavior = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1952:2: (iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1953:2: iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF
-            {
-             newCompositeNode(grammarAccess.getBlackBoxBehaviorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_entryRuleBlackBoxBehavior4302);
-            iv_ruleBlackBoxBehavior=ruleBlackBoxBehavior();
-
-            state._fsp--;
-
-             current =iv_ruleBlackBoxBehavior; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBlackBoxBehavior4312); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBlackBoxBehavior"
-
-
-    // $ANTLR start "ruleBlackBoxBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1960:1: ruleBlackBoxBehavior returns [EObject current=null] : (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) ;
-    public final EObject ruleBlackBoxBehavior() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        EObject lv_influencingParameter_8_0 = null;
-
-        EObject lv_influencingParameter_10_0 = null;
-
-        EObject lv_responseTimeSpecification_13_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1963:28: ( (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:1: (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:1: (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:3: otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}'
-            {
-            otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleBlackBoxBehavior4349); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBlackBoxBehavior4361); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1972:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
-
-            if ( (LA35_0==47) ) {
-                alt35=1;
-            }
-            switch (alt35) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1972:3: otherlv_2= 'describedSignature' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleBlackBoxBehavior4374); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1976:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1977:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1977:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1978:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBlackBoxBehaviorRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBlackBoxBehavior4397);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleBlackBoxBehavior4411); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1995:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1996:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1996:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1997:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getBlackBoxBehaviorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBlackBoxBehavior4434);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2010:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )?
-            int alt37=2;
-            int LA37_0 = input.LA(1);
-
-            if ( (LA37_0==49) ) {
-                alt37=1;
-            }
-            switch (alt37) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2010:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}'
-                    {
-                    otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleBlackBoxBehavior4447); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0());
-                        
-                    otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBlackBoxBehavior4459); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2018:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2019:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2019:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2020:3: lv_influencingParameter_8_0= ruleInfluencingParameter
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4480);
-                    lv_influencingParameter_8_0=ruleInfluencingParameter();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"influencingParameter",
-                            		lv_influencingParameter_8_0, 
-                            		"InfluencingParameter");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2036:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )*
-                    loop36:
-                    do {
-                        int alt36=2;
-                        int LA36_0 = input.LA(1);
-
-                        if ( (LA36_0==15) ) {
-                            alt36=1;
-                        }
-
-
-                        switch (alt36) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2036:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    {
-                    	    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBlackBoxBehavior4493); 
-
-                    	        	newLeafNode(otherlv_9, grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2040:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2041:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2041:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2042:3: lv_influencingParameter_10_0= ruleInfluencingParameter
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4514);
-                    	    lv_influencingParameter_10_0=ruleInfluencingParameter();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"influencingParameter",
-                    	            		lv_influencingParameter_10_0, 
-                    	            		"InfluencingParameter");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop36;
-                        }
-                    } while (true);
-
-                    otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBlackBoxBehavior4528); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2062:3: (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )?
-            int alt38=2;
-            int LA38_0 = input.LA(1);
-
-            if ( (LA38_0==50) ) {
-                alt38=1;
-            }
-            switch (alt38) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2062:5: otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) )
-                    {
-                    otherlv_12=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleBlackBoxBehavior4543); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2066:1: ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2067:1: (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2067:1: (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2068:3: lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleResponseTimeSpecification_in_ruleBlackBoxBehavior4564);
-                    lv_responseTimeSpecification_13_0=ruleResponseTimeSpecification();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"responseTimeSpecification",
-                            		lv_responseTimeSpecification_13_0, 
-                            		"ResponseTimeSpecification");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBlackBoxBehavior4578); 
-
-                	newLeafNode(otherlv_14, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBlackBoxBehavior"
-
-
-    // $ANTLR start "entryRuleRequiredRole"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2096:1: entryRuleRequiredRole returns [EObject current=null] : iv_ruleRequiredRole= ruleRequiredRole EOF ;
-    public final EObject entryRuleRequiredRole() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRequiredRole = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2097:2: (iv_ruleRequiredRole= ruleRequiredRole EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2098:2: iv_ruleRequiredRole= ruleRequiredRole EOF
-            {
-             newCompositeNode(grammarAccess.getRequiredRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole4614);
-            iv_ruleRequiredRole=ruleRequiredRole();
-
-            state._fsp--;
-
-             current =iv_ruleRequiredRole; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole4624); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRequiredRole"
-
-
-    // $ANTLR start "ruleRequiredRole"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2105:1: ruleRequiredRole returns [EObject current=null] : (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleRequiredRole() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2108:28: ( (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:1: (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:1: (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:3: otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleRequiredRole4661); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2113:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2114:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2114:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2115:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4682);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRequiredRoleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredRole4694); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRequiredRole4706); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2139:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2140:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2140:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2141:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4727);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRequiredRoleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleRequiredRole4739); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2161:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2162:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2162:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2163:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getRequiredRoleRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4762);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRequiredRole4774); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRequiredRole"
-
-
-    // $ANTLR start "entryRuleCoarseGrainedBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2188:1: entryRuleCoarseGrainedBehavior returns [EObject current=null] : iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF ;
-    public final EObject entryRuleCoarseGrainedBehavior() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCoarseGrainedBehavior = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2189:2: (iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2190:2: iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF
-            {
-             newCompositeNode(grammarAccess.getCoarseGrainedBehaviorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_entryRuleCoarseGrainedBehavior4810);
-            iv_ruleCoarseGrainedBehavior=ruleCoarseGrainedBehavior();
-
-            state._fsp--;
-
-             current =iv_ruleCoarseGrainedBehavior; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCoarseGrainedBehavior4820); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCoarseGrainedBehavior"
-
-
-    // $ANTLR start "ruleCoarseGrainedBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2197:1: ruleCoarseGrainedBehavior returns [EObject current=null] : (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) ;
-    public final EObject ruleCoarseGrainedBehavior() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_19=null;
-        Token otherlv_21=null;
-        Token otherlv_23=null;
-        Token otherlv_24=null;
-        EObject lv_influencingParameter_8_0 = null;
-
-        EObject lv_influencingParameter_10_0 = null;
-
-        EObject lv_externalCallFrequency_14_0 = null;
-
-        EObject lv_externalCallFrequency_16_0 = null;
-
-        EObject lv_resourceDemandSpecification_20_0 = null;
-
-        EObject lv_resourceDemandSpecification_22_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2200:28: ( (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:1: (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:1: (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:3: otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}'
-            {
-            otherlv_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleCoarseGrainedBehavior4857); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior4869); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2209:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )?
-            int alt39=2;
-            int LA39_0 = input.LA(1);
-
-            if ( (LA39_0==47) ) {
-                alt39=1;
-            }
-            switch (alt39) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2209:3: otherlv_2= 'describedSignature' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleCoarseGrainedBehavior4882); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2213:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2214:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2214:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2215:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4905);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleCoarseGrainedBehavior4919); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2232:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2233:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2233:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2234:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4942);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2247:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )?
-            int alt41=2;
-            int LA41_0 = input.LA(1);
-
-            if ( (LA41_0==49) ) {
-                alt41=1;
-            }
-            switch (alt41) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2247:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}'
-                    {
-                    otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleCoarseGrainedBehavior4955); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0());
-                        
-                    otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior4967); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2255:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2256:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2256:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2257:3: lv_influencingParameter_8_0= ruleInfluencingParameter
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior4988);
-                    lv_influencingParameter_8_0=ruleInfluencingParameter();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"influencingParameter",
-                            		lv_influencingParameter_8_0, 
-                            		"InfluencingParameter");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2273:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )*
-                    loop40:
-                    do {
-                        int alt40=2;
-                        int LA40_0 = input.LA(1);
-
-                        if ( (LA40_0==15) ) {
-                            alt40=1;
-                        }
-
-
-                        switch (alt40) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2273:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    {
-                    	    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5001); 
-
-                    	        	newLeafNode(otherlv_9, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2277:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2278:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2278:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2279:3: lv_influencingParameter_10_0= ruleInfluencingParameter
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior5022);
-                    	    lv_influencingParameter_10_0=ruleInfluencingParameter();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"influencingParameter",
-                    	            		lv_influencingParameter_10_0, 
-                    	            		"InfluencingParameter");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop40;
-                        }
-                    } while (true);
-
-                    otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5036); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2299:3: (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )?
-            int alt43=2;
-            int LA43_0 = input.LA(1);
-
-            if ( (LA43_0==53) ) {
-                alt43=1;
-            }
-            switch (alt43) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2299:5: otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}'
-                    {
-                    otherlv_12=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleCoarseGrainedBehavior5051); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0());
-                        
-                    otherlv_13=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior5063); 
-
-                        	newLeafNode(otherlv_13, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2307:1: ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2308:1: (lv_externalCallFrequency_14_0= ruleExternalCallFrequency )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2308:1: (lv_externalCallFrequency_14_0= ruleExternalCallFrequency )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2309:3: lv_externalCallFrequency_14_0= ruleExternalCallFrequency
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5084);
-                    lv_externalCallFrequency_14_0=ruleExternalCallFrequency();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"externalCallFrequency",
-                            		lv_externalCallFrequency_14_0, 
-                            		"ExternalCallFrequency");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2325:2: (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )*
-                    loop42:
-                    do {
-                        int alt42=2;
-                        int LA42_0 = input.LA(1);
-
-                        if ( (LA42_0==15) ) {
-                            alt42=1;
-                        }
-
-
-                        switch (alt42) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2325:4: otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) )
-                    	    {
-                    	    otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5097); 
-
-                    	        	newLeafNode(otherlv_15, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2329:1: ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2330:1: (lv_externalCallFrequency_16_0= ruleExternalCallFrequency )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2330:1: (lv_externalCallFrequency_16_0= ruleExternalCallFrequency )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2331:3: lv_externalCallFrequency_16_0= ruleExternalCallFrequency
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5118);
-                    	    lv_externalCallFrequency_16_0=ruleExternalCallFrequency();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"externalCallFrequency",
-                    	            		lv_externalCallFrequency_16_0, 
-                    	            		"ExternalCallFrequency");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop42;
-                        }
-                    } while (true);
-
-                    otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5132); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2351:3: (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
-
-            if ( (LA45_0==54) ) {
-                alt45=1;
-            }
-            switch (alt45) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2351:5: otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}'
-                    {
-                    otherlv_18=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleCoarseGrainedBehavior5147); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0());
-                        
-                    otherlv_19=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior5159); 
-
-                        	newLeafNode(otherlv_19, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2359:1: ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2360:1: (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2360:1: (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2361:3: lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5180);
-                    lv_resourceDemandSpecification_20_0=ruleResourceDemandSpecification();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"resourceDemandSpecification",
-                            		lv_resourceDemandSpecification_20_0, 
-                            		"ResourceDemandSpecification");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2377:2: (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )*
-                    loop44:
-                    do {
-                        int alt44=2;
-                        int LA44_0 = input.LA(1);
-
-                        if ( (LA44_0==15) ) {
-                            alt44=1;
-                        }
-
-
-                        switch (alt44) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2377:4: otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) )
-                    	    {
-                    	    otherlv_21=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5193); 
-
-                    	        	newLeafNode(otherlv_21, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2381:1: ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2382:1: (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2382:1: (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2383:3: lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5214);
-                    	    lv_resourceDemandSpecification_22_0=ruleResourceDemandSpecification();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"resourceDemandSpecification",
-                    	            		lv_resourceDemandSpecification_22_0, 
-                    	            		"ResourceDemandSpecification");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop44;
-                        }
-                    } while (true);
-
-                    otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5228); 
-
-                        	newLeafNode(otherlv_23, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_24=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5242); 
-
-                	newLeafNode(otherlv_24, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCoarseGrainedBehavior"
-
-
-    // $ANTLR start "entryRuleBasicComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2415:1: entryRuleBasicComponent returns [EObject current=null] : iv_ruleBasicComponent= ruleBasicComponent EOF ;
-    public final EObject entryRuleBasicComponent() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBasicComponent = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2416:2: (iv_ruleBasicComponent= ruleBasicComponent EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2417:2: iv_ruleBasicComponent= ruleBasicComponent EOF
-            {
-             newCompositeNode(grammarAccess.getBasicComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent5278);
-            iv_ruleBasicComponent=ruleBasicComponent();
-
-            state._fsp--;
-
-             current =iv_ruleBasicComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent5288); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBasicComponent"
-
-
-    // $ANTLR start "ruleBasicComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2424:1: ruleBasicComponent returns [EObject current=null] : (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) ;
-    public final EObject ruleBasicComponent() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        Token otherlv_24=null;
-        Token otherlv_26=null;
-        Token otherlv_28=null;
-        Token otherlv_29=null;
-        Token otherlv_30=null;
-        Token otherlv_32=null;
-        Token otherlv_34=null;
-        Token otherlv_35=null;
-        Token otherlv_36=null;
-        Token otherlv_38=null;
-        Token otherlv_40=null;
-        Token otherlv_41=null;
-        Token otherlv_42=null;
-        Token otherlv_44=null;
-        Token otherlv_46=null;
-        Token otherlv_47=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_providedRoles_13_0 = null;
-
-        EObject lv_providedRoles_15_0 = null;
-
-        EObject lv_blackBoxBehavior_19_0 = null;
-
-        EObject lv_blackBoxBehavior_21_0 = null;
-
-        EObject lv_requiredRoles_25_0 = null;
-
-        EObject lv_requiredRoles_27_0 = null;
-
-        EObject lv_coarseGrainedBehavior_31_0 = null;
-
-        EObject lv_coarseGrainedBehavior_33_0 = null;
-
-        EObject lv_passiveResources_37_0 = null;
-
-        EObject lv_passiveResources_39_0 = null;
-
-        EObject lv_fineGrainedBehavior_43_0 = null;
-
-        EObject lv_fineGrainedBehavior_45_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2427:28: ( (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:1: (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:1: (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:3: otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}'
-            {
-            otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleBasicComponent5325); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2432:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2433:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2433:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2434:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5346);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5358); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBasicComponent5370); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getBasicComponentAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2458:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2459:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2459:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2460:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5391);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2476:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt47=2;
-            int LA47_0 = input.LA(1);
-
-            if ( (LA47_0==25) ) {
-                alt47=1;
-            }
-            switch (alt47) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2476:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleBasicComponent5404); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleBasicComponent5416); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2484:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2485:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2485:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2486:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBasicComponentRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5439);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2499:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop46:
-                    do {
-                        int alt46=2;
-                        int LA46_0 = input.LA(1);
-
-                        if ( (LA46_0==15) ) {
-                            alt46=1;
-                        }
-
-
-                        switch (alt46) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2499:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5452); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2503:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2504:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2504:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2505:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5475);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop46;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleBasicComponent5489); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2522:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )?
-            int alt49=2;
-            int LA49_0 = input.LA(1);
-
-            if ( (LA49_0==26) ) {
-                alt49=1;
-            }
-            switch (alt49) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2522:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleBasicComponent5504); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5516); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2530:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2531:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2531:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2532:3: lv_providedRoles_13_0= ruleProvidedRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent5537);
-                    lv_providedRoles_13_0=ruleProvidedRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedRoles",
-                            		lv_providedRoles_13_0, 
-                            		"ProvidedRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2548:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )*
-                    loop48:
-                    do {
-                        int alt48=2;
-                        int LA48_0 = input.LA(1);
-
-                        if ( (LA48_0==15) ) {
-                            alt48=1;
-                        }
-
-
-                        switch (alt48) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2548:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5550); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2552:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2553:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2553:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2554:3: lv_providedRoles_15_0= ruleProvidedRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent5571);
-                    	    lv_providedRoles_15_0=ruleProvidedRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedRoles",
-                    	            		lv_providedRoles_15_0, 
-                    	            		"ProvidedRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop48;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5585); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2574:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )?
-            int alt51=2;
-            int LA51_0 = input.LA(1);
-
-            if ( (LA51_0==27) ) {
-                alt51=1;
-            }
-            switch (alt51) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2574:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleBasicComponent5600); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5612); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2582:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2583:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2583:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2584:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5633);
-                    lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"blackBoxBehavior",
-                            		lv_blackBoxBehavior_19_0, 
-                            		"BlackBoxBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2600:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )*
-                    loop50:
-                    do {
-                        int alt50=2;
-                        int LA50_0 = input.LA(1);
-
-                        if ( (LA50_0==15) ) {
-                            alt50=1;
-                        }
-
-
-                        switch (alt50) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2600:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5646); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2604:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2605:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2605:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2606:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5667);
-                    	    lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"blackBoxBehavior",
-                    	            		lv_blackBoxBehavior_21_0, 
-                    	            		"BlackBoxBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop50;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5681); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2626:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )?
-            int alt53=2;
-            int LA53_0 = input.LA(1);
-
-            if ( (LA53_0==28) ) {
-                alt53=1;
-            }
-            switch (alt53) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2626:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}'
-                    {
-                    otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleBasicComponent5696); 
-
-                        	newLeafNode(otherlv_23, grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0());
-                        
-                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5708); 
-
-                        	newLeafNode(otherlv_24, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2634:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2635:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2635:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2636:3: lv_requiredRoles_25_0= ruleRequiredRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent5729);
-                    lv_requiredRoles_25_0=ruleRequiredRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredRoles",
-                            		lv_requiredRoles_25_0, 
-                            		"RequiredRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2652:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )*
-                    loop52:
-                    do {
-                        int alt52=2;
-                        int LA52_0 = input.LA(1);
-
-                        if ( (LA52_0==15) ) {
-                            alt52=1;
-                        }
-
-
-                        switch (alt52) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2652:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    {
-                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5742); 
-
-                    	        	newLeafNode(otherlv_26, grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2656:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2657:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2657:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2658:3: lv_requiredRoles_27_0= ruleRequiredRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent5763);
-                    	    lv_requiredRoles_27_0=ruleRequiredRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredRoles",
-                    	            		lv_requiredRoles_27_0, 
-                    	            		"RequiredRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop52;
-                        }
-                    } while (true);
-
-                    otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5777); 
-
-                        	newLeafNode(otherlv_28, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2678:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
-
-            if ( (LA55_0==29) ) {
-                alt55=1;
-            }
-            switch (alt55) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2678:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}'
-                    {
-                    otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleBasicComponent5792); 
-
-                        	newLeafNode(otherlv_29, grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0());
-                        
-                    otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5804); 
-
-                        	newLeafNode(otherlv_30, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2686:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2687:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2687:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2688:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5825);
-                    lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"coarseGrainedBehavior",
-                            		lv_coarseGrainedBehavior_31_0, 
-                            		"CoarseGrainedBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2704:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )*
-                    loop54:
-                    do {
-                        int alt54=2;
-                        int LA54_0 = input.LA(1);
-
-                        if ( (LA54_0==15) ) {
-                            alt54=1;
-                        }
-
-
-                        switch (alt54) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2704:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    {
-                    	    otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5838); 
-
-                    	        	newLeafNode(otherlv_32, grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2708:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2709:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2709:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2710:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5859);
-                    	    lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"coarseGrainedBehavior",
-                    	            		lv_coarseGrainedBehavior_33_0, 
-                    	            		"CoarseGrainedBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop54;
-                        }
-                    } while (true);
-
-                    otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5873); 
-
-                        	newLeafNode(otherlv_34, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2730:3: (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
-
-            if ( (LA57_0==56) ) {
-                alt57=1;
-            }
-            switch (alt57) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2730:5: otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}'
-                    {
-                    otherlv_35=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleBasicComponent5888); 
-
-                        	newLeafNode(otherlv_35, grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0());
-                        
-                    otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5900); 
-
-                        	newLeafNode(otherlv_36, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2738:1: ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2739:1: (lv_passiveResources_37_0= rulePassiveResourceSpecification )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2739:1: (lv_passiveResources_37_0= rulePassiveResourceSpecification )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2740:3: lv_passiveResources_37_0= rulePassiveResourceSpecification
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5921);
-                    lv_passiveResources_37_0=rulePassiveResourceSpecification();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"passiveResources",
-                            		lv_passiveResources_37_0, 
-                            		"PassiveResourceSpecification");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2756:2: (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )*
-                    loop56:
-                    do {
-                        int alt56=2;
-                        int LA56_0 = input.LA(1);
-
-                        if ( (LA56_0==15) ) {
-                            alt56=1;
-                        }
-
-
-                        switch (alt56) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2756:4: otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) )
-                    	    {
-                    	    otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5934); 
-
-                    	        	newLeafNode(otherlv_38, grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2760:1: ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2761:1: (lv_passiveResources_39_0= rulePassiveResourceSpecification )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2761:1: (lv_passiveResources_39_0= rulePassiveResourceSpecification )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2762:3: lv_passiveResources_39_0= rulePassiveResourceSpecification
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5955);
-                    	    lv_passiveResources_39_0=rulePassiveResourceSpecification();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"passiveResources",
-                    	            		lv_passiveResources_39_0, 
-                    	            		"PassiveResourceSpecification");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop56;
-                        }
-                    } while (true);
-
-                    otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5969); 
-
-                        	newLeafNode(otherlv_40, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2782:3: (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )?
-            int alt59=2;
-            int LA59_0 = input.LA(1);
-
-            if ( (LA59_0==57) ) {
-                alt59=1;
-            }
-            switch (alt59) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2782:5: otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}'
-                    {
-                    otherlv_41=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleBasicComponent5984); 
-
-                        	newLeafNode(otherlv_41, grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0());
-                        
-                    otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5996); 
-
-                        	newLeafNode(otherlv_42, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2790:1: ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2791:1: (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2791:1: (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2792:3: lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6017);
-                    lv_fineGrainedBehavior_43_0=ruleFineGrainedBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"fineGrainedBehavior",
-                            		lv_fineGrainedBehavior_43_0, 
-                            		"FineGrainedBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2808:2: (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )*
-                    loop58:
-                    do {
-                        int alt58=2;
-                        int LA58_0 = input.LA(1);
-
-                        if ( (LA58_0==15) ) {
-                            alt58=1;
-                        }
-
-
-                        switch (alt58) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2808:4: otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) )
-                    	    {
-                    	    otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent6030); 
-
-                    	        	newLeafNode(otherlv_44, grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2812:1: ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2813:1: (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2813:1: (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2814:3: lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6051);
-                    	    lv_fineGrainedBehavior_45_0=ruleFineGrainedBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBasicComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"fineGrainedBehavior",
-                    	            		lv_fineGrainedBehavior_45_0, 
-                    	            		"FineGrainedBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop58;
-                        }
-                    } while (true);
-
-                    otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent6065); 
-
-                        	newLeafNode(otherlv_46, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_47=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent6079); 
-
-                	newLeafNode(otherlv_47, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBasicComponent"
-
-
-    // $ANTLR start "entryRuleCompositeComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2846:1: entryRuleCompositeComponent returns [EObject current=null] : iv_ruleCompositeComponent= ruleCompositeComponent EOF ;
-    public final EObject entryRuleCompositeComponent() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCompositeComponent = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2847:2: (iv_ruleCompositeComponent= ruleCompositeComponent EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2848:2: iv_ruleCompositeComponent= ruleCompositeComponent EOF
-            {
-             newCompositeNode(grammarAccess.getCompositeComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent6115);
-            iv_ruleCompositeComponent=ruleCompositeComponent();
-
-            state._fsp--;
-
-             current =iv_ruleCompositeComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent6125); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCompositeComponent"
-
-
-    // $ANTLR start "ruleCompositeComponent"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2855:1: ruleCompositeComponent returns [EObject current=null] : (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ;
-    public final EObject ruleCompositeComponent() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        Token otherlv_24=null;
-        Token otherlv_26=null;
-        Token otherlv_28=null;
-        Token otherlv_29=null;
-        Token otherlv_30=null;
-        Token otherlv_32=null;
-        Token otherlv_34=null;
-        Token otherlv_35=null;
-        Token otherlv_36=null;
-        Token otherlv_38=null;
-        Token otherlv_40=null;
-        Token otherlv_41=null;
-        Token otherlv_42=null;
-        Token otherlv_44=null;
-        Token otherlv_46=null;
-        Token otherlv_47=null;
-        Token otherlv_48=null;
-        Token otherlv_50=null;
-        Token otherlv_52=null;
-        Token otherlv_53=null;
-        Token otherlv_54=null;
-        Token otherlv_56=null;
-        Token otherlv_58=null;
-        Token otherlv_59=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_providedRoles_13_0 = null;
-
-        EObject lv_providedRoles_15_0 = null;
-
-        EObject lv_blackBoxBehavior_19_0 = null;
-
-        EObject lv_blackBoxBehavior_21_0 = null;
-
-        EObject lv_requiredRoles_25_0 = null;
-
-        EObject lv_requiredRoles_27_0 = null;
-
-        EObject lv_coarseGrainedBehavior_31_0 = null;
-
-        EObject lv_coarseGrainedBehavior_33_0 = null;
-
-        EObject lv_assemblyContexts_37_0 = null;
-
-        EObject lv_assemblyContexts_39_0 = null;
-
-        EObject lv_assemblyConnectors_43_0 = null;
-
-        EObject lv_assemblyConnectors_45_0 = null;
-
-        EObject lv_providedDelegationConnectors_49_0 = null;
-
-        EObject lv_providedDelegationConnectors_51_0 = null;
-
-        EObject lv_requiredDelegationConnectors_55_0 = null;
-
-        EObject lv_requiredDelegationConnectors_57_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2858:28: ( (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:1: (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:1: (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:3: otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}'
-            {
-            otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleCompositeComponent6162); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2863:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2864:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2864:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2865:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6183);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6195); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeComponent6207); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getCompositeComponentAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2889:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2890:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2890:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2891:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6228);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2907:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt61=2;
-            int LA61_0 = input.LA(1);
-
-            if ( (LA61_0==25) ) {
-                alt61=1;
-            }
-            switch (alt61) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2907:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCompositeComponent6241); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompositeComponent6253); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2915:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2916:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2916:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2917:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getCompositeComponentRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6276);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2930:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop60:
-                    do {
-                        int alt60=2;
-                        int LA60_0 = input.LA(1);
-
-                        if ( (LA60_0==15) ) {
-                            alt60=1;
-                        }
-
-
-                        switch (alt60) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2930:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6289); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2934:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2935:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2935:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2936:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6312);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop60;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCompositeComponent6326); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2953:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )?
-            int alt63=2;
-            int LA63_0 = input.LA(1);
-
-            if ( (LA63_0==26) ) {
-                alt63=1;
-            }
-            switch (alt63) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2953:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCompositeComponent6341); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6353); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2961:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2962:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2962:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2963:3: lv_providedRoles_13_0= ruleProvidedRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6374);
-                    lv_providedRoles_13_0=ruleProvidedRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedRoles",
-                            		lv_providedRoles_13_0, 
-                            		"ProvidedRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2979:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )*
-                    loop62:
-                    do {
-                        int alt62=2;
-                        int LA62_0 = input.LA(1);
-
-                        if ( (LA62_0==15) ) {
-                            alt62=1;
-                        }
-
-
-                        switch (alt62) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2979:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6387); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2983:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2984:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2984:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2985:3: lv_providedRoles_15_0= ruleProvidedRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6408);
-                    	    lv_providedRoles_15_0=ruleProvidedRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedRoles",
-                    	            		lv_providedRoles_15_0, 
-                    	            		"ProvidedRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop62;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6422); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3005:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )?
-            int alt65=2;
-            int LA65_0 = input.LA(1);
-
-            if ( (LA65_0==27) ) {
-                alt65=1;
-            }
-            switch (alt65) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3005:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleCompositeComponent6437); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6449); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3013:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3014:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3014:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3015:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6470);
-                    lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"blackBoxBehavior",
-                            		lv_blackBoxBehavior_19_0, 
-                            		"BlackBoxBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3031:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )*
-                    loop64:
-                    do {
-                        int alt64=2;
-                        int LA64_0 = input.LA(1);
-
-                        if ( (LA64_0==15) ) {
-                            alt64=1;
-                        }
-
-
-                        switch (alt64) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3031:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6483); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3035:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3036:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3036:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3037:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6504);
-                    	    lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"blackBoxBehavior",
-                    	            		lv_blackBoxBehavior_21_0, 
-                    	            		"BlackBoxBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop64;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6518); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3057:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )?
-            int alt67=2;
-            int LA67_0 = input.LA(1);
-
-            if ( (LA67_0==28) ) {
-                alt67=1;
-            }
-            switch (alt67) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3057:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}'
-                    {
-                    otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleCompositeComponent6533); 
-
-                        	newLeafNode(otherlv_23, grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0());
-                        
-                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6545); 
-
-                        	newLeafNode(otherlv_24, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3065:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3066:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3066:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3067:3: lv_requiredRoles_25_0= ruleRequiredRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6566);
-                    lv_requiredRoles_25_0=ruleRequiredRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredRoles",
-                            		lv_requiredRoles_25_0, 
-                            		"RequiredRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3083:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )*
-                    loop66:
-                    do {
-                        int alt66=2;
-                        int LA66_0 = input.LA(1);
-
-                        if ( (LA66_0==15) ) {
-                            alt66=1;
-                        }
-
-
-                        switch (alt66) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3083:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    {
-                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6579); 
-
-                    	        	newLeafNode(otherlv_26, grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3087:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3088:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3088:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3089:3: lv_requiredRoles_27_0= ruleRequiredRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6600);
-                    	    lv_requiredRoles_27_0=ruleRequiredRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredRoles",
-                    	            		lv_requiredRoles_27_0, 
-                    	            		"RequiredRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop66;
-                        }
-                    } while (true);
-
-                    otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6614); 
-
-                        	newLeafNode(otherlv_28, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3109:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )?
-            int alt69=2;
-            int LA69_0 = input.LA(1);
-
-            if ( (LA69_0==29) ) {
-                alt69=1;
-            }
-            switch (alt69) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3109:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}'
-                    {
-                    otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleCompositeComponent6629); 
-
-                        	newLeafNode(otherlv_29, grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0());
-                        
-                    otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6641); 
-
-                        	newLeafNode(otherlv_30, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3117:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3118:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3118:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3119:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6662);
-                    lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"coarseGrainedBehavior",
-                            		lv_coarseGrainedBehavior_31_0, 
-                            		"CoarseGrainedBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3135:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )*
-                    loop68:
-                    do {
-                        int alt68=2;
-                        int LA68_0 = input.LA(1);
-
-                        if ( (LA68_0==15) ) {
-                            alt68=1;
-                        }
-
-
-                        switch (alt68) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3135:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    {
-                    	    otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6675); 
-
-                    	        	newLeafNode(otherlv_32, grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3139:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3140:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3140:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3141:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6696);
-                    	    lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"coarseGrainedBehavior",
-                    	            		lv_coarseGrainedBehavior_33_0, 
-                    	            		"CoarseGrainedBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop68;
-                        }
-                    } while (true);
-
-                    otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6710); 
-
-                        	newLeafNode(otherlv_34, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3161:3: (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )?
-            int alt71=2;
-            int LA71_0 = input.LA(1);
-
-            if ( (LA71_0==59) ) {
-                alt71=1;
-            }
-            switch (alt71) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3161:5: otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}'
-                    {
-                    otherlv_35=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleCompositeComponent6725); 
-
-                        	newLeafNode(otherlv_35, grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0());
-                        
-                    otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6737); 
-
-                        	newLeafNode(otherlv_36, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3169:1: ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3170:1: (lv_assemblyContexts_37_0= ruleAssemblyContext )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3170:1: (lv_assemblyContexts_37_0= ruleAssemblyContext )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3171:3: lv_assemblyContexts_37_0= ruleAssemblyContext
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6758);
-                    lv_assemblyContexts_37_0=ruleAssemblyContext();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"assemblyContexts",
-                            		lv_assemblyContexts_37_0, 
-                            		"AssemblyContext");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3187:2: (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )*
-                    loop70:
-                    do {
-                        int alt70=2;
-                        int LA70_0 = input.LA(1);
-
-                        if ( (LA70_0==15) ) {
-                            alt70=1;
-                        }
-
-
-                        switch (alt70) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3187:4: otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) )
-                    	    {
-                    	    otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6771); 
-
-                    	        	newLeafNode(otherlv_38, grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3191:1: ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3192:1: (lv_assemblyContexts_39_0= ruleAssemblyContext )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3192:1: (lv_assemblyContexts_39_0= ruleAssemblyContext )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3193:3: lv_assemblyContexts_39_0= ruleAssemblyContext
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6792);
-                    	    lv_assemblyContexts_39_0=ruleAssemblyContext();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"assemblyContexts",
-                    	            		lv_assemblyContexts_39_0, 
-                    	            		"AssemblyContext");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop70;
-                        }
-                    } while (true);
-
-                    otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6806); 
-
-                        	newLeafNode(otherlv_40, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3213:3: (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )?
-            int alt73=2;
-            int LA73_0 = input.LA(1);
-
-            if ( (LA73_0==60) ) {
-                alt73=1;
-            }
-            switch (alt73) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3213:5: otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}'
-                    {
-                    otherlv_41=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCompositeComponent6821); 
-
-                        	newLeafNode(otherlv_41, grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0());
-                        
-                    otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6833); 
-
-                        	newLeafNode(otherlv_42, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3221:1: ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3222:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3222:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3223:3: lv_assemblyConnectors_43_0= ruleAssemblyConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6854);
-                    lv_assemblyConnectors_43_0=ruleAssemblyConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"assemblyConnectors",
-                            		lv_assemblyConnectors_43_0, 
-                            		"AssemblyConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3239:2: (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )*
-                    loop72:
-                    do {
-                        int alt72=2;
-                        int LA72_0 = input.LA(1);
-
-                        if ( (LA72_0==15) ) {
-                            alt72=1;
-                        }
-
-
-                        switch (alt72) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3239:4: otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) )
-                    	    {
-                    	    otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6867); 
-
-                    	        	newLeafNode(otherlv_44, grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3243:1: ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3244:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3244:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3245:3: lv_assemblyConnectors_45_0= ruleAssemblyConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6888);
-                    	    lv_assemblyConnectors_45_0=ruleAssemblyConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"assemblyConnectors",
-                    	            		lv_assemblyConnectors_45_0, 
-                    	            		"AssemblyConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop72;
-                        }
-                    } while (true);
-
-                    otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6902); 
-
-                        	newLeafNode(otherlv_46, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3265:3: (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )?
-            int alt75=2;
-            int LA75_0 = input.LA(1);
-
-            if ( (LA75_0==61) ) {
-                alt75=1;
-            }
-            switch (alt75) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3265:5: otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}'
-                    {
-                    otherlv_47=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCompositeComponent6917); 
-
-                        	newLeafNode(otherlv_47, grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0());
-                        
-                    otherlv_48=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6929); 
-
-                        	newLeafNode(otherlv_48, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3273:1: ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3274:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3274:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3275:3: lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6950);
-                    lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedDelegationConnectors",
-                            		lv_providedDelegationConnectors_49_0, 
-                            		"ProvidedDelegationConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3291:2: (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )*
-                    loop74:
-                    do {
-                        int alt74=2;
-                        int LA74_0 = input.LA(1);
-
-                        if ( (LA74_0==15) ) {
-                            alt74=1;
-                        }
-
-
-                        switch (alt74) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3291:4: otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) )
-                    	    {
-                    	    otherlv_50=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6963); 
-
-                    	        	newLeafNode(otherlv_50, grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3295:1: ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3296:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3296:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3297:3: lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6984);
-                    	    lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedDelegationConnectors",
-                    	            		lv_providedDelegationConnectors_51_0, 
-                    	            		"ProvidedDelegationConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop74;
-                        }
-                    } while (true);
-
-                    otherlv_52=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6998); 
-
-                        	newLeafNode(otherlv_52, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3317:3: (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )?
-            int alt77=2;
-            int LA77_0 = input.LA(1);
-
-            if ( (LA77_0==62) ) {
-                alt77=1;
-            }
-            switch (alt77) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3317:5: otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}'
-                    {
-                    otherlv_53=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCompositeComponent7013); 
-
-                        	newLeafNode(otherlv_53, grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0());
-                        
-                    otherlv_54=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent7025); 
-
-                        	newLeafNode(otherlv_54, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3325:1: ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3326:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3326:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3327:3: lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7046);
-                    lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredDelegationConnectors",
-                            		lv_requiredDelegationConnectors_55_0, 
-                            		"RequiredDelegationConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3343:2: (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )*
-                    loop76:
-                    do {
-                        int alt76=2;
-                        int LA76_0 = input.LA(1);
-
-                        if ( (LA76_0==15) ) {
-                            alt76=1;
-                        }
-
-
-                        switch (alt76) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3343:4: otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) )
-                    	    {
-                    	    otherlv_56=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent7059); 
-
-                    	        	newLeafNode(otherlv_56, grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3347:1: ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3348:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3348:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3349:3: lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7080);
-                    	    lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getCompositeComponentRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredDelegationConnectors",
-                    	            		lv_requiredDelegationConnectors_57_0, 
-                    	            		"RequiredDelegationConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop76;
-                        }
-                    } while (true);
-
-                    otherlv_58=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent7094); 
-
-                        	newLeafNode(otherlv_58, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_59=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent7108); 
-
-                	newLeafNode(otherlv_59, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCompositeComponent"
-
-
-    // $ANTLR start "entryRuleSubSystem"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3381:1: entryRuleSubSystem returns [EObject current=null] : iv_ruleSubSystem= ruleSubSystem EOF ;
-    public final EObject entryRuleSubSystem() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleSubSystem = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3382:2: (iv_ruleSubSystem= ruleSubSystem EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3383:2: iv_ruleSubSystem= ruleSubSystem EOF
-            {
-             newCompositeNode(grammarAccess.getSubSystemRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem7144);
-            iv_ruleSubSystem=ruleSubSystem();
-
-            state._fsp--;
-
-             current =iv_ruleSubSystem; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem7154); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSubSystem"
-
-
-    // $ANTLR start "ruleSubSystem"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3390:1: ruleSubSystem returns [EObject current=null] : (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ;
-    public final EObject ruleSubSystem() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        Token otherlv_24=null;
-        Token otherlv_26=null;
-        Token otherlv_28=null;
-        Token otherlv_29=null;
-        Token otherlv_30=null;
-        Token otherlv_32=null;
-        Token otherlv_34=null;
-        Token otherlv_35=null;
-        Token otherlv_36=null;
-        Token otherlv_38=null;
-        Token otherlv_40=null;
-        Token otherlv_41=null;
-        Token otherlv_42=null;
-        Token otherlv_44=null;
-        Token otherlv_46=null;
-        Token otherlv_47=null;
-        Token otherlv_48=null;
-        Token otherlv_50=null;
-        Token otherlv_52=null;
-        Token otherlv_53=null;
-        Token otherlv_54=null;
-        Token otherlv_56=null;
-        Token otherlv_58=null;
-        Token otherlv_59=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_providedRoles_13_0 = null;
-
-        EObject lv_providedRoles_15_0 = null;
-
-        EObject lv_blackBoxBehavior_19_0 = null;
-
-        EObject lv_blackBoxBehavior_21_0 = null;
-
-        EObject lv_requiredRoles_25_0 = null;
-
-        EObject lv_requiredRoles_27_0 = null;
-
-        EObject lv_coarseGrainedBehavior_31_0 = null;
-
-        EObject lv_coarseGrainedBehavior_33_0 = null;
-
-        EObject lv_assemblyContexts_37_0 = null;
-
-        EObject lv_assemblyContexts_39_0 = null;
-
-        EObject lv_assemblyConnectors_43_0 = null;
-
-        EObject lv_assemblyConnectors_45_0 = null;
-
-        EObject lv_providedDelegationConnectors_49_0 = null;
-
-        EObject lv_providedDelegationConnectors_51_0 = null;
-
-        EObject lv_requiredDelegationConnectors_55_0 = null;
-
-        EObject lv_requiredDelegationConnectors_57_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3393:28: ( (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:1: (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:1: (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:3: otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}'
-            {
-            otherlv_0=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleSubSystem7191); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getSubSystemAccess().getSubSystemKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3398:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3399:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3399:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3400:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7212);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7224); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSubSystem7236); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getSubSystemAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3424:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3425:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3425:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3426:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7257);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3442:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt79=2;
-            int LA79_0 = input.LA(1);
-
-            if ( (LA79_0==25) ) {
-                alt79=1;
-            }
-            switch (alt79) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3442:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
-                    {
-                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleSubSystem7270); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleSubSystem7282); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3450:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3451:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3451:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3452:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getSubSystemRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7305);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3465:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop78:
-                    do {
-                        int alt78=2;
-                        int LA78_0 = input.LA(1);
-
-                        if ( (LA78_0==15) ) {
-                            alt78=1;
-                        }
-
-
-                        switch (alt78) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3465:4: otherlv_8= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7318); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3469:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3470:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3470:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3471:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7341);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop78;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleSubSystem7355); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3488:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )?
-            int alt81=2;
-            int LA81_0 = input.LA(1);
-
-            if ( (LA81_0==26) ) {
-                alt81=1;
-            }
-            switch (alt81) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3488:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}'
-                    {
-                    otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleSubSystem7370); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0());
-                        
-                    otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7382); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3496:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3497:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3497:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3498:3: lv_providedRoles_13_0= ruleProvidedRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem7403);
-                    lv_providedRoles_13_0=ruleProvidedRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedRoles",
-                            		lv_providedRoles_13_0, 
-                            		"ProvidedRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3514:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )*
-                    loop80:
-                    do {
-                        int alt80=2;
-                        int LA80_0 = input.LA(1);
-
-                        if ( (LA80_0==15) ) {
-                            alt80=1;
-                        }
-
-
-                        switch (alt80) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3514:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    {
-                    	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7416); 
-
-                    	        	newLeafNode(otherlv_14, grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3518:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3519:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3519:1: (lv_providedRoles_15_0= ruleProvidedRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3520:3: lv_providedRoles_15_0= ruleProvidedRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem7437);
-                    	    lv_providedRoles_15_0=ruleProvidedRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedRoles",
-                    	            		lv_providedRoles_15_0, 
-                    	            		"ProvidedRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop80;
-                        }
-                    } while (true);
-
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7451); 
-
-                        	newLeafNode(otherlv_16, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3540:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )?
-            int alt83=2;
-            int LA83_0 = input.LA(1);
-
-            if ( (LA83_0==27) ) {
-                alt83=1;
-            }
-            switch (alt83) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3540:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleSubSystem7466); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7478); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3548:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3549:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3549:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3550:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7499);
-                    lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"blackBoxBehavior",
-                            		lv_blackBoxBehavior_19_0, 
-                            		"BlackBoxBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3566:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )*
-                    loop82:
-                    do {
-                        int alt82=2;
-                        int LA82_0 = input.LA(1);
-
-                        if ( (LA82_0==15) ) {
-                            alt82=1;
-                        }
-
-
-                        switch (alt82) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3566:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7512); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3570:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3571:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3571:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3572:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7533);
-                    	    lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"blackBoxBehavior",
-                    	            		lv_blackBoxBehavior_21_0, 
-                    	            		"BlackBoxBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop82;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7547); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3592:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )?
-            int alt85=2;
-            int LA85_0 = input.LA(1);
-
-            if ( (LA85_0==28) ) {
-                alt85=1;
-            }
-            switch (alt85) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3592:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}'
-                    {
-                    otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleSubSystem7562); 
-
-                        	newLeafNode(otherlv_23, grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0());
-                        
-                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7574); 
-
-                        	newLeafNode(otherlv_24, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3600:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3601:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3601:1: (lv_requiredRoles_25_0= ruleRequiredRole )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3602:3: lv_requiredRoles_25_0= ruleRequiredRole
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem7595);
-                    lv_requiredRoles_25_0=ruleRequiredRole();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredRoles",
-                            		lv_requiredRoles_25_0, 
-                            		"RequiredRole");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3618:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )*
-                    loop84:
-                    do {
-                        int alt84=2;
-                        int LA84_0 = input.LA(1);
-
-                        if ( (LA84_0==15) ) {
-                            alt84=1;
-                        }
-
-
-                        switch (alt84) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3618:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    {
-                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7608); 
-
-                    	        	newLeafNode(otherlv_26, grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3622:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3623:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3623:1: (lv_requiredRoles_27_0= ruleRequiredRole )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3624:3: lv_requiredRoles_27_0= ruleRequiredRole
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem7629);
-                    	    lv_requiredRoles_27_0=ruleRequiredRole();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredRoles",
-                    	            		lv_requiredRoles_27_0, 
-                    	            		"RequiredRole");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop84;
-                        }
-                    } while (true);
-
-                    otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7643); 
-
-                        	newLeafNode(otherlv_28, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3644:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )?
-            int alt87=2;
-            int LA87_0 = input.LA(1);
-
-            if ( (LA87_0==29) ) {
-                alt87=1;
-            }
-            switch (alt87) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3644:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}'
-                    {
-                    otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleSubSystem7658); 
-
-                        	newLeafNode(otherlv_29, grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0());
-                        
-                    otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7670); 
-
-                        	newLeafNode(otherlv_30, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3652:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3653:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3653:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3654:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7691);
-                    lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"coarseGrainedBehavior",
-                            		lv_coarseGrainedBehavior_31_0, 
-                            		"CoarseGrainedBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3670:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )*
-                    loop86:
-                    do {
-                        int alt86=2;
-                        int LA86_0 = input.LA(1);
-
-                        if ( (LA86_0==15) ) {
-                            alt86=1;
-                        }
-
-
-                        switch (alt86) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3670:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    {
-                    	    otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7704); 
-
-                    	        	newLeafNode(otherlv_32, grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3674:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3675:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3675:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3676:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7725);
-                    	    lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"coarseGrainedBehavior",
-                    	            		lv_coarseGrainedBehavior_33_0, 
-                    	            		"CoarseGrainedBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop86;
-                        }
-                    } while (true);
-
-                    otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7739); 
-
-                        	newLeafNode(otherlv_34, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3696:3: (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )?
-            int alt89=2;
-            int LA89_0 = input.LA(1);
-
-            if ( (LA89_0==59) ) {
-                alt89=1;
-            }
-            switch (alt89) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3696:5: otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}'
-                    {
-                    otherlv_35=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleSubSystem7754); 
-
-                        	newLeafNode(otherlv_35, grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0());
-                        
-                    otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7766); 
-
-                        	newLeafNode(otherlv_36, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3704:1: ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3705:1: (lv_assemblyContexts_37_0= ruleAssemblyContext )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3705:1: (lv_assemblyContexts_37_0= ruleAssemblyContext )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3706:3: lv_assemblyContexts_37_0= ruleAssemblyContext
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleSubSystem7787);
-                    lv_assemblyContexts_37_0=ruleAssemblyContext();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"assemblyContexts",
-                            		lv_assemblyContexts_37_0, 
-                            		"AssemblyContext");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3722:2: (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )*
-                    loop88:
-                    do {
-                        int alt88=2;
-                        int LA88_0 = input.LA(1);
-
-                        if ( (LA88_0==15) ) {
-                            alt88=1;
-                        }
-
-
-                        switch (alt88) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3722:4: otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) )
-                    	    {
-                    	    otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7800); 
-
-                    	        	newLeafNode(otherlv_38, grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3726:1: ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3727:1: (lv_assemblyContexts_39_0= ruleAssemblyContext )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3727:1: (lv_assemblyContexts_39_0= ruleAssemblyContext )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3728:3: lv_assemblyContexts_39_0= ruleAssemblyContext
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleSubSystem7821);
-                    	    lv_assemblyContexts_39_0=ruleAssemblyContext();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"assemblyContexts",
-                    	            		lv_assemblyContexts_39_0, 
-                    	            		"AssemblyContext");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop88;
-                        }
-                    } while (true);
-
-                    otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7835); 
-
-                        	newLeafNode(otherlv_40, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3748:3: (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
-
-            if ( (LA91_0==60) ) {
-                alt91=1;
-            }
-            switch (alt91) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3748:5: otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}'
-                    {
-                    otherlv_41=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSubSystem7850); 
-
-                        	newLeafNode(otherlv_41, grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0());
-                        
-                    otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7862); 
-
-                        	newLeafNode(otherlv_42, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3756:1: ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3757:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3757:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3758:3: lv_assemblyConnectors_43_0= ruleAssemblyConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7883);
-                    lv_assemblyConnectors_43_0=ruleAssemblyConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"assemblyConnectors",
-                            		lv_assemblyConnectors_43_0, 
-                            		"AssemblyConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3774:2: (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )*
-                    loop90:
-                    do {
-                        int alt90=2;
-                        int LA90_0 = input.LA(1);
-
-                        if ( (LA90_0==15) ) {
-                            alt90=1;
-                        }
-
-
-                        switch (alt90) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3774:4: otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) )
-                    	    {
-                    	    otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7896); 
-
-                    	        	newLeafNode(otherlv_44, grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3778:1: ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3779:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3779:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3780:3: lv_assemblyConnectors_45_0= ruleAssemblyConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7917);
-                    	    lv_assemblyConnectors_45_0=ruleAssemblyConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"assemblyConnectors",
-                    	            		lv_assemblyConnectors_45_0, 
-                    	            		"AssemblyConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop90;
-                        }
-                    } while (true);
-
-                    otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7931); 
-
-                        	newLeafNode(otherlv_46, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3800:3: (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )?
-            int alt93=2;
-            int LA93_0 = input.LA(1);
-
-            if ( (LA93_0==61) ) {
-                alt93=1;
-            }
-            switch (alt93) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3800:5: otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}'
-                    {
-                    otherlv_47=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSubSystem7946); 
-
-                        	newLeafNode(otherlv_47, grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0());
-                        
-                    otherlv_48=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7958); 
-
-                        	newLeafNode(otherlv_48, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3808:1: ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3809:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3809:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3810:3: lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem7979);
-                    lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"providedDelegationConnectors",
-                            		lv_providedDelegationConnectors_49_0, 
-                            		"ProvidedDelegationConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3826:2: (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )*
-                    loop92:
-                    do {
-                        int alt92=2;
-                        int LA92_0 = input.LA(1);
-
-                        if ( (LA92_0==15) ) {
-                            alt92=1;
-                        }
-
-
-                        switch (alt92) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3826:4: otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) )
-                    	    {
-                    	    otherlv_50=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7992); 
-
-                    	        	newLeafNode(otherlv_50, grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3830:1: ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3831:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3831:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3832:3: lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem8013);
-                    	    lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"providedDelegationConnectors",
-                    	            		lv_providedDelegationConnectors_51_0, 
-                    	            		"ProvidedDelegationConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop92;
-                        }
-                    } while (true);
-
-                    otherlv_52=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8027); 
-
-                        	newLeafNode(otherlv_52, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3852:3: (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )?
-            int alt95=2;
-            int LA95_0 = input.LA(1);
-
-            if ( (LA95_0==62) ) {
-                alt95=1;
-            }
-            switch (alt95) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3852:5: otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}'
-                    {
-                    otherlv_53=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleSubSystem8042); 
-
-                        	newLeafNode(otherlv_53, grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0());
-                        
-                    otherlv_54=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem8054); 
-
-                        	newLeafNode(otherlv_54, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3860:1: ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3861:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3861:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3862:3: lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8075);
-                    lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"requiredDelegationConnectors",
-                            		lv_requiredDelegationConnectors_55_0, 
-                            		"RequiredDelegationConnector");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3878:2: (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )*
-                    loop94:
-                    do {
-                        int alt94=2;
-                        int LA94_0 = input.LA(1);
-
-                        if ( (LA94_0==15) ) {
-                            alt94=1;
-                        }
-
-
-                        switch (alt94) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3878:4: otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) )
-                    	    {
-                    	    otherlv_56=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem8088); 
-
-                    	        	newLeafNode(otherlv_56, grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3882:1: ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3883:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3883:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3884:3: lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8109);
-                    	    lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getSubSystemRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"requiredDelegationConnectors",
-                    	            		lv_requiredDelegationConnectors_57_0, 
-                    	            		"RequiredDelegationConnector");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop94;
-                        }
-                    } while (true);
-
-                    otherlv_58=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8123); 
-
-                        	newLeafNode(otherlv_58, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_59=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8137); 
-
-                	newLeafNode(otherlv_59, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSubSystem"
-
-
-    // $ANTLR start "entryRuleInfluencingParameter_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3916:1: entryRuleInfluencingParameter_Impl returns [EObject current=null] : iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF ;
-    public final EObject entryRuleInfluencingParameter_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleInfluencingParameter_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3917:2: (iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3918:2: iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getInfluencingParameter_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_Impl_in_entryRuleInfluencingParameter_Impl8173);
-            iv_ruleInfluencingParameter_Impl=ruleInfluencingParameter_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleInfluencingParameter_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfluencingParameter_Impl8183); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInfluencingParameter_Impl"
-
-
-    // $ANTLR start "ruleInfluencingParameter_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3925:1: ruleInfluencingParameter_Impl returns [EObject current=null] : (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ;
-    public final EObject ruleInfluencingParameter_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_description_4_0 = null;
-
-        EObject lv_scope_9_0 = null;
-
-        EObject lv_scope_11_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3928:28: ( (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:1: (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:1: (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:3: otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}'
-            {
-            otherlv_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleInfluencingParameter_Impl8220); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3933:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3934:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3934:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3935:3: lv_name_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8241);
-            lv_name_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInfluencingParameter_Impl8253); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleInfluencingParameter_Impl8265); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3959:1: ( (lv_description_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3960:1: (lv_description_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3960:1: (lv_description_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3961:3: lv_description_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8286);
-            lv_description_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"description",
-                    		lv_description_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleInfluencingParameter_Impl8298); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3981:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3982:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3982:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3983:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getInfluencingParameter_ImplRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8321);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3996:2: (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )?
-            int alt97=2;
-            int LA97_0 = input.LA(1);
-
-            if ( (LA97_0==67) ) {
-                alt97=1;
-            }
-            switch (alt97) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3996:4: otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}'
-                    {
-                    otherlv_7=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleInfluencingParameter_Impl8334); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0());
-                        
-                    otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInfluencingParameter_Impl8346); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4004:1: ( (lv_scope_9_0= ruleScope ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4005:1: (lv_scope_9_0= ruleScope )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4005:1: (lv_scope_9_0= ruleScope )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4006:3: lv_scope_9_0= ruleScope
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8367);
-                    lv_scope_9_0=ruleScope();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"scope",
-                            		lv_scope_9_0, 
-                            		"Scope");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4022:2: (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )*
-                    loop96:
-                    do {
-                        int alt96=2;
-                        int LA96_0 = input.LA(1);
-
-                        if ( (LA96_0==15) ) {
-                            alt96=1;
-                        }
-
-
-                        switch (alt96) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4022:4: otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) )
-                    	    {
-                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInfluencingParameter_Impl8380); 
-
-                    	        	newLeafNode(otherlv_10, grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4026:1: ( (lv_scope_11_0= ruleScope ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4027:1: (lv_scope_11_0= ruleScope )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4027:1: (lv_scope_11_0= ruleScope )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4028:3: lv_scope_11_0= ruleScope
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8401);
-                    	    lv_scope_11_0=ruleScope();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"scope",
-                    	            		lv_scope_11_0, 
-                    	            		"Scope");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop96;
-                        }
-                    } while (true);
-
-                    otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInfluencingParameter_Impl8415); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInfluencingParameter_Impl8429); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInfluencingParameter_Impl"
-
-
-    // $ANTLR start "entryRuleResponseTimeSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4060:1: entryRuleResponseTimeSpecification returns [EObject current=null] : iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF ;
-    public final EObject entryRuleResponseTimeSpecification() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleResponseTimeSpecification = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4061:2: (iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4062:2: iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF
-            {
-             newCompositeNode(grammarAccess.getResponseTimeSpecificationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleResponseTimeSpecification_in_entryRuleResponseTimeSpecification8465);
-            iv_ruleResponseTimeSpecification=ruleResponseTimeSpecification();
-
-            state._fsp--;
-
-             current =iv_ruleResponseTimeSpecification; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleResponseTimeSpecification8475); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleResponseTimeSpecification"
-
-
-    // $ANTLR start "ruleResponseTimeSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4069:1: ruleResponseTimeSpecification returns [EObject current=null] : ( () otherlv_1= 'ResponseTimeSpecification' ) ;
-    public final EObject ruleResponseTimeSpecification() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4072:28: ( ( () otherlv_1= 'ResponseTimeSpecification' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:1: ( () otherlv_1= 'ResponseTimeSpecification' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:1: ( () otherlv_1= 'ResponseTimeSpecification' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:2: () otherlv_1= 'ResponseTimeSpecification'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4074:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleResponseTimeSpecification8521); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleResponseTimeSpecification"
-
-
-    // $ANTLR start "entryRuleScope"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4091:1: entryRuleScope returns [EObject current=null] : iv_ruleScope= ruleScope EOF ;
-    public final EObject entryRuleScope() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleScope = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4092:2: (iv_ruleScope= ruleScope EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4093:2: iv_ruleScope= ruleScope EOF
-            {
-             newCompositeNode(grammarAccess.getScopeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleScope_in_entryRuleScope8557);
-            iv_ruleScope=ruleScope();
-
-            state._fsp--;
-
-             current =iv_ruleScope; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleScope8567); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleScope"
-
-
-    // $ANTLR start "ruleScope"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4100:1: ruleScope returns [EObject current=null] : (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleScope() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4103:28: ( (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:1: (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:1: (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:3: otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleScope8604); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getScopeAccess().getScopeKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleScope8616); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleScope8628); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4116:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4117:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4117:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4118:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getScopeRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleScope8651);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleScope8663); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleScope"
-
-
-    // $ANTLR start "entryRuleServiceInputParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4143:1: entryRuleServiceInputParameter returns [EObject current=null] : iv_ruleServiceInputParameter= ruleServiceInputParameter EOF ;
-    public final EObject entryRuleServiceInputParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleServiceInputParameter = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4144:2: (iv_ruleServiceInputParameter= ruleServiceInputParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4145:2: iv_ruleServiceInputParameter= ruleServiceInputParameter EOF
-            {
-             newCompositeNode(grammarAccess.getServiceInputParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleServiceInputParameter_in_entryRuleServiceInputParameter8699);
-            iv_ruleServiceInputParameter=ruleServiceInputParameter();
-
-            state._fsp--;
-
-             current =iv_ruleServiceInputParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleServiceInputParameter8709); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleServiceInputParameter"
-
-
-    // $ANTLR start "ruleServiceInputParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4152:1: ruleServiceInputParameter returns [EObject current=null] : (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ;
-    public final EObject ruleServiceInputParameter() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_description_4_0 = null;
-
-        Enumerator lv_characterization_6_0 = null;
-
-        EObject lv_scope_19_0 = null;
-
-        EObject lv_scope_21_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4155:28: ( (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:1: (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:1: (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:3: otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}'
-            {
-            otherlv_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleServiceInputParameter8746); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4160:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4161:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4161:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4162:3: lv_name_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8767);
-            lv_name_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleServiceInputParameter8779); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleServiceInputParameter8791); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4186:1: ( (lv_description_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4187:1: (lv_description_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4187:1: (lv_description_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4188:3: lv_description_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8812);
-            lv_description_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"description",
-                    		lv_description_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleServiceInputParameter8824); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4208:1: ( (lv_characterization_6_0= ruleCharacterizationType ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4209:1: (lv_characterization_6_0= ruleCharacterizationType )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4209:1: (lv_characterization_6_0= ruleCharacterizationType )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4210:3: lv_characterization_6_0= ruleCharacterizationType
-            {
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleServiceInputParameter8845);
-            lv_characterization_6_0=ruleCharacterizationType();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"characterization",
-                    		lv_characterization_6_0, 
-                    		"CharacterizationType");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleServiceInputParameter8857); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4230:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4231:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4231:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4232:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getServiceInputParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8880);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleServiceInputParameter8892); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4249:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4250:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4250:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4251:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getServiceInputParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8915);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4264:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )?
-            int alt98=2;
-            int LA98_0 = input.LA(1);
-
-            if ( (LA98_0==74) ) {
-                alt98=1;
-            }
-            switch (alt98) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4264:4: otherlv_11= 'parameter' ( ( ruleEString ) )
-                    {
-                    otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleServiceInputParameter8928); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4268:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4269:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4269:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4270:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getServiceInputParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8951);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4283:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
-
-            if ( (LA99_0==40) ) {
-                alt99=1;
-            }
-            switch (alt99) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4283:6: otherlv_13= 'returnType' ( ( ruleEString ) )
-                    {
-                    otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleServiceInputParameter8966); 
-
-                        	newLeafNode(otherlv_13, grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4287:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4288:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4288:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4289:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getServiceInputParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8989);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_15=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleServiceInputParameter9003); 
-
-                	newLeafNode(otherlv_15, grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4306:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4307:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4307:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4308:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getServiceInputParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter9026);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4321:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
-
-            if ( (LA101_0==67) ) {
-                alt101=1;
-            }
-            switch (alt101) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4321:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleServiceInputParameter9039); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleServiceInputParameter9051); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4329:1: ( (lv_scope_19_0= ruleScope ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4330:1: (lv_scope_19_0= ruleScope )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4330:1: (lv_scope_19_0= ruleScope )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4331:3: lv_scope_19_0= ruleScope
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleServiceInputParameter9072);
-                    lv_scope_19_0=ruleScope();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"scope",
-                            		lv_scope_19_0, 
-                            		"Scope");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4347:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )*
-                    loop100:
-                    do {
-                        int alt100=2;
-                        int LA100_0 = input.LA(1);
-
-                        if ( (LA100_0==15) ) {
-                            alt100=1;
-                        }
-
-
-                        switch (alt100) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4347:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleServiceInputParameter9085); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4351:1: ( (lv_scope_21_0= ruleScope ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4352:1: (lv_scope_21_0= ruleScope )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4352:1: (lv_scope_21_0= ruleScope )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4353:3: lv_scope_21_0= ruleScope
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleServiceInputParameter9106);
-                    	    lv_scope_21_0=ruleScope();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getServiceInputParameterRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"scope",
-                    	            		lv_scope_21_0, 
-                    	            		"Scope");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop100;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleServiceInputParameter9120); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleServiceInputParameter9134); 
-
-                	newLeafNode(otherlv_23, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleServiceInputParameter"
-
-
-    // $ANTLR start "entryRuleExternalCallReturnParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4385:1: entryRuleExternalCallReturnParameter returns [EObject current=null] : iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF ;
-    public final EObject entryRuleExternalCallReturnParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCallReturnParameter = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4386:2: (iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4387:2: iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCallReturnParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCallReturnParameter_in_entryRuleExternalCallReturnParameter9170);
-            iv_ruleExternalCallReturnParameter=ruleExternalCallReturnParameter();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCallReturnParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallReturnParameter9180); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCallReturnParameter"
-
-
-    // $ANTLR start "ruleExternalCallReturnParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4394:1: ruleExternalCallReturnParameter returns [EObject current=null] : (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ;
-    public final EObject ruleExternalCallReturnParameter() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_description_4_0 = null;
-
-        Enumerator lv_characterization_6_0 = null;
-
-        EObject lv_scope_19_0 = null;
-
-        EObject lv_scope_21_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4397:28: ( (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:1: (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:1: (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:3: otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}'
-            {
-            otherlv_0=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleExternalCallReturnParameter9217); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4402:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4403:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4403:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4404:3: lv_name_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9238);
-            lv_name_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallReturnParameter9250); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExternalCallReturnParameter9262); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4428:1: ( (lv_description_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4429:1: (lv_description_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4429:1: (lv_description_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4430:3: lv_description_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9283);
-            lv_description_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"description",
-                    		lv_description_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleExternalCallReturnParameter9295); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4450:1: ( (lv_characterization_6_0= ruleCharacterizationType ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4451:1: (lv_characterization_6_0= ruleCharacterizationType )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4451:1: (lv_characterization_6_0= ruleCharacterizationType )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4452:3: lv_characterization_6_0= ruleCharacterizationType
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleExternalCallReturnParameter9316);
-            lv_characterization_6_0=ruleCharacterizationType();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"characterization",
-                    		lv_characterization_6_0, 
-                    		"CharacterizationType");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExternalCallReturnParameter9328); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4472:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4473:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4473:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4474:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9351);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallReturnParameter9363); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4491:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4492:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4492:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4493:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9386);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4506:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )?
-            int alt102=2;
-            int LA102_0 = input.LA(1);
-
-            if ( (LA102_0==74) ) {
-                alt102=1;
-            }
-            switch (alt102) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4506:4: otherlv_11= 'parameter' ( ( ruleEString ) )
-                    {
-                    otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleExternalCallReturnParameter9399); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4510:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4511:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4511:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4512:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9422);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4525:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )?
-            int alt103=2;
-            int LA103_0 = input.LA(1);
-
-            if ( (LA103_0==40) ) {
-                alt103=1;
-            }
-            switch (alt103) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4525:6: otherlv_13= 'returnType' ( ( ruleEString ) )
-                    {
-                    otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleExternalCallReturnParameter9437); 
-
-                        	newLeafNode(otherlv_13, grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4529:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4530:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4530:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4531:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9460);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_15=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleExternalCallReturnParameter9474); 
-
-                	newLeafNode(otherlv_15, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4548:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4549:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4549:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4550:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallReturnParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9497);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4563:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
-
-            if ( (LA105_0==67) ) {
-                alt105=1;
-            }
-            switch (alt105) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4563:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExternalCallReturnParameter9510); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallReturnParameter9522); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4571:1: ( (lv_scope_19_0= ruleScope ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4572:1: (lv_scope_19_0= ruleScope )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4572:1: (lv_scope_19_0= ruleScope )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4573:3: lv_scope_19_0= ruleScope
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9543);
-                    lv_scope_19_0=ruleScope();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"scope",
-                            		lv_scope_19_0, 
-                            		"Scope");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4589:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )*
-                    loop104:
-                    do {
-                        int alt104=2;
-                        int LA104_0 = input.LA(1);
-
-                        if ( (LA104_0==15) ) {
-                            alt104=1;
-                        }
-
-
-                        switch (alt104) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4589:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExternalCallReturnParameter9556); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4593:1: ( (lv_scope_21_0= ruleScope ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4594:1: (lv_scope_21_0= ruleScope )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4594:1: (lv_scope_21_0= ruleScope )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4595:3: lv_scope_21_0= ruleScope
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9577);
-                    	    lv_scope_21_0=ruleScope();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"scope",
-                    	            		lv_scope_21_0, 
-                    	            		"Scope");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop104;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallReturnParameter9591); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallReturnParameter9605); 
-
-                	newLeafNode(otherlv_23, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCallReturnParameter"
-
-
-    // $ANTLR start "entryRuleExternalCallParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4627:1: entryRuleExternalCallParameter returns [EObject current=null] : iv_ruleExternalCallParameter= ruleExternalCallParameter EOF ;
-    public final EObject entryRuleExternalCallParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCallParameter = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4628:2: (iv_ruleExternalCallParameter= ruleExternalCallParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4629:2: iv_ruleExternalCallParameter= ruleExternalCallParameter EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCallParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCallParameter_in_entryRuleExternalCallParameter9641);
-            iv_ruleExternalCallParameter=ruleExternalCallParameter();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCallParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallParameter9651); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCallParameter"
-
-
-    // $ANTLR start "ruleExternalCallParameter"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4636:1: ruleExternalCallParameter returns [EObject current=null] : (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ;
-    public final EObject ruleExternalCallParameter() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        Token otherlv_22=null;
-        Token otherlv_23=null;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_description_4_0 = null;
-
-        Enumerator lv_characterization_6_0 = null;
-
-        EObject lv_scope_19_0 = null;
-
-        EObject lv_scope_21_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4639:28: ( (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:1: (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:1: (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:3: otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}'
-            {
-            otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleExternalCallParameter9688); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4644:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4645:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4645:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4646:3: lv_name_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9709);
-            lv_name_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallParameter9721); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExternalCallParameter9733); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4670:1: ( (lv_description_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4671:1: (lv_description_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4671:1: (lv_description_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4672:3: lv_description_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9754);
-            lv_description_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"description",
-                    		lv_description_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleExternalCallParameter9766); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4692:1: ( (lv_characterization_6_0= ruleCharacterizationType ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4693:1: (lv_characterization_6_0= ruleCharacterizationType )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4693:1: (lv_characterization_6_0= ruleCharacterizationType )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4694:3: lv_characterization_6_0= ruleCharacterizationType
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleExternalCallParameter9787);
-            lv_characterization_6_0=ruleCharacterizationType();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"characterization",
-                    		lv_characterization_6_0, 
-                    		"CharacterizationType");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExternalCallParameter9799); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4714:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4715:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4715:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4716:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9822);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallParameter9834); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4733:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4734:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4734:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4735:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9857);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4748:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )?
-            int alt106=2;
-            int LA106_0 = input.LA(1);
-
-            if ( (LA106_0==74) ) {
-                alt106=1;
-            }
-            switch (alt106) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4748:4: otherlv_11= 'parameter' ( ( ruleEString ) )
-                    {
-                    otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleExternalCallParameter9870); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4752:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4753:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4753:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4754:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9893);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4767:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )?
-            int alt107=2;
-            int LA107_0 = input.LA(1);
-
-            if ( (LA107_0==40) ) {
-                alt107=1;
-            }
-            switch (alt107) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4767:6: otherlv_13= 'returnType' ( ( ruleEString ) )
-                    {
-                    otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleExternalCallParameter9908); 
-
-                        	newLeafNode(otherlv_13, grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4771:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4772:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4772:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4773:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallParameterRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9931);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_15=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleExternalCallParameter9945); 
-
-                	newLeafNode(otherlv_15, grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4790:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4791:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4791:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4792:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallParameterRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9968);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4805:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )?
-            int alt109=2;
-            int LA109_0 = input.LA(1);
-
-            if ( (LA109_0==67) ) {
-                alt109=1;
-            }
-            switch (alt109) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4805:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}'
-                    {
-                    otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExternalCallParameter9981); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0());
-                        
-                    otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallParameter9993); 
-
-                        	newLeafNode(otherlv_18, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4813:1: ( (lv_scope_19_0= ruleScope ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4814:1: (lv_scope_19_0= ruleScope )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4814:1: (lv_scope_19_0= ruleScope )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4815:3: lv_scope_19_0= ruleScope
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallParameter10014);
-                    lv_scope_19_0=ruleScope();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"scope",
-                            		lv_scope_19_0, 
-                            		"Scope");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4831:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )*
-                    loop108:
-                    do {
-                        int alt108=2;
-                        int LA108_0 = input.LA(1);
-
-                        if ( (LA108_0==15) ) {
-                            alt108=1;
-                        }
-
-
-                        switch (alt108) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4831:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) )
-                    	    {
-                    	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExternalCallParameter10027); 
-
-                    	        	newLeafNode(otherlv_20, grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4835:1: ( (lv_scope_21_0= ruleScope ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4836:1: (lv_scope_21_0= ruleScope )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4836:1: (lv_scope_21_0= ruleScope )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4837:3: lv_scope_21_0= ruleScope
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallParameter10048);
-                    	    lv_scope_21_0=ruleScope();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getExternalCallParameterRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"scope",
-                    	            		lv_scope_21_0, 
-                    	            		"Scope");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop108;
-                        }
-                    } while (true);
-
-                    otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallParameter10062); 
-
-                        	newLeafNode(otherlv_22, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallParameter10076); 
-
-                	newLeafNode(otherlv_23, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCallParameter"
-
-
-    // $ANTLR start "entryRuleFineGrainedBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4869:1: entryRuleFineGrainedBehavior returns [EObject current=null] : iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF ;
-    public final EObject entryRuleFineGrainedBehavior() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleFineGrainedBehavior = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4870:2: (iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4871:2: iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF
-            {
-             newCompositeNode(grammarAccess.getFineGrainedBehaviorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_entryRuleFineGrainedBehavior10112);
-            iv_ruleFineGrainedBehavior=ruleFineGrainedBehavior();
-
-            state._fsp--;
-
-             current =iv_ruleFineGrainedBehavior; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFineGrainedBehavior10122); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleFineGrainedBehavior"
-
-
-    // $ANTLR start "ruleFineGrainedBehavior"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4878:1: ruleFineGrainedBehavior returns [EObject current=null] : (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) ;
-    public final EObject ruleFineGrainedBehavior() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        Token otherlv_17=null;
-        Token otherlv_18=null;
-        Token otherlv_20=null;
-        EObject lv_influencingParameter_8_0 = null;
-
-        EObject lv_influencingParameter_10_0 = null;
-
-        EObject lv_actions_14_0 = null;
-
-        EObject lv_actions_16_0 = null;
-
-        EObject lv_behavior_19_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4881:28: ( (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:1: (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:1: (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:3: otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}'
-            {
-            otherlv_0=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleFineGrainedBehavior10159); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10171); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4890:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )?
-            int alt110=2;
-            int LA110_0 = input.LA(1);
-
-            if ( (LA110_0==47) ) {
-                alt110=1;
-            }
-            switch (alt110) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4890:3: otherlv_2= 'describedSignature' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleFineGrainedBehavior10184); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4894:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4895:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4895:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4896:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getFineGrainedBehaviorRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFineGrainedBehavior10207);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_4=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleFineGrainedBehavior10221); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4913:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4914:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4914:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4915:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getFineGrainedBehaviorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFineGrainedBehavior10244);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4928:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )?
-            int alt112=2;
-            int LA112_0 = input.LA(1);
-
-            if ( (LA112_0==49) ) {
-                alt112=1;
-            }
-            switch (alt112) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4928:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}'
-                    {
-                    otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleFineGrainedBehavior10257); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0());
-                        
-                    otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10269); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4936:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4937:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4937:1: (lv_influencingParameter_8_0= ruleInfluencingParameter )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4938:3: lv_influencingParameter_8_0= ruleInfluencingParameter
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10290);
-                    lv_influencingParameter_8_0=ruleInfluencingParameter();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"influencingParameter",
-                            		lv_influencingParameter_8_0, 
-                            		"InfluencingParameter");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4954:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )*
-                    loop111:
-                    do {
-                        int alt111=2;
-                        int LA111_0 = input.LA(1);
-
-                        if ( (LA111_0==15) ) {
-                            alt111=1;
-                        }
-
-
-                        switch (alt111) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4954:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    {
-                    	    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFineGrainedBehavior10303); 
-
-                    	        	newLeafNode(otherlv_9, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4958:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4959:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4959:1: (lv_influencingParameter_10_0= ruleInfluencingParameter )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4960:3: lv_influencingParameter_10_0= ruleInfluencingParameter
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10324);
-                    	    lv_influencingParameter_10_0=ruleInfluencingParameter();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"influencingParameter",
-                    	            		lv_influencingParameter_10_0, 
-                    	            		"InfluencingParameter");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop111;
-                        }
-                    } while (true);
-
-                    otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10338); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4980:3: (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )?
-            int alt114=2;
-            int LA114_0 = input.LA(1);
-
-            if ( (LA114_0==82) ) {
-                alt114=1;
-            }
-            switch (alt114) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4980:5: otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}'
-                    {
-                    otherlv_12=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleFineGrainedBehavior10353); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0());
-                        
-                    otherlv_13=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10365); 
-
-                        	newLeafNode(otherlv_13, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4988:1: ( (lv_actions_14_0= ruleAbstractAction ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4989:1: (lv_actions_14_0= ruleAbstractAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4989:1: (lv_actions_14_0= ruleAbstractAction )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4990:3: lv_actions_14_0= ruleAbstractAction
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10386);
-                    lv_actions_14_0=ruleAbstractAction();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"actions",
-                            		lv_actions_14_0, 
-                            		"AbstractAction");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5006:2: (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )*
-                    loop113:
-                    do {
-                        int alt113=2;
-                        int LA113_0 = input.LA(1);
-
-                        if ( (LA113_0==15) ) {
-                            alt113=1;
-                        }
-
-
-                        switch (alt113) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5006:4: otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) )
-                    	    {
-                    	    otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFineGrainedBehavior10399); 
-
-                    	        	newLeafNode(otherlv_15, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5010:1: ( (lv_actions_16_0= ruleAbstractAction ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5011:1: (lv_actions_16_0= ruleAbstractAction )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5011:1: (lv_actions_16_0= ruleAbstractAction )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5012:3: lv_actions_16_0= ruleAbstractAction
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10420);
-                    	    lv_actions_16_0=ruleAbstractAction();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"actions",
-                    	            		lv_actions_16_0, 
-                    	            		"AbstractAction");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop113;
-                        }
-                    } while (true);
-
-                    otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10434); 
-
-                        	newLeafNode(otherlv_17, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_18=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleFineGrainedBehavior10448); 
-
-                	newLeafNode(otherlv_18, grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5036:1: ( (lv_behavior_19_0= ruleComponentInternalBehavior ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5037:1: (lv_behavior_19_0= ruleComponentInternalBehavior )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5037:1: (lv_behavior_19_0= ruleComponentInternalBehavior )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5038:3: lv_behavior_19_0= ruleComponentInternalBehavior
-            {
-             
-            	        newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleFineGrainedBehavior10469);
-            lv_behavior_19_0=ruleComponentInternalBehavior();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"behavior",
-                    		lv_behavior_19_0, 
-                    		"ComponentInternalBehavior");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_20=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10481); 
-
-                	newLeafNode(otherlv_20, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleFineGrainedBehavior"
-
-
-    // $ANTLR start "entryRuleAbstractAction_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5066:1: entryRuleAbstractAction_Impl returns [EObject current=null] : iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF ;
-    public final EObject entryRuleAbstractAction_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAbstractAction_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5067:2: (iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5068:2: iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getAbstractAction_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_Impl_in_entryRuleAbstractAction_Impl10517);
-            iv_ruleAbstractAction_Impl=ruleAbstractAction_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleAbstractAction_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractAction_Impl10527); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAbstractAction_Impl"
-
-
-    // $ANTLR start "ruleAbstractAction_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5075:1: ruleAbstractAction_Impl returns [EObject current=null] : ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ;
-    public final EObject ruleAbstractAction_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5078:28: ( ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:1: ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:1: ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:2: () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5080:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleAbstractAction_Impl10573); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAbstractAction_Impl10585); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5093:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt115=2;
-            int LA115_0 = input.LA(1);
-
-            if ( (LA115_0==84) ) {
-                alt115=1;
-            }
-            switch (alt115) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5093:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleAbstractAction_Impl10598); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5097:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5098:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5098:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5099:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getAbstractAction_ImplRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAbstractAction_Impl10621);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5112:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt116=2;
-            int LA116_0 = input.LA(1);
-
-            if ( (LA116_0==85) ) {
-                alt116=1;
-            }
-            switch (alt116) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5112:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleAbstractAction_Impl10636); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5116:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5117:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5117:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5118:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getAbstractAction_ImplRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAbstractAction_Impl10659);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAbstractAction_Impl10673); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAbstractAction_Impl"
-
-
-    // $ANTLR start "entryRuleComponentInternalBehavior_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5143:1: entryRuleComponentInternalBehavior_Impl returns [EObject current=null] : iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF ;
-    public final EObject entryRuleComponentInternalBehavior_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleComponentInternalBehavior_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5144:2: (iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5145:2: iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_Impl_in_entryRuleComponentInternalBehavior_Impl10709);
-            iv_ruleComponentInternalBehavior_Impl=ruleComponentInternalBehavior_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleComponentInternalBehavior_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInternalBehavior_Impl10719); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleComponentInternalBehavior_Impl"
-
-
-    // $ANTLR start "ruleComponentInternalBehavior_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5152:1: ruleComponentInternalBehavior_Impl returns [EObject current=null] : ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
-    public final EObject ruleComponentInternalBehavior_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        EObject lv_actions_5_0 = null;
-
-        EObject lv_actions_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5155:28: ( ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:1: ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:1: ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:2: () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5157:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleComponentInternalBehavior_Impl10765); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInternalBehavior_Impl10777); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5170:1: (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )?
-            int alt118=2;
-            int LA118_0 = input.LA(1);
-
-            if ( (LA118_0==82) ) {
-                alt118=1;
-            }
-            switch (alt118) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5170:3: otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}'
-                    {
-                    otherlv_3=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleComponentInternalBehavior_Impl10790); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInternalBehavior_Impl10802); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5178:1: ( (lv_actions_5_0= ruleAbstractAction ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5179:1: (lv_actions_5_0= ruleAbstractAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5179:1: (lv_actions_5_0= ruleAbstractAction )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5180:3: lv_actions_5_0= ruleAbstractAction
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10823);
-                    lv_actions_5_0=ruleAbstractAction();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"actions",
-                            		lv_actions_5_0, 
-                            		"AbstractAction");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5196:2: (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )*
-                    loop117:
-                    do {
-                        int alt117=2;
-                        int LA117_0 = input.LA(1);
-
-                        if ( (LA117_0==15) ) {
-                            alt117=1;
-                        }
-
-
-                        switch (alt117) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5196:4: otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComponentInternalBehavior_Impl10836); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5200:1: ( (lv_actions_7_0= ruleAbstractAction ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5201:1: (lv_actions_7_0= ruleAbstractAction )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5201:1: (lv_actions_7_0= ruleAbstractAction )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5202:3: lv_actions_7_0= ruleAbstractAction
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10857);
-                    	    lv_actions_7_0=ruleAbstractAction();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"actions",
-                    	            		lv_actions_7_0, 
-                    	            		"AbstractAction");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop117;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInternalBehavior_Impl10871); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInternalBehavior_Impl10885); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleComponentInternalBehavior_Impl"
-
-
-    // $ANTLR start "entryRuleStartAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5234:1: entryRuleStartAction returns [EObject current=null] : iv_ruleStartAction= ruleStartAction EOF ;
-    public final EObject entryRuleStartAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleStartAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5235:2: (iv_ruleStartAction= ruleStartAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5236:2: iv_ruleStartAction= ruleStartAction EOF
-            {
-             newCompositeNode(grammarAccess.getStartActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction10921);
-            iv_ruleStartAction=ruleStartAction();
-
-            state._fsp--;
-
-             current =iv_ruleStartAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction10931); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleStartAction"
-
-
-    // $ANTLR start "ruleStartAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5243:1: ruleStartAction returns [EObject current=null] : ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ;
-    public final EObject ruleStartAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5246:28: ( ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:1: ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:1: ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:2: () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5248:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getStartActionAccess().getStartActionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleStartAction10977); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStartAction10989); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5261:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt119=2;
-            int LA119_0 = input.LA(1);
-
-            if ( (LA119_0==84) ) {
-                alt119=1;
-            }
-            switch (alt119) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5261:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleStartAction11002); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5265:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5266:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5266:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5267:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStartActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction11025);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5280:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt120=2;
-            int LA120_0 = input.LA(1);
-
-            if ( (LA120_0==85) ) {
-                alt120=1;
-            }
-            switch (alt120) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5280:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleStartAction11040); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5284:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5285:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5285:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5286:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStartActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction11063);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStartAction11077); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleStartAction"
-
-
-    // $ANTLR start "entryRuleStopAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5311:1: entryRuleStopAction returns [EObject current=null] : iv_ruleStopAction= ruleStopAction EOF ;
-    public final EObject entryRuleStopAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleStopAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5312:2: (iv_ruleStopAction= ruleStopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5313:2: iv_ruleStopAction= ruleStopAction EOF
-            {
-             newCompositeNode(grammarAccess.getStopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction11113);
-            iv_ruleStopAction=ruleStopAction();
-
-            state._fsp--;
-
-             current =iv_ruleStopAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction11123); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleStopAction"
-
-
-    // $ANTLR start "ruleStopAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5320:1: ruleStopAction returns [EObject current=null] : ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ;
-    public final EObject ruleStopAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5323:28: ( ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:1: ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:1: ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:2: () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5325:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getStopActionAccess().getStopActionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleStopAction11169); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStopAction11181); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5338:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt121=2;
-            int LA121_0 = input.LA(1);
-
-            if ( (LA121_0==84) ) {
-                alt121=1;
-            }
-            switch (alt121) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5338:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleStopAction11194); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5342:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5343:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5343:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5344:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction11217);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5357:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt122=2;
-            int LA122_0 = input.LA(1);
-
-            if ( (LA122_0==85) ) {
-                alt122=1;
-            }
-            switch (alt122) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5357:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleStopAction11232); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5361:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5362:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5362:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5363:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction11255);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStopAction11269); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleStopAction"
-
-
-    // $ANTLR start "entryRuleAcquireAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5388:1: entryRuleAcquireAction returns [EObject current=null] : iv_ruleAcquireAction= ruleAcquireAction EOF ;
-    public final EObject entryRuleAcquireAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAcquireAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5389:2: (iv_ruleAcquireAction= ruleAcquireAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5390:2: iv_ruleAcquireAction= ruleAcquireAction EOF
-            {
-             newCompositeNode(grammarAccess.getAcquireActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAcquireAction_in_entryRuleAcquireAction11305);
-            iv_ruleAcquireAction=ruleAcquireAction();
-
-            state._fsp--;
-
-             current =iv_ruleAcquireAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAcquireAction11315); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAcquireAction"
-
-
-    // $ANTLR start "ruleAcquireAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5397:1: ruleAcquireAction returns [EObject current=null] : (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ;
-    public final EObject ruleAcquireAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5400:28: ( (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:1: (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:1: (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:3: otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleAcquireAction11352); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAcquireAction11364); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5409:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )?
-            int alt123=2;
-            int LA123_0 = input.LA(1);
-
-            if ( (LA123_0==84) ) {
-                alt123=1;
-            }
-            switch (alt123) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5409:3: otherlv_2= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleAcquireAction11377); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5413:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5414:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5414:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5415:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getAcquireActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11400);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5428:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )?
-            int alt124=2;
-            int LA124_0 = input.LA(1);
-
-            if ( (LA124_0==85) ) {
-                alt124=1;
-            }
-            switch (alt124) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5428:6: otherlv_4= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleAcquireAction11415); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5432:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5433:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5433:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5434:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getAcquireActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11438);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_6=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleAcquireAction11452); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5451:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5452:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5452:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5453:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAcquireActionRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11475);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAcquireAction11487); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAcquireAction"
-
-
-    // $ANTLR start "entryRuleReleaseAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5478:1: entryRuleReleaseAction returns [EObject current=null] : iv_ruleReleaseAction= ruleReleaseAction EOF ;
-    public final EObject entryRuleReleaseAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleReleaseAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5479:2: (iv_ruleReleaseAction= ruleReleaseAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5480:2: iv_ruleReleaseAction= ruleReleaseAction EOF
-            {
-             newCompositeNode(grammarAccess.getReleaseActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleReleaseAction_in_entryRuleReleaseAction11523);
-            iv_ruleReleaseAction=ruleReleaseAction();
-
-            state._fsp--;
-
-             current =iv_ruleReleaseAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReleaseAction11533); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleReleaseAction"
-
-
-    // $ANTLR start "ruleReleaseAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5487:1: ruleReleaseAction returns [EObject current=null] : (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ;
-    public final EObject ruleReleaseAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5490:28: ( (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:1: (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:1: (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:3: otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleReleaseAction11570); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleReleaseAction11582); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5499:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )?
-            int alt125=2;
-            int LA125_0 = input.LA(1);
-
-            if ( (LA125_0==84) ) {
-                alt125=1;
-            }
-            switch (alt125) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5499:3: otherlv_2= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleReleaseAction11595); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5503:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5504:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5504:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5505:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getReleaseActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11618);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5518:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )?
-            int alt126=2;
-            int LA126_0 = input.LA(1);
-
-            if ( (LA126_0==85) ) {
-                alt126=1;
-            }
-            switch (alt126) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5518:6: otherlv_4= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleReleaseAction11633); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5522:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5523:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5523:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5524:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getReleaseActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11656);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_6=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleReleaseAction11670); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5541:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5542:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5542:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5543:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getReleaseActionRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11693);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleReleaseAction11705); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleReleaseAction"
-
-
-    // $ANTLR start "entryRuleInternalAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5568:1: entryRuleInternalAction returns [EObject current=null] : iv_ruleInternalAction= ruleInternalAction EOF ;
-    public final EObject entryRuleInternalAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleInternalAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5569:2: (iv_ruleInternalAction= ruleInternalAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5570:2: iv_ruleInternalAction= ruleInternalAction EOF
-            {
-             newCompositeNode(grammarAccess.getInternalActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInternalAction_in_entryRuleInternalAction11741);
-            iv_ruleInternalAction=ruleInternalAction();
-
-            state._fsp--;
-
-             current =iv_ruleInternalAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInternalAction11751); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInternalAction"
-
-
-    // $ANTLR start "ruleInternalAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5577:1: ruleInternalAction returns [EObject current=null] : ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ;
-    public final EObject ruleInternalAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        EObject lv_resourceDemandSpecification_9_0 = null;
-
-        EObject lv_resourceDemandSpecification_11_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5580:28: ( ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:1: ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:1: ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:2: () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5582:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getInternalActionAccess().getInternalActionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleInternalAction11797); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getInternalActionAccess().getInternalActionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInternalAction11809); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5595:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt127=2;
-            int LA127_0 = input.LA(1);
-
-            if ( (LA127_0==84) ) {
-                alt127=1;
-            }
-            switch (alt127) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5595:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleInternalAction11822); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5599:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5600:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5600:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5601:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getInternalActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInternalAction11845);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5614:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt128=2;
-            int LA128_0 = input.LA(1);
-
-            if ( (LA128_0==85) ) {
-                alt128=1;
-            }
-            switch (alt128) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5614:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleInternalAction11860); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5618:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5619:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5619:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5620:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getInternalActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInternalAction11883);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5633:4: (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )?
-            int alt130=2;
-            int LA130_0 = input.LA(1);
-
-            if ( (LA130_0==54) ) {
-                alt130=1;
-            }
-            switch (alt130) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5633:6: otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}'
-                    {
-                    otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleInternalAction11898); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0());
-                        
-                    otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInternalAction11910); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5641:1: ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5642:1: (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5642:1: (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5643:3: lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11931);
-                    lv_resourceDemandSpecification_9_0=ruleResourceDemandSpecification();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getInternalActionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"resourceDemandSpecification",
-                            		lv_resourceDemandSpecification_9_0, 
-                            		"ResourceDemandSpecification");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5659:2: (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )*
-                    loop129:
-                    do {
-                        int alt129=2;
-                        int LA129_0 = input.LA(1);
-
-                        if ( (LA129_0==15) ) {
-                            alt129=1;
-                        }
-
-
-                        switch (alt129) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5659:4: otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) )
-                    	    {
-                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInternalAction11944); 
-
-                    	        	newLeafNode(otherlv_10, grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5663:1: ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5664:1: (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5664:1: (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5665:3: lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11965);
-                    	    lv_resourceDemandSpecification_11_0=ruleResourceDemandSpecification();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getInternalActionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"resourceDemandSpecification",
-                    	            		lv_resourceDemandSpecification_11_0, 
-                    	            		"ResourceDemandSpecification");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop129;
-                        }
-                    } while (true);
-
-                    otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInternalAction11979); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInternalAction11993); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInternalAction"
-
-
-    // $ANTLR start "entryRuleForkAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5697:1: entryRuleForkAction returns [EObject current=null] : iv_ruleForkAction= ruleForkAction EOF ;
-    public final EObject entryRuleForkAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleForkAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5698:2: (iv_ruleForkAction= ruleForkAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5699:2: iv_ruleForkAction= ruleForkAction EOF
-            {
-             newCompositeNode(grammarAccess.getForkActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleForkAction_in_entryRuleForkAction12029);
-            iv_ruleForkAction=ruleForkAction();
-
-            state._fsp--;
-
-             current =iv_ruleForkAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForkAction12039); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleForkAction"
-
-
-    // $ANTLR start "ruleForkAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5706:1: ruleForkAction returns [EObject current=null] : ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ;
-    public final EObject ruleForkAction() throws RecognitionException {
-        EObject current = null;
-
-        Token lv_withSynchronizationBarrier_0_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        EObject lv_forkedBehaviors_9_0 = null;
-
-        EObject lv_forkedBehaviors_11_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5709:28: ( ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:1: ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:1: ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:2: ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:2: ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5711:1: (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5711:1: (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5712:3: lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier'
-            {
-            lv_withSynchronizationBarrier_0_0=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleForkAction12082); 
-
-                    newLeafNode(lv_withSynchronizationBarrier_0_0, grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0());
-                
-
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getForkActionRule());
-            	        }
-                   		setWithLastConsumed(current, "withSynchronizationBarrier", true, "withSynchronizationBarrier");
-            	    
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleForkAction12107); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getForkActionAccess().getForkActionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleForkAction12119); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5733:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt131=2;
-            int LA131_0 = input.LA(1);
-
-            if ( (LA131_0==84) ) {
-                alt131=1;
-            }
-            switch (alt131) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5733:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleForkAction12132); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5737:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5738:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5738:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5739:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getForkActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleForkAction12155);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5752:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt132=2;
-            int LA132_0 = input.LA(1);
-
-            if ( (LA132_0==85) ) {
-                alt132=1;
-            }
-            switch (alt132) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5752:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleForkAction12170); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5756:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5757:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5757:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5758:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getForkActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleForkAction12193);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5771:4: (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )?
-            int alt134=2;
-            int LA134_0 = input.LA(1);
-
-            if ( (LA134_0==95) ) {
-                alt134=1;
-            }
-            switch (alt134) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5771:6: otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}'
-                    {
-                    otherlv_7=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleForkAction12208); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0());
-                        
-                    otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleForkAction12220); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5779:1: ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5780:1: (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5780:1: (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5781:3: lv_forkedBehaviors_9_0= ruleComponentInternalBehavior
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12241);
-                    lv_forkedBehaviors_9_0=ruleComponentInternalBehavior();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getForkActionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"forkedBehaviors",
-                            		lv_forkedBehaviors_9_0, 
-                            		"ComponentInternalBehavior");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5797:2: (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )*
-                    loop133:
-                    do {
-                        int alt133=2;
-                        int LA133_0 = input.LA(1);
-
-                        if ( (LA133_0==15) ) {
-                            alt133=1;
-                        }
-
-
-                        switch (alt133) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5797:4: otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) )
-                    	    {
-                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleForkAction12254); 
-
-                    	        	newLeafNode(otherlv_10, grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5801:1: ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5802:1: (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5802:1: (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5803:3: lv_forkedBehaviors_11_0= ruleComponentInternalBehavior
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12275);
-                    	    lv_forkedBehaviors_11_0=ruleComponentInternalBehavior();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getForkActionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"forkedBehaviors",
-                    	            		lv_forkedBehaviors_11_0, 
-                    	            		"ComponentInternalBehavior");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop133;
-                        }
-                    } while (true);
-
-                    otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleForkAction12289); 
-
-                        	newLeafNode(otherlv_12, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleForkAction12303); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleForkAction"
-
-
-    // $ANTLR start "entryRuleBranchAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5835:1: entryRuleBranchAction returns [EObject current=null] : iv_ruleBranchAction= ruleBranchAction EOF ;
-    public final EObject entryRuleBranchAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBranchAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5836:2: (iv_ruleBranchAction= ruleBranchAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5837:2: iv_ruleBranchAction= ruleBranchAction EOF
-            {
-             newCompositeNode(grammarAccess.getBranchActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction12339);
-            iv_ruleBranchAction=ruleBranchAction();
-
-            state._fsp--;
-
-             current =iv_ruleBranchAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction12349); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBranchAction"
-
-
-    // $ANTLR start "ruleBranchAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5844:1: ruleBranchAction returns [EObject current=null] : (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) ;
-    public final EObject ruleBranchAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        EObject lv_branches_8_0 = null;
-
-        EObject lv_branches_10_0 = null;
-
-        EObject lv_branchProbabilities_13_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5847:28: ( (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:1: (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:1: (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:3: otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}'
-            {
-            otherlv_0=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleBranchAction12386); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchAction12398); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5856:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )?
-            int alt135=2;
-            int LA135_0 = input.LA(1);
-
-            if ( (LA135_0==84) ) {
-                alt135=1;
-            }
-            switch (alt135) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5856:3: otherlv_2= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleBranchAction12411); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5860:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5861:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5861:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5862:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBranchActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction12434);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5875:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )?
-            int alt136=2;
-            int LA136_0 = input.LA(1);
-
-            if ( (LA136_0==85) ) {
-                alt136=1;
-            }
-            switch (alt136) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5875:6: otherlv_4= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleBranchAction12449); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5879:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5880:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5880:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5881:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBranchActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction12472);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5894:4: (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )?
-            int alt138=2;
-            int LA138_0 = input.LA(1);
-
-            if ( (LA138_0==97) ) {
-                alt138=1;
-            }
-            switch (alt138) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5894:6: otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}'
-                    {
-                    otherlv_6=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleBranchAction12487); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0());
-                        
-                    otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchAction12499); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5902:1: ( (lv_branches_8_0= ruleBranchTransition ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5903:1: (lv_branches_8_0= ruleBranchTransition )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5903:1: (lv_branches_8_0= ruleBranchTransition )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5904:3: lv_branches_8_0= ruleBranchTransition
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_ruleBranchAction12520);
-                    lv_branches_8_0=ruleBranchTransition();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"branches",
-                            		lv_branches_8_0, 
-                            		"BranchTransition");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5920:2: (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )*
-                    loop137:
-                    do {
-                        int alt137=2;
-                        int LA137_0 = input.LA(1);
-
-                        if ( (LA137_0==15) ) {
-                            alt137=1;
-                        }
-
-
-                        switch (alt137) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5920:4: otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) )
-                    	    {
-                    	    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBranchAction12533); 
-
-                    	        	newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5924:1: ( (lv_branches_10_0= ruleBranchTransition ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5925:1: (lv_branches_10_0= ruleBranchTransition )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5925:1: (lv_branches_10_0= ruleBranchTransition )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5926:3: lv_branches_10_0= ruleBranchTransition
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_ruleBranchAction12554);
-                    	    lv_branches_10_0=ruleBranchTransition();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"branches",
-                    	            		lv_branches_10_0, 
-                    	            		"BranchTransition");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop137;
-                        }
-                    } while (true);
-
-                    otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchAction12568); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_12=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleBranchAction12582); 
-
-                	newLeafNode(otherlv_12, grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5950:1: ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5951:1: (lv_branchProbabilities_13_0= ruleBranchProbabilities )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5951:1: (lv_branchProbabilities_13_0= ruleBranchProbabilities )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5952:3: lv_branchProbabilities_13_0= ruleBranchProbabilities
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBranchProbabilities_in_ruleBranchAction12603);
-            lv_branchProbabilities_13_0=ruleBranchProbabilities();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"branchProbabilities",
-                    		lv_branchProbabilities_13_0, 
-                    		"BranchProbabilities");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchAction12615); 
-
-                	newLeafNode(otherlv_14, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBranchAction"
-
-
-    // $ANTLR start "entryRuleLoopAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5980:1: entryRuleLoopAction returns [EObject current=null] : iv_ruleLoopAction= ruleLoopAction EOF ;
-    public final EObject entryRuleLoopAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleLoopAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5981:2: (iv_ruleLoopAction= ruleLoopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5982:2: iv_ruleLoopAction= ruleLoopAction EOF
-            {
-             newCompositeNode(grammarAccess.getLoopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction12651);
-            iv_ruleLoopAction=ruleLoopAction();
-
-            state._fsp--;
-
-             current =iv_ruleLoopAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction12661); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleLoopAction"
-
-
-    // $ANTLR start "ruleLoopAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5989:1: ruleLoopAction returns [EObject current=null] : (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) ;
-    public final EObject ruleLoopAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        EObject lv_loopBodyBehavior_7_0 = null;
-
-        EObject lv_loopIterationCountDistribution_9_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5992:28: ( (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:1: (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:1: (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:3: otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}'
-            {
-            otherlv_0=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleLoopAction12698); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopAction12710); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6001:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )?
-            int alt139=2;
-            int LA139_0 = input.LA(1);
-
-            if ( (LA139_0==84) ) {
-                alt139=1;
-            }
-            switch (alt139) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6001:3: otherlv_2= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleLoopAction12723); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6005:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6006:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6006:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6007:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getLoopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction12746);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6020:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )?
-            int alt140=2;
-            int LA140_0 = input.LA(1);
-
-            if ( (LA140_0==85) ) {
-                alt140=1;
-            }
-            switch (alt140) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6020:6: otherlv_4= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleLoopAction12761); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6024:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6025:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6025:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6026:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getLoopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction12784);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_6=(Token)match(input,100,FollowSets000.FOLLOW_100_in_ruleLoopAction12798); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6043:1: ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6044:1: (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6044:1: (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6045:3: lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior
-            {
-             
-            	        newCompositeNode(grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleLoopAction12819);
-            lv_loopBodyBehavior_7_0=ruleComponentInternalBehavior();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getLoopActionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"loopBodyBehavior",
-                    		lv_loopBodyBehavior_7_0, 
-                    		"ComponentInternalBehavior");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleLoopAction12831); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6065:1: ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6066:1: (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6066:1: (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6067:3: lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution
-            {
-             
-            	        newCompositeNode(grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleLoopIterationCountDistribution_in_ruleLoopAction12852);
-            lv_loopIterationCountDistribution_9_0=ruleLoopIterationCountDistribution();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getLoopActionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"loopIterationCountDistribution",
-                    		lv_loopIterationCountDistribution_9_0, 
-                    		"LoopIterationCountDistribution");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleLoopAction12864); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleLoopAction"
-
-
-    // $ANTLR start "entryRuleExternalCallAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6095:1: entryRuleExternalCallAction returns [EObject current=null] : iv_ruleExternalCallAction= ruleExternalCallAction EOF ;
-    public final EObject entryRuleExternalCallAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCallAction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6096:2: (iv_ruleExternalCallAction= ruleExternalCallAction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6097:2: iv_ruleExternalCallAction= ruleExternalCallAction EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCallActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_entryRuleExternalCallAction12900);
-            iv_ruleExternalCallAction=ruleExternalCallAction();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCallAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallAction12910); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCallAction"
-
-
-    // $ANTLR start "ruleExternalCallAction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6104:1: ruleExternalCallAction returns [EObject current=null] : (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) ;
-    public final EObject ruleExternalCallAction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6107:28: ( (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:1: (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:1: (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:3: otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}'
-            {
-            otherlv_0=(Token)match(input,102,FollowSets000.FOLLOW_102_in_ruleExternalCallAction12947); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallAction12959); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6116:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )?
-            int alt141=2;
-            int LA141_0 = input.LA(1);
-
-            if ( (LA141_0==84) ) {
-                alt141=1;
-            }
-            switch (alt141) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6116:3: otherlv_2= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleExternalCallAction12972); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6120:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6121:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6121:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6122:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction12995);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6135:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )?
-            int alt142=2;
-            int LA142_0 = input.LA(1);
-
-            if ( (LA142_0==85) ) {
-                alt142=1;
-            }
-            switch (alt142) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6135:6: otherlv_4= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleExternalCallAction13010); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6139:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6140:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6140:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6141:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getExternalCallActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13033);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_6=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallAction13047); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6158:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6159:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6159:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6160:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallActionRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13070);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleExternalCallAction13082); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6177:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6178:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6178:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6179:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCallActionRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13105);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallAction13117); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCallAction"
-
-
-    // $ANTLR start "entryRulePassiveResourceSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6204:1: entryRulePassiveResourceSpecification returns [EObject current=null] : iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF ;
-    public final EObject entryRulePassiveResourceSpecification() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePassiveResourceSpecification = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6205:2: (iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6206:2: iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF
-            {
-             newCompositeNode(grammarAccess.getPassiveResourceSpecificationRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_entryRulePassiveResourceSpecification13153);
-            iv_rulePassiveResourceSpecification=rulePassiveResourceSpecification();
-
-            state._fsp--;
-
-             current =iv_rulePassiveResourceSpecification; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePassiveResourceSpecification13163); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePassiveResourceSpecification"
-
-
-    // $ANTLR start "rulePassiveResourceSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6213:1: rulePassiveResourceSpecification returns [EObject current=null] : (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) ;
-    public final EObject rulePassiveResourceSpecification() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_capacity_8_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6216:28: ( (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:1: (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:1: (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:3: otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}'
-            {
-            otherlv_0=(Token)match(input,104,FollowSets000.FOLLOW_104_in_rulePassiveResourceSpecification13200); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6221:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6222:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6222:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6223:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13221);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePassiveResourceSpecification13233); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_rulePassiveResourceSpecification13245); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6247:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6248:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6248:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6249:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13266);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,105,FollowSets000.FOLLOW_105_in_rulePassiveResourceSpecification13278); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6269:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6270:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6270:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6271:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getPassiveResourceSpecificationRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13301);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePassiveResourceSpecification13313); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6288:1: ( (lv_capacity_8_0= rulePassiveResourceCapacity ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6289:1: (lv_capacity_8_0= rulePassiveResourceCapacity )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6289:1: (lv_capacity_8_0= rulePassiveResourceCapacity )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6290:3: lv_capacity_8_0= rulePassiveResourceCapacity
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_rulePassiveResourceCapacity_in_rulePassiveResourceSpecification13334);
-            lv_capacity_8_0=rulePassiveResourceCapacity();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"capacity",
-                    		lv_capacity_8_0, 
-                    		"PassiveResourceCapacity");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePassiveResourceSpecification13346); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePassiveResourceSpecification"
-
-
-    // $ANTLR start "entryRulePassiveResourceCapacity"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6318:1: entryRulePassiveResourceCapacity returns [EObject current=null] : iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF ;
-    public final EObject entryRulePassiveResourceCapacity() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePassiveResourceCapacity = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6319:2: (iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6320:2: iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF
-            {
-             newCompositeNode(grammarAccess.getPassiveResourceCapacityRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePassiveResourceCapacity_in_entryRulePassiveResourceCapacity13382);
-            iv_rulePassiveResourceCapacity=rulePassiveResourceCapacity();
-
-            state._fsp--;
-
-             current =iv_rulePassiveResourceCapacity; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePassiveResourceCapacity13392); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePassiveResourceCapacity"
-
-
-    // $ANTLR start "rulePassiveResourceCapacity"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6327:1: rulePassiveResourceCapacity returns [EObject current=null] : (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) ;
-    public final EObject rulePassiveResourceCapacity() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        AntlrDatatypeRuleToken lv_capacity_6_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6330:28: ( (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:1: (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:1: (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:3: otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,107,FollowSets000.FOLLOW_107_in_rulePassiveResourceCapacity13429); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6335:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6336:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6336:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6337:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceCapacity13450);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePassiveResourceCapacity13462); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_rulePassiveResourceCapacity13474); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6361:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6362:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6362:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6363:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceCapacity13495);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePassiveResourceCapacity13507); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6383:1: ( (lv_capacity_6_0= ruleEBigInteger ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6384:1: (lv_capacity_6_0= ruleEBigInteger )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6384:1: (lv_capacity_6_0= ruleEBigInteger )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6385:3: lv_capacity_6_0= ruleEBigInteger
-            {
-             
-            	        newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_rulePassiveResourceCapacity13528);
-            lv_capacity_6_0=ruleEBigInteger();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"capacity",
-                    		lv_capacity_6_0, 
-                    		"EBigInteger");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePassiveResourceCapacity13540); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePassiveResourceCapacity"
-
-
-    // $ANTLR start "entryRuleEBigInteger"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6415:1: entryRuleEBigInteger returns [String current=null] : iv_ruleEBigInteger= ruleEBigInteger EOF ;
-    public final String entryRuleEBigInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEBigInteger = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6416:2: (iv_ruleEBigInteger= ruleEBigInteger EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6417:2: iv_ruleEBigInteger= ruleEBigInteger EOF
-            {
-             newCompositeNode(grammarAccess.getEBigIntegerRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger13579);
-            iv_ruleEBigInteger=ruleEBigInteger();
-
-            state._fsp--;
-
-             current =iv_ruleEBigInteger.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigInteger13590); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEBigInteger"
-
-
-    // $ANTLR start "ruleEBigInteger"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6424:1: ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleEBigInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6427:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:2: (kw= '-' )? this_INT_1= RULE_INT
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:2: (kw= '-' )?
-            int alt143=2;
-            int LA143_0 = input.LA(1);
-
-            if ( (LA143_0==108) ) {
-                alt143=1;
-            }
-            switch (alt143) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6429:2: kw= '-'
-                    {
-                    kw=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleEBigInteger13629); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigInteger13646); 
-
-            		current.merge(this_INT_1);
-                
-             
-                newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEBigInteger"
-
-
-    // $ANTLR start "entryRuleResourceDemandSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6449:1: entryRuleResourceDemandSpecification returns [EObject current=null] : iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF ;
-    public final EObject entryRuleResourceDemandSpecification() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleResourceDemandSpecification = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6450:2: (iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6451:2: iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF
-            {
-             newCompositeNode(grammarAccess.getResourceDemandSpecificationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_entryRuleResourceDemandSpecification13691);
-            iv_ruleResourceDemandSpecification=ruleResourceDemandSpecification();
-
-            state._fsp--;
-
-             current =iv_ruleResourceDemandSpecification; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleResourceDemandSpecification13701); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleResourceDemandSpecification"
-
-
-    // $ANTLR start "ruleResourceDemandSpecification"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6458:1: ruleResourceDemandSpecification returns [EObject current=null] : (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleResourceDemandSpecification() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6461:28: ( (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:1: (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:1: (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:3: otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleResourceDemandSpecification13738); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleResourceDemandSpecification13750); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleResourceDemandSpecification13762); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6474:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6475:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6475:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6476:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getResourceDemandSpecificationRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleResourceDemandSpecification13785);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleResourceDemandSpecification13797); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleResourceDemandSpecification"
-
-
-    // $ANTLR start "entryRuleProcessingResourceType_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6501:1: entryRuleProcessingResourceType_Impl returns [EObject current=null] : iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF ;
-    public final EObject entryRuleProcessingResourceType_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProcessingResourceType_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6502:2: (iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6503:2: iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getProcessingResourceType_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProcessingResourceType_Impl_in_entryRuleProcessingResourceType_Impl13833);
-            iv_ruleProcessingResourceType_Impl=ruleProcessingResourceType_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleProcessingResourceType_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProcessingResourceType_Impl13843); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProcessingResourceType_Impl"
-
-
-    // $ANTLR start "ruleProcessingResourceType_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6510:1: ruleProcessingResourceType_Impl returns [EObject current=null] : (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ;
-    public final EObject ruleProcessingResourceType_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6513:28: ( (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:1: (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:1: (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:3: otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}'
-            {
-            otherlv_0=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleProcessingResourceType_Impl13880); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6518:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6519:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6519:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6520:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13901);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProcessingResourceType_Impl13913); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProcessingResourceType_Impl13925); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6544:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6545:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6545:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6546:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13946);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProcessingResourceType_Impl13958); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProcessingResourceType_Impl"
-
-
-    // $ANTLR start "entryRuleCommunicationLinkResourceType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6574:1: entryRuleCommunicationLinkResourceType returns [EObject current=null] : iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF ;
-    public final EObject entryRuleCommunicationLinkResourceType() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCommunicationLinkResourceType = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6575:2: (iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6576:2: iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF
-            {
-             newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCommunicationLinkResourceType_in_entryRuleCommunicationLinkResourceType13994);
-            iv_ruleCommunicationLinkResourceType=ruleCommunicationLinkResourceType();
-
-            state._fsp--;
-
-             current =iv_ruleCommunicationLinkResourceType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCommunicationLinkResourceType14004); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCommunicationLinkResourceType"
-
-
-    // $ANTLR start "ruleCommunicationLinkResourceType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6583:1: ruleCommunicationLinkResourceType returns [EObject current=null] : (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ;
-    public final EObject ruleCommunicationLinkResourceType() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6586:28: ( (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:1: (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:1: (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:3: otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}'
-            {
-            otherlv_0=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleCommunicationLinkResourceType14041); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6591:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6592:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6592:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6593:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14062);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCommunicationLinkResourceType14074); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCommunicationLinkResourceType14086); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6617:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6618:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6618:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6619:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14107);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCommunicationLinkResourceType14119); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCommunicationLinkResourceType"
-
-
-    // $ANTLR start "entryRuleBranchTransition"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6649:1: entryRuleBranchTransition returns [EObject current=null] : iv_ruleBranchTransition= ruleBranchTransition EOF ;
-    public final EObject entryRuleBranchTransition() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBranchTransition = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6650:2: (iv_ruleBranchTransition= ruleBranchTransition EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6651:2: iv_ruleBranchTransition= ruleBranchTransition EOF
-            {
-             newCompositeNode(grammarAccess.getBranchTransitionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_entryRuleBranchTransition14157);
-            iv_ruleBranchTransition=ruleBranchTransition();
-
-            state._fsp--;
-
-             current =iv_ruleBranchTransition; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchTransition14167); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBranchTransition"
-
-
-    // $ANTLR start "ruleBranchTransition"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6658:1: ruleBranchTransition returns [EObject current=null] : (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) ;
-    public final EObject ruleBranchTransition() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-        EObject lv_branchBehavior_6_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6661:28: ( (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:1: (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:1: (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:3: otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleBranchTransition14204); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6666:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6667:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6667:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6668:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchTransition14225);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchTransition14237); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBranchTransition14249); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getBranchTransitionAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6692:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6693:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6693:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6694:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchTransition14270);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleBranchTransition14282); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6714:1: ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6715:1: (lv_branchBehavior_6_0= ruleComponentInternalBehavior )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6715:1: (lv_branchBehavior_6_0= ruleComponentInternalBehavior )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6716:3: lv_branchBehavior_6_0= ruleComponentInternalBehavior
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleBranchTransition14303);
-            lv_branchBehavior_6_0=ruleComponentInternalBehavior();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBranchTransitionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"branchBehavior",
-                    		lv_branchBehavior_6_0, 
-                    		"ComponentInternalBehavior");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchTransition14315); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBranchTransition"
-
-
-    // $ANTLR start "entryRuleBranchProbabilities"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6744:1: entryRuleBranchProbabilities returns [EObject current=null] : iv_ruleBranchProbabilities= ruleBranchProbabilities EOF ;
-    public final EObject entryRuleBranchProbabilities() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBranchProbabilities = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6745:2: (iv_ruleBranchProbabilities= ruleBranchProbabilities EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6746:2: iv_ruleBranchProbabilities= ruleBranchProbabilities EOF
-            {
-             newCompositeNode(grammarAccess.getBranchProbabilitiesRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBranchProbabilities_in_entryRuleBranchProbabilities14351);
-            iv_ruleBranchProbabilities=ruleBranchProbabilities();
-
-            state._fsp--;
-
-             current =iv_ruleBranchProbabilities; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchProbabilities14361); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBranchProbabilities"
-
-
-    // $ANTLR start "ruleBranchProbabilities"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6753:1: ruleBranchProbabilities returns [EObject current=null] : (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleBranchProbabilities() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6756:28: ( (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:1: (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:1: (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:3: otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleBranchProbabilities14398); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchProbabilities14410); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleBranchProbabilities14422); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6769:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6770:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6770:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6771:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getBranchProbabilitiesRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchProbabilities14445);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchProbabilities14457); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBranchProbabilities"
-
-
-    // $ANTLR start "entryRuleProbabilityMassFunction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6798:1: entryRuleProbabilityMassFunction returns [EObject current=null] : iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF ;
-    public final EObject entryRuleProbabilityMassFunction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProbabilityMassFunction = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6799:2: (iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6800:2: iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF
-            {
-             newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction14495);
-            iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction();
-
-            state._fsp--;
-
-             current =iv_ruleProbabilityMassFunction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityMassFunction14505); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProbabilityMassFunction"
-
-
-    // $ANTLR start "ruleProbabilityMassFunction"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6807:1: ruleProbabilityMassFunction returns [EObject current=null] : ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
-    public final EObject ruleProbabilityMassFunction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        EObject lv_sample_5_0 = null;
-
-        EObject lv_sample_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6810:28: ( ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:2: () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6812:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleProbabilityMassFunction14551); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction14563); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6825:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )?
-            int alt145=2;
-            int LA145_0 = input.LA(1);
-
-            if ( (LA145_0==118) ) {
-                alt145=1;
-            }
-            switch (alt145) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6825:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}'
-                    {
-                    otherlv_3=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleProbabilityMassFunction14576); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction14588); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6833:1: ( (lv_sample_5_0= ruleSample ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6834:1: (lv_sample_5_0= ruleSample )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6834:1: (lv_sample_5_0= ruleSample )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6835:3: lv_sample_5_0= ruleSample
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction14609);
-                    lv_sample_5_0=ruleSample();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"sample",
-                            		lv_sample_5_0, 
-                            		"Sample");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6851:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )*
-                    loop144:
-                    do {
-                        int alt144=2;
-                        int LA144_0 = input.LA(1);
-
-                        if ( (LA144_0==15) ) {
-                            alt144=1;
-                        }
-
-
-                        switch (alt144) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6851:4: otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProbabilityMassFunction14622); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6855:1: ( (lv_sample_7_0= ruleSample ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6856:1: (lv_sample_7_0= ruleSample )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6856:1: (lv_sample_7_0= ruleSample )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6857:3: lv_sample_7_0= ruleSample
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction14643);
-                    	    lv_sample_7_0=ruleSample();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"sample",
-                    	            		lv_sample_7_0, 
-                    	            		"Sample");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop144;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProbabilityMassFunction14657); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProbabilityMassFunction14671); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProbabilityMassFunction"
-
-
-    // $ANTLR start "entryRuleProbabilityDensityFunction_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6889:1: entryRuleProbabilityDensityFunction_Impl returns [EObject current=null] : iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF ;
-    public final EObject entryRuleProbabilityDensityFunction_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProbabilityDensityFunction_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6890:2: (iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6891:2: iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getProbabilityDensityFunction_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProbabilityDensityFunction_Impl_in_entryRuleProbabilityDensityFunction_Impl14707);
-            iv_ruleProbabilityDensityFunction_Impl=ruleProbabilityDensityFunction_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleProbabilityDensityFunction_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityDensityFunction_Impl14717); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProbabilityDensityFunction_Impl"
-
-
-    // $ANTLR start "ruleProbabilityDensityFunction_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6898:1: ruleProbabilityDensityFunction_Impl returns [EObject current=null] : ( () otherlv_1= 'ProbabilityDensityFunction' ) ;
-    public final EObject ruleProbabilityDensityFunction_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6901:28: ( ( () otherlv_1= 'ProbabilityDensityFunction' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:1: ( () otherlv_1= 'ProbabilityDensityFunction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:1: ( () otherlv_1= 'ProbabilityDensityFunction' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:2: () otherlv_1= 'ProbabilityDensityFunction'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6903:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleProbabilityDensityFunction_Impl14763); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProbabilityDensityFunction_Impl"
-
-
-    // $ANTLR start "entryRuleBoxedPDF"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6920:1: entryRuleBoxedPDF returns [EObject current=null] : iv_ruleBoxedPDF= ruleBoxedPDF EOF ;
-    public final EObject entryRuleBoxedPDF() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBoxedPDF = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6921:2: (iv_ruleBoxedPDF= ruleBoxedPDF EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6922:2: iv_ruleBoxedPDF= ruleBoxedPDF EOF
-            {
-             newCompositeNode(grammarAccess.getBoxedPDFRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF14799);
-            iv_ruleBoxedPDF=ruleBoxedPDF();
-
-            state._fsp--;
-
-             current =iv_ruleBoxedPDF; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoxedPDF14809); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBoxedPDF"
-
-
-    // $ANTLR start "ruleBoxedPDF"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6929:1: ruleBoxedPDF returns [EObject current=null] : ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
-    public final EObject ruleBoxedPDF() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        EObject lv_sample_5_0 = null;
-
-        EObject lv_sample_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6932:28: ( ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:2: () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6934:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleBoxedPDF14855); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF14867); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6947:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )?
-            int alt147=2;
-            int LA147_0 = input.LA(1);
-
-            if ( (LA147_0==118) ) {
-                alt147=1;
-            }
-            switch (alt147) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6947:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}'
-                    {
-                    otherlv_3=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleBoxedPDF14880); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF14892); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6955:1: ( (lv_sample_5_0= ruleContinuousSample ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6956:1: (lv_sample_5_0= ruleContinuousSample )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6956:1: (lv_sample_5_0= ruleContinuousSample )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6957:3: lv_sample_5_0= ruleContinuousSample
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14913);
-                    lv_sample_5_0=ruleContinuousSample();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"sample",
-                            		lv_sample_5_0, 
-                            		"ContinuousSample");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6973:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )*
-                    loop146:
-                    do {
-                        int alt146=2;
-                        int LA146_0 = input.LA(1);
-
-                        if ( (LA146_0==15) ) {
-                            alt146=1;
-                        }
-
-
-                        switch (alt146) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6973:4: otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBoxedPDF14926); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6977:1: ( (lv_sample_7_0= ruleContinuousSample ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6978:1: (lv_sample_7_0= ruleContinuousSample )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6978:1: (lv_sample_7_0= ruleContinuousSample )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6979:3: lv_sample_7_0= ruleContinuousSample
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14947);
-                    	    lv_sample_7_0=ruleContinuousSample();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"sample",
-                    	            		lv_sample_7_0, 
-                    	            		"ContinuousSample");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop146;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBoxedPDF14961); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBoxedPDF14975); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBoxedPDF"
-
-
-    // $ANTLR start "entryRuleContinuousPDF_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7011:1: entryRuleContinuousPDF_Impl returns [EObject current=null] : iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF ;
-    public final EObject entryRuleContinuousPDF_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleContinuousPDF_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7012:2: (iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7013:2: iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getContinuousPDF_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousPDF_Impl_in_entryRuleContinuousPDF_Impl15011);
-            iv_ruleContinuousPDF_Impl=ruleContinuousPDF_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleContinuousPDF_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousPDF_Impl15021); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleContinuousPDF_Impl"
-
-
-    // $ANTLR start "ruleContinuousPDF_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7020:1: ruleContinuousPDF_Impl returns [EObject current=null] : ( () otherlv_1= 'ContinuousPDF' ) ;
-    public final EObject ruleContinuousPDF_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7023:28: ( ( () otherlv_1= 'ContinuousPDF' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:1: ( () otherlv_1= 'ContinuousPDF' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:1: ( () otherlv_1= 'ContinuousPDF' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:2: () otherlv_1= 'ContinuousPDF'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7025:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleContinuousPDF_Impl15067); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleContinuousPDF_Impl"
-
-
-    // $ANTLR start "entryRuleNormalDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7042:1: entryRuleNormalDistribution returns [EObject current=null] : iv_ruleNormalDistribution= ruleNormalDistribution EOF ;
-    public final EObject entryRuleNormalDistribution() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleNormalDistribution = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7043:2: (iv_ruleNormalDistribution= ruleNormalDistribution EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7044:2: iv_ruleNormalDistribution= ruleNormalDistribution EOF
-            {
-             newCompositeNode(grammarAccess.getNormalDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution15103);
-            iv_ruleNormalDistribution=ruleNormalDistribution();
-
-            state._fsp--;
-
-             current =iv_ruleNormalDistribution; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNormalDistribution15113); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNormalDistribution"
-
-
-    // $ANTLR start "ruleNormalDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7051:1: ruleNormalDistribution returns [EObject current=null] : (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ;
-    public final EObject ruleNormalDistribution() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_mu_3_0 = null;
-
-        AntlrDatatypeRuleToken lv_sigma_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7054:28: ( (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:3: otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleNormalDistribution15150); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleNormalDistribution15162); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleNormalDistribution15174); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7067:1: ( (lv_mu_3_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7068:1: (lv_mu_3_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7068:1: (lv_mu_3_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7069:3: lv_mu_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15195);
-            lv_mu_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"mu",
-                    		lv_mu_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNormalDistribution15207); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7089:1: ( (lv_sigma_5_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7090:1: (lv_sigma_5_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7090:1: (lv_sigma_5_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7091:3: lv_sigma_5_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15228);
-            lv_sigma_5_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"sigma",
-                    		lv_sigma_5_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleNormalDistribution15240); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNormalDistribution"
-
-
-    // $ANTLR start "entryRuleExponentialDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7119:1: entryRuleExponentialDistribution returns [EObject current=null] : iv_ruleExponentialDistribution= ruleExponentialDistribution EOF ;
-    public final EObject entryRuleExponentialDistribution() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExponentialDistribution = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7120:2: (iv_ruleExponentialDistribution= ruleExponentialDistribution EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7121:2: iv_ruleExponentialDistribution= ruleExponentialDistribution EOF
-            {
-             newCompositeNode(grammarAccess.getExponentialDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution15276);
-            iv_ruleExponentialDistribution=ruleExponentialDistribution();
-
-            state._fsp--;
-
-             current =iv_ruleExponentialDistribution; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExponentialDistribution15286); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExponentialDistribution"
-
-
-    // $ANTLR start "ruleExponentialDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7128:1: ruleExponentialDistribution returns [EObject current=null] : (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) ;
-    public final EObject ruleExponentialDistribution() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        AntlrDatatypeRuleToken lv_rate_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7131:28: ( (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:3: otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleExponentialDistribution15323); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExponentialDistribution15335); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,126,FollowSets000.FOLLOW_126_in_ruleExponentialDistribution15347); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7144:1: ( (lv_rate_3_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7145:1: (lv_rate_3_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7145:1: (lv_rate_3_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7146:3: lv_rate_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution15368);
-            lv_rate_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExponentialDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"rate",
-                    		lv_rate_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExponentialDistribution15380); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExponentialDistribution"
-
-
-    // $ANTLR start "entryRuleSample"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7174:1: entryRuleSample returns [EObject current=null] : iv_ruleSample= ruleSample EOF ;
-    public final EObject entryRuleSample() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleSample = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7175:2: (iv_ruleSample= ruleSample EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7176:2: iv_ruleSample= ruleSample EOF
-            {
-             newCompositeNode(grammarAccess.getSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSample_in_entryRuleSample15416);
-            iv_ruleSample=ruleSample();
-
-            state._fsp--;
-
-             current =iv_ruleSample; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSample15426); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSample"
-
-
-    // $ANTLR start "ruleSample"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7183:1: ruleSample returns [EObject current=null] : (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) ;
-    public final EObject ruleSample() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_probability_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7186:28: ( (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:3: otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleSample15463); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSample15475); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleSample15487); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7199:1: ( (lv_probability_3_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7200:1: (lv_probability_3_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7200:1: (lv_probability_3_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7201:3: lv_probability_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleSample15508);
-            lv_probability_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"probability",
-                    		lv_probability_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleSample15520); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7221:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7222:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7222:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7223:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getSampleRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSample15543);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSample15555); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSample"
-
-
-    // $ANTLR start "entryRuleEBigDecimal"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7250:1: entryRuleEBigDecimal returns [String current=null] : iv_ruleEBigDecimal= ruleEBigDecimal EOF ;
-    public final String entryRuleEBigDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEBigDecimal = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7251:2: (iv_ruleEBigDecimal= ruleEBigDecimal EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7252:2: iv_ruleEBigDecimal= ruleEBigDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getEBigDecimalRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal15594);
-            iv_ruleEBigDecimal=ruleEBigDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleEBigDecimal.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigDecimal15605); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEBigDecimal"
-
-
-    // $ANTLR start "ruleEBigDecimal"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7259:1: ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleEBigDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_INT_0=null;
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7262:28: ( ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:2: (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:2: (this_INT_0= RULE_INT )?
-            int alt148=2;
-            int LA148_0 = input.LA(1);
-
-            if ( (LA148_0==RULE_INT) ) {
-                alt148=1;
-            }
-            switch (alt148) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:7: this_INT_0= RULE_INT
-                    {
-                    this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal15646); 
-
-                    		current.merge(this_INT_0);
-                        
-                     
-                        newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,130,FollowSets000.FOLLOW_130_in_ruleEBigDecimal15666); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal15681); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEBigDecimal"
-
-
-    // $ANTLR start "entryRuleContinuousSample"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7291:1: entryRuleContinuousSample returns [EObject current=null] : iv_ruleContinuousSample= ruleContinuousSample EOF ;
-    public final EObject entryRuleContinuousSample() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleContinuousSample = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7292:2: (iv_ruleContinuousSample= ruleContinuousSample EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7293:2: iv_ruleContinuousSample= ruleContinuousSample EOF
-            {
-             newCompositeNode(grammarAccess.getContinuousSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample15726);
-            iv_ruleContinuousSample=ruleContinuousSample();
-
-            state._fsp--;
-
-             current =iv_ruleContinuousSample; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousSample15736); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleContinuousSample"
-
-
-    // $ANTLR start "ruleContinuousSample"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7300:1: ruleContinuousSample returns [EObject current=null] : (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ;
-    public final EObject ruleContinuousSample() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_value_3_0 = null;
-
-        AntlrDatatypeRuleToken lv_probability_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7303:28: ( (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:3: otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,131,FollowSets000.FOLLOW_131_in_ruleContinuousSample15773); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleContinuousSample15785); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleContinuousSample15797); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7316:1: ( (lv_value_3_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7317:1: (lv_value_3_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7317:1: (lv_value_3_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7318:3: lv_value_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15818);
-            lv_value_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleContinuousSample15830); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7338:1: ( (lv_probability_5_0= ruleEBigDecimal ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7339:1: (lv_probability_5_0= ruleEBigDecimal )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7339:1: (lv_probability_5_0= ruleEBigDecimal )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7340:3: lv_probability_5_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15851);
-            lv_probability_5_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"probability",
-                    		lv_probability_5_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleContinuousSample15863); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleContinuousSample"
-
-
-    // $ANTLR start "entryRuleLoopIterationCountDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7368:1: entryRuleLoopIterationCountDistribution returns [EObject current=null] : iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF ;
-    public final EObject entryRuleLoopIterationCountDistribution() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleLoopIterationCountDistribution = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7369:2: (iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7370:2: iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF
-            {
-             newCompositeNode(grammarAccess.getLoopIterationCountDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLoopIterationCountDistribution_in_entryRuleLoopIterationCountDistribution15899);
-            iv_ruleLoopIterationCountDistribution=ruleLoopIterationCountDistribution();
-
-            state._fsp--;
-
-             current =iv_ruleLoopIterationCountDistribution; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopIterationCountDistribution15909); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleLoopIterationCountDistribution"
-
-
-    // $ANTLR start "ruleLoopIterationCountDistribution"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7377:1: ruleLoopIterationCountDistribution returns [EObject current=null] : (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleLoopIterationCountDistribution() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7380:28: ( (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:1: (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:1: (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:3: otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,132,FollowSets000.FOLLOW_132_in_ruleLoopIterationCountDistribution15946); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopIterationCountDistribution15958); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleLoopIterationCountDistribution15970); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7393:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7394:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7394:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7395:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getLoopIterationCountDistributionRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopIterationCountDistribution15993);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleLoopIterationCountDistribution16005); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleLoopIterationCountDistribution"
-
-
-    // $ANTLR start "entryRuleAssemblyContext"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7420:1: entryRuleAssemblyContext returns [EObject current=null] : iv_ruleAssemblyContext= ruleAssemblyContext EOF ;
-    public final EObject entryRuleAssemblyContext() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAssemblyContext = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7421:2: (iv_ruleAssemblyContext= ruleAssemblyContext EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7422:2: iv_ruleAssemblyContext= ruleAssemblyContext EOF
-            {
-             newCompositeNode(grammarAccess.getAssemblyContextRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext16041);
-            iv_ruleAssemblyContext=ruleAssemblyContext();
-
-            state._fsp--;
-
-             current =iv_ruleAssemblyContext; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext16051); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAssemblyContext"
-
-
-    // $ANTLR start "ruleAssemblyContext"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7429:1: ruleAssemblyContext returns [EObject current=null] : (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) ;
-    public final EObject ruleAssemblyContext() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7432:28: ( (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:1: (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:1: (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:3: otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}'
-            {
-            otherlv_0=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleAssemblyContext16088); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7437:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7438:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7438:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7439:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16109);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getAssemblyContextRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyContext16121); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyContext16133); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getAssemblyContextAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7463:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7464:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7464:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7465:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16154);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getAssemblyContextRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,134,FollowSets000.FOLLOW_134_in_ruleAssemblyContext16166); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7485:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7486:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7486:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7487:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAssemblyContextRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16189);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAssemblyContext16201); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAssemblyContext"
-
-
-    // $ANTLR start "entryRuleAssemblyConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7512:1: entryRuleAssemblyConnector returns [EObject current=null] : iv_ruleAssemblyConnector= ruleAssemblyConnector EOF ;
-    public final EObject entryRuleAssemblyConnector() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAssemblyConnector = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7513:2: (iv_ruleAssemblyConnector= ruleAssemblyConnector EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7514:2: iv_ruleAssemblyConnector= ruleAssemblyConnector EOF
-            {
-             newCompositeNode(grammarAccess.getAssemblyConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector16237);
-            iv_ruleAssemblyConnector=ruleAssemblyConnector();
-
-            state._fsp--;
-
-             current =iv_ruleAssemblyConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector16247); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAssemblyConnector"
-
-
-    // $ANTLR start "ruleAssemblyConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7521:1: ruleAssemblyConnector returns [EObject current=null] : (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) ;
-    public final EObject ruleAssemblyConnector() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_13=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7524:28: ( (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:1: (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:1: (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:3: otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}'
-            {
-            otherlv_0=(Token)match(input,135,FollowSets000.FOLLOW_135_in_ruleAssemblyConnector16284); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7529:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7530:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7530:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7531:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16305);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyConnector16317); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyConnector16329); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7555:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7556:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7556:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7557:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16350);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleAssemblyConnector16362); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7577:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7578:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7578:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7579:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16385);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleAssemblyConnector16397); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7596:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7597:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7597:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7598:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16420);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,136,FollowSets000.FOLLOW_136_in_ruleAssemblyConnector16432); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7615:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7616:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7616:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7617:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16455);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_11=(Token)match(input,137,FollowSets000.FOLLOW_137_in_ruleAssemblyConnector16467); 
-
-                	newLeafNode(otherlv_11, grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7634:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7635:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7635:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7636:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAssemblyConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16490);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAssemblyConnector16502); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAssemblyConnector"
-
-
-    // $ANTLR start "entryRuleProvidedDelegationConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7661:1: entryRuleProvidedDelegationConnector returns [EObject current=null] : iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF ;
-    public final EObject entryRuleProvidedDelegationConnector() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProvidedDelegationConnector = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7662:2: (iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7663:2: iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF
-            {
-             newCompositeNode(grammarAccess.getProvidedDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector16538);
-            iv_ruleProvidedDelegationConnector=ruleProvidedDelegationConnector();
-
-            state._fsp--;
-
-             current =iv_ruleProvidedDelegationConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector16548); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProvidedDelegationConnector"
-
-
-    // $ANTLR start "ruleProvidedDelegationConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7670:1: ruleProvidedDelegationConnector returns [EObject current=null] : (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) ;
-    public final EObject ruleProvidedDelegationConnector() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7673:28: ( (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:3: otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}'
-            {
-            otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_138_in_ruleProvidedDelegationConnector16585); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7678:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7679:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7679:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7680:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16606);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedDelegationConnector16618); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProvidedDelegationConnector16630); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7704:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7705:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7705:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7706:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16651);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,139,FollowSets000.FOLLOW_139_in_ruleProvidedDelegationConnector16663); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7726:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7727:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7727:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7728:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16686);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,140,FollowSets000.FOLLOW_140_in_ruleProvidedDelegationConnector16698); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7745:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7746:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7746:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7747:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16721);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,141,FollowSets000.FOLLOW_141_in_ruleProvidedDelegationConnector16733); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7764:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7765:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7765:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7766:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16756);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProvidedDelegationConnector16768); 
-
-                	newLeafNode(otherlv_11, grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProvidedDelegationConnector"
-
-
-    // $ANTLR start "entryRuleRequiredDelegationConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7791:1: entryRuleRequiredDelegationConnector returns [EObject current=null] : iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF ;
-    public final EObject entryRuleRequiredDelegationConnector() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRequiredDelegationConnector = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7792:2: (iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7793:2: iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF
-            {
-             newCompositeNode(grammarAccess.getRequiredDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector16804);
-            iv_ruleRequiredDelegationConnector=ruleRequiredDelegationConnector();
-
-            state._fsp--;
-
-             current =iv_ruleRequiredDelegationConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector16814); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRequiredDelegationConnector"
-
-
-    // $ANTLR start "ruleRequiredDelegationConnector"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7800:1: ruleRequiredDelegationConnector returns [EObject current=null] : (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) ;
-    public final EObject ruleRequiredDelegationConnector() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7803:28: ( (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:3: otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}'
-            {
-            otherlv_0=(Token)match(input,142,FollowSets000.FOLLOW_142_in_ruleRequiredDelegationConnector16851); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7808:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7809:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7809:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7810:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16872);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredDelegationConnector16884); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRequiredDelegationConnector16896); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7834:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7835:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7835:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7836:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16917);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,139,FollowSets000.FOLLOW_139_in_ruleRequiredDelegationConnector16929); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7856:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7857:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7857:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7858:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16952);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,143,FollowSets000.FOLLOW_143_in_ruleRequiredDelegationConnector16964); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7875:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7876:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7876:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7877:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16987);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,144,FollowSets000.FOLLOW_144_in_ruleRequiredDelegationConnector16999); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7894:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7895:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7895:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7896:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector17022);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRequiredDelegationConnector17034); 
-
-                	newLeafNode(otherlv_11, grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRequiredDelegationConnector"
-
-
-    // $ANTLR start "entryRuleExternalCall_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7921:1: entryRuleExternalCall_Impl returns [EObject current=null] : iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF ;
-    public final EObject entryRuleExternalCall_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCall_Impl = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7922:2: (iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7923:2: iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCall_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCall_Impl_in_entryRuleExternalCall_Impl17070);
-            iv_ruleExternalCall_Impl=ruleExternalCall_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCall_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCall_Impl17080); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCall_Impl"
-
-
-    // $ANTLR start "ruleExternalCall_Impl"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7930:1: ruleExternalCall_Impl returns [EObject current=null] : (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) ;
-    public final EObject ruleExternalCall_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7933:28: ( (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:1: (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:1: (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:3: otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,145,FollowSets000.FOLLOW_145_in_ruleExternalCall_Impl17117); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCall_Impl17129); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCall_Impl17141); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7946:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7947:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7947:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7948:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCall_ImplRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCall_Impl17164);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleExternalCall_Impl17176); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7965:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7966:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7966:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7967:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getExternalCall_ImplRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCall_Impl17199);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCall_Impl17211); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCall_Impl"
-
-
-    // $ANTLR start "entryRuleExternalCallFrequency"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7992:1: entryRuleExternalCallFrequency returns [EObject current=null] : iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF ;
-    public final EObject entryRuleExternalCallFrequency() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExternalCallFrequency = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7993:2: (iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7994:2: iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF
-            {
-             newCompositeNode(grammarAccess.getExternalCallFrequencyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_entryRuleExternalCallFrequency17247);
-            iv_ruleExternalCallFrequency=ruleExternalCallFrequency();
-
-            state._fsp--;
-
-             current =iv_ruleExternalCallFrequency; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallFrequency17257); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExternalCallFrequency"
-
-
-    // $ANTLR start "ruleExternalCallFrequency"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8001:1: ruleExternalCallFrequency returns [EObject current=null] : (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) ;
-    public final EObject ruleExternalCallFrequency() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        EObject lv_externalCall_3_0 = null;
-
-        EObject lv_frequency_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8004:28: ( (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:1: (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:1: (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:3: otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,146,FollowSets000.FOLLOW_146_in_ruleExternalCallFrequency17294); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallFrequency17306); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleExternalCallFrequency17318); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8017:1: ( (lv_externalCall_3_0= ruleExternalCall ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8018:1: (lv_externalCall_3_0= ruleExternalCall )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8018:1: (lv_externalCall_3_0= ruleExternalCall )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8019:3: lv_externalCall_3_0= ruleExternalCall
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleExternalCall_in_ruleExternalCallFrequency17339);
-            lv_externalCall_3_0=ruleExternalCall();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"externalCall",
-                    		lv_externalCall_3_0, 
-                    		"ExternalCall");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,147,FollowSets000.FOLLOW_147_in_ruleExternalCallFrequency17351); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8039:1: ( (lv_frequency_5_0= ruleCallFrequency ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8040:1: (lv_frequency_5_0= ruleCallFrequency )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8040:1: (lv_frequency_5_0= ruleCallFrequency )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8041:3: lv_frequency_5_0= ruleCallFrequency
-            {
-             
-            	        newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleCallFrequency_in_ruleExternalCallFrequency17372);
-            lv_frequency_5_0=ruleCallFrequency();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"frequency",
-                    		lv_frequency_5_0, 
-                    		"CallFrequency");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallFrequency17384); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExternalCallFrequency"
-
-
-    // $ANTLR start "entryRuleCallFrequency"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8069:1: entryRuleCallFrequency returns [EObject current=null] : iv_ruleCallFrequency= ruleCallFrequency EOF ;
-    public final EObject entryRuleCallFrequency() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCallFrequency = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8070:2: (iv_ruleCallFrequency= ruleCallFrequency EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8071:2: iv_ruleCallFrequency= ruleCallFrequency EOF
-            {
-             newCompositeNode(grammarAccess.getCallFrequencyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCallFrequency_in_entryRuleCallFrequency17420);
-            iv_ruleCallFrequency=ruleCallFrequency();
-
-            state._fsp--;
-
-             current =iv_ruleCallFrequency; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCallFrequency17430); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCallFrequency"
-
-
-    // $ANTLR start "ruleCallFrequency"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8078:1: ruleCallFrequency returns [EObject current=null] : (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleCallFrequency() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8081:28: ( (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:1: (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:1: (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:3: otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,148,FollowSets000.FOLLOW_148_in_ruleCallFrequency17467); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCallFrequency17479); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,147,FollowSets000.FOLLOW_147_in_ruleCallFrequency17491); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8094:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8095:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8095:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8096:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCallFrequencyRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCallFrequency17514);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCallFrequency17526); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCallFrequency"
-
-
-    // $ANTLR start "entryRuleDependencyRelationship"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8121:1: entryRuleDependencyRelationship returns [EObject current=null] : iv_ruleDependencyRelationship= ruleDependencyRelationship EOF ;
-    public final EObject entryRuleDependencyRelationship() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDependencyRelationship = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8122:2: (iv_ruleDependencyRelationship= ruleDependencyRelationship EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8123:2: iv_ruleDependencyRelationship= ruleDependencyRelationship EOF
-            {
-             newCompositeNode(grammarAccess.getDependencyRelationshipRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDependencyRelationship_in_entryRuleDependencyRelationship17562);
-            iv_ruleDependencyRelationship=ruleDependencyRelationship();
-
-            state._fsp--;
-
-             current =iv_ruleDependencyRelationship; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDependencyRelationship17572); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDependencyRelationship"
-
-
-    // $ANTLR start "ruleDependencyRelationship"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8130:1: ruleDependencyRelationship returns [EObject current=null] : (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) ;
-    public final EObject ruleDependencyRelationship() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8133:28: ( (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:1: (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:1: (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:3: otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,149,FollowSets000.FOLLOW_149_in_ruleDependencyRelationship17609); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleDependencyRelationship17621); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,150,FollowSets000.FOLLOW_150_in_ruleDependencyRelationship17633); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8146:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8147:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8147:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8148:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17656);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,151,FollowSets000.FOLLOW_151_in_ruleDependencyRelationship17668); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8165:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8166:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8166:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8167:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17691);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleDependencyRelationship17703); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8184:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8185:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8185:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8186:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getDependencyRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17726);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleDependencyRelationship17738); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDependencyRelationship"
-
-
-    // $ANTLR start "entryRuleCorrelationRelationship"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8211:1: entryRuleCorrelationRelationship returns [EObject current=null] : iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF ;
-    public final EObject entryRuleCorrelationRelationship() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCorrelationRelationship = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8212:2: (iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8213:2: iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF
-            {
-             newCompositeNode(grammarAccess.getCorrelationRelationshipRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCorrelationRelationship_in_entryRuleCorrelationRelationship17774);
-            iv_ruleCorrelationRelationship=ruleCorrelationRelationship();
-
-            state._fsp--;
-
-             current =iv_ruleCorrelationRelationship; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCorrelationRelationship17784); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCorrelationRelationship"
-
-
-    // $ANTLR start "ruleCorrelationRelationship"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8220:1: ruleCorrelationRelationship returns [EObject current=null] : (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) ;
-    public final EObject ruleCorrelationRelationship() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token otherlv_12=null;
-        EObject lv_leftComponentInstanceReference_9_0 = null;
-
-        EObject lv_rightComponentInstanceReference_11_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8223:28: ( (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:1: (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:1: (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:3: otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}'
-            {
-            otherlv_0=(Token)match(input,152,FollowSets000.FOLLOW_152_in_ruleCorrelationRelationship17821); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCorrelationRelationship17833); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,150,FollowSets000.FOLLOW_150_in_ruleCorrelationRelationship17845); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8236:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8237:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8237:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8238:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17868);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,153,FollowSets000.FOLLOW_153_in_ruleCorrelationRelationship17880); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8255:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8256:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8256:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8257:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17903);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,154,FollowSets000.FOLLOW_154_in_ruleCorrelationRelationship17915); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8274:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8275:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8275:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8276:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getCorrelationRelationshipRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17938);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,155,FollowSets000.FOLLOW_155_in_ruleCorrelationRelationship17950); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8293:1: ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8294:1: (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8294:1: (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8295:3: lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference
-            {
-             
-            	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship17971);
-            lv_leftComponentInstanceReference_9_0=ruleComponentInstanceReference();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"leftComponentInstanceReference",
-                    		lv_leftComponentInstanceReference_9_0, 
-                    		"ComponentInstanceReference");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_10=(Token)match(input,156,FollowSets000.FOLLOW_156_in_ruleCorrelationRelationship17983); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8315:1: ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8316:1: (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8316:1: (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8317:3: lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference
-            {
-             
-            	        newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship18004);
-            lv_rightComponentInstanceReference_11_0=ruleComponentInstanceReference();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"rightComponentInstanceReference",
-                    		lv_rightComponentInstanceReference_11_0, 
-                    		"ComponentInstanceReference");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCorrelationRelationship18016); 
-
-                	newLeafNode(otherlv_12, grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCorrelationRelationship"
-
-
-    // $ANTLR start "entryRuleComponentInstanceReference"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8347:1: entryRuleComponentInstanceReference returns [EObject current=null] : iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF ;
-    public final EObject entryRuleComponentInstanceReference() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleComponentInstanceReference = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8348:2: (iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8349:2: iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF
-            {
-             newCompositeNode(grammarAccess.getComponentInstanceReferenceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_entryRuleComponentInstanceReference18054);
-            iv_ruleComponentInstanceReference=ruleComponentInstanceReference();
-
-            state._fsp--;
-
-             current =iv_ruleComponentInstanceReference; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInstanceReference18064); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleComponentInstanceReference"
-
-
-    // $ANTLR start "ruleComponentInstanceReference"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8356:1: ruleComponentInstanceReference returns [EObject current=null] : ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) ;
-    public final EObject ruleComponentInstanceReference() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8359:28: ( ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:1: ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:1: ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:2: () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}'
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:2: ()
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8361:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,157,FollowSets000.FOLLOW_157_in_ruleComponentInstanceReference18110); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInstanceReference18122); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8374:1: (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
-            int alt150=2;
-            int LA150_0 = input.LA(1);
-
-            if ( (LA150_0==158) ) {
-                alt150=1;
-            }
-            switch (alt150) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8374:3: otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
-                    {
-                    otherlv_3=(Token)match(input,158,FollowSets000.FOLLOW_158_in_ruleComponentInstanceReference18135); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleComponentInstanceReference18147); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8382:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8383:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8383:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8384:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getComponentInstanceReferenceRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleComponentInstanceReference18170);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8397:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
-                    loop149:
-                    do {
-                        int alt149=2;
-                        int LA149_0 = input.LA(1);
-
-                        if ( (LA149_0==15) ) {
-                            alt149=1;
-                        }
-
-
-                        switch (alt149) {
-                    	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8397:4: otherlv_6= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComponentInstanceReference18183); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8401:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8402:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8402:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8403:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getComponentInstanceReferenceRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleComponentInstanceReference18206);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop149;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleComponentInstanceReference18220); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInstanceReference18234); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleComponentInstanceReference"
-
-
-    // $ANTLR start "rulePrimitiveTypeEnum"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8432:1: rulePrimitiveTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) ;
-    public final Enumerator rulePrimitiveTypeEnum() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-        Token enumLiteral_3=null;
-        Token enumLiteral_4=null;
-        Token enumLiteral_5=null;
-        Token enumLiteral_6=null;
-
-         enterRule(); 
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8434:28: ( ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
-            int alt151=7;
-            switch ( input.LA(1) ) {
-            case 159:
-                {
-                alt151=1;
-                }
-                break;
-            case 160:
-                {
-                alt151=2;
-                }
-                break;
-            case 161:
-                {
-                alt151=3;
-                }
-                break;
-            case 162:
-                {
-                alt151=4;
-                }
-                break;
-            case 163:
-                {
-                alt151=5;
-                }
-                break;
-            case 164:
-                {
-                alt151=6;
-                }
-                break;
-            case 165:
-                {
-                alt151=7;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 151, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt151) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:2: (enumLiteral_0= 'INT' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:2: (enumLiteral_0= 'INT' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:4: enumLiteral_0= 'INT'
-                    {
-                    enumLiteral_0=(Token)match(input,159,FollowSets000.FOLLOW_159_in_rulePrimitiveTypeEnum18284); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:6: (enumLiteral_1= 'STRING' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:6: (enumLiteral_1= 'STRING' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:8: enumLiteral_1= 'STRING'
-                    {
-                    enumLiteral_1=(Token)match(input,160,FollowSets000.FOLLOW_160_in_rulePrimitiveTypeEnum18301); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:6: (enumLiteral_2= 'BOOL' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:6: (enumLiteral_2= 'BOOL' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:8: enumLiteral_2= 'BOOL'
-                    {
-                    enumLiteral_2=(Token)match(input,161,FollowSets000.FOLLOW_161_in_rulePrimitiveTypeEnum18318); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:6: (enumLiteral_3= 'DOUBLE' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:6: (enumLiteral_3= 'DOUBLE' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:8: enumLiteral_3= 'DOUBLE'
-                    {
-                    enumLiteral_3=(Token)match(input,162,FollowSets000.FOLLOW_162_in_rulePrimitiveTypeEnum18335); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:6: (enumLiteral_4= 'CHAR' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:6: (enumLiteral_4= 'CHAR' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:8: enumLiteral_4= 'CHAR'
-                    {
-                    enumLiteral_4=(Token)match(input,163,FollowSets000.FOLLOW_163_in_rulePrimitiveTypeEnum18352); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:6: (enumLiteral_5= 'BYTE' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:6: (enumLiteral_5= 'BYTE' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:8: enumLiteral_5= 'BYTE'
-                    {
-                    enumLiteral_5=(Token)match(input,164,FollowSets000.FOLLOW_164_in_rulePrimitiveTypeEnum18369); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:6: (enumLiteral_6= 'LONG' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:6: (enumLiteral_6= 'LONG' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:8: enumLiteral_6= 'LONG'
-                    {
-                    enumLiteral_6=(Token)match(input,165,FollowSets000.FOLLOW_165_in_rulePrimitiveTypeEnum18386); 
-
-                            current = grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePrimitiveTypeEnum"
-
-
-    // $ANTLR start "ruleParameterModifier"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8481:1: ruleParameterModifier returns [Enumerator current=null] : ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) ;
-    public final Enumerator ruleParameterModifier() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-        Token enumLiteral_3=null;
-
-         enterRule(); 
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8483:28: ( ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:1: ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:1: ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) )
-            int alt152=4;
-            switch ( input.LA(1) ) {
-            case 166:
-                {
-                alt152=1;
-                }
-                break;
-            case 167:
-                {
-                alt152=2;
-                }
-                break;
-            case 168:
-                {
-                alt152=3;
-                }
-                break;
-            case 169:
-                {
-                alt152=4;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 152, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt152) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:2: (enumLiteral_0= 'NONE' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:2: (enumLiteral_0= 'NONE' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:4: enumLiteral_0= 'NONE'
-                    {
-                    enumLiteral_0=(Token)match(input,166,FollowSets000.FOLLOW_166_in_ruleParameterModifier18431); 
-
-                            current = grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:6: (enumLiteral_1= 'IN' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:6: (enumLiteral_1= 'IN' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:8: enumLiteral_1= 'IN'
-                    {
-                    enumLiteral_1=(Token)match(input,167,FollowSets000.FOLLOW_167_in_ruleParameterModifier18448); 
-
-                            current = grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:6: (enumLiteral_2= 'OUT' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:6: (enumLiteral_2= 'OUT' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:8: enumLiteral_2= 'OUT'
-                    {
-                    enumLiteral_2=(Token)match(input,168,FollowSets000.FOLLOW_168_in_ruleParameterModifier18465); 
-
-                            current = grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:6: (enumLiteral_3= 'INOUT' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:6: (enumLiteral_3= 'INOUT' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:8: enumLiteral_3= 'INOUT'
-                    {
-                    enumLiteral_3=(Token)match(input,169,FollowSets000.FOLLOW_169_in_ruleParameterModifier18482); 
-
-                            current = grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_3, grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleParameterModifier"
-
-
-    // $ANTLR start "ruleCharacterizationType"
-    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8512:1: ruleCharacterizationType returns [Enumerator current=null] : ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) ;
-    public final Enumerator ruleCharacterizationType() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-
-         enterRule(); 
-        try {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8514:28: ( ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) )
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:1: ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:1: ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) )
-            int alt153=2;
-            int LA153_0 = input.LA(1);
-
-            if ( (LA153_0==170) ) {
-                alt153=1;
-            }
-            else if ( (LA153_0==171) ) {
-                alt153=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 153, 0, input);
-
-                throw nvae;
-            }
-            switch (alt153) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:2: (enumLiteral_0= 'VALUE' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:2: (enumLiteral_0= 'VALUE' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:4: enumLiteral_0= 'VALUE'
-                    {
-                    enumLiteral_0=(Token)match(input,170,FollowSets000.FOLLOW_170_in_ruleCharacterizationType18527); 
-
-                            current = grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:6: (enumLiteral_1= 'NUMBER_OF_ELEMENTS' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:6: (enumLiteral_1= 'NUMBER_OF_ELEMENTS' )
-                    // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:8: enumLiteral_1= 'NUMBER_OF_ELEMENTS'
-                    {
-                    enumLiteral_1=(Token)match(input,171,FollowSets000.FOLLOW_171_in_ruleCharacterizationType18544); 
-
-                            current = grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCharacterizationType"
-
-    // Delegated rules
-
-
- 
-
-    
-    private static class FollowSets000 {
-        public static final BitSet FOLLOW_ruleRepository_in_entryRuleRepository75 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepository85 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_11_in_ruleRepository122 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepository143 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepository155 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRepository167 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepository188 = new BitSet(new long[]{0x0000000000074000L});
-        public static final BitSet FOLLOW_14_in_ruleRepository201 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepository213 = new BitSet(new long[]{0x0000000940000000L});
-        public static final BitSet FOLLOW_ruleDataType_in_ruleRepository234 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepository247 = new BitSet(new long[]{0x0000000940000000L});
-        public static final BitSet FOLLOW_ruleDataType_in_ruleRepository268 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepository282 = new BitSet(new long[]{0x0000000000070000L});
-        public static final BitSet FOLLOW_17_in_ruleRepository297 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepository309 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_ruleInterface_in_ruleRepository330 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepository343 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_ruleInterface_in_ruleRepository364 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepository378 = new BitSet(new long[]{0x0000000000050000L});
-        public static final BitSet FOLLOW_18_in_ruleRepository393 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepository405 = new BitSet(new long[]{0x8480000001000000L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository426 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepository439 = new BitSet(new long[]{0x8480000001000000L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository460 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepository474 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleRepository488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType524 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDataType534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_ruleDataType581 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_ruleDataType608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_ruleDataType635 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent670 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent680 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent727 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent754 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent781 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_ruleRepositoryComponent808 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_entryRuleInfluencingParameter845 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInfluencingParameter855 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_Impl_in_ruleInfluencingParameter902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleServiceInputParameter_in_ruleInfluencingParameter929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallReturnParameter_in_ruleInfluencingParameter956 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallParameter_in_ruleInfluencingParameter983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCall_in_entryRuleExternalCall1024 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCall1034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCall_Impl_in_ruleExternalCall1081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallAction_in_ruleExternalCall1108 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractAction_in_entryRuleAbstractAction1143 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractAction1153 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractAction_Impl_in_ruleAbstractAction1200 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_ruleAbstractAction1227 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_ruleAbstractAction1254 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAcquireAction_in_ruleAbstractAction1281 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleReleaseAction_in_ruleAbstractAction1308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInternalAction_in_ruleAbstractAction1335 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleForkAction_in_ruleAbstractAction1362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_ruleAbstractAction1389 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_ruleAbstractAction1416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallAction_in_ruleAbstractAction1443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_entryRuleComponentInternalBehavior1478 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleComponentInternalBehavior1488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_Impl_in_ruleComponentInternalBehavior1535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleComponentInternalBehavior1562 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString1602 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString1613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1653 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_ruleEString1679 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface1724 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInterface1734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_ruleInterface1771 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1792 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInterface1804 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleInterface1816 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1837 = new BitSet(new long[]{0x0000000000910000L});
-        public static final BitSet FOLLOW_20_in_ruleInterface1850 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleInterface1862 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1885 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleInterface1898 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1921 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleInterface1935 = new BitSet(new long[]{0x0000000000810000L});
-        public static final BitSet FOLLOW_23_in_ruleInterface1950 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInterface1962 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface1983 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleInterface1996 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface2017 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleInterface2031 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleInterface2045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl2081 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl2091 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_ruleRepositoryComponent_Impl2128 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2149 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2161 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRepositoryComponent_Impl2173 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2194 = new BitSet(new long[]{0x000000003E010000L});
-        public static final BitSet FOLLOW_25_in_ruleRepositoryComponent_Impl2207 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleRepositoryComponent_Impl2219 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2242 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2255 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2278 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleRepositoryComponent_Impl2292 = new BitSet(new long[]{0x000000003C010000L});
-        public static final BitSet FOLLOW_26_in_ruleRepositoryComponent_Impl2307 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2319 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2340 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2353 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2374 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2388 = new BitSet(new long[]{0x0000000038010000L});
-        public static final BitSet FOLLOW_27_in_ruleRepositoryComponent_Impl2403 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2415 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2436 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2449 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2470 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2484 = new BitSet(new long[]{0x0000000030010000L});
-        public static final BitSet FOLLOW_28_in_ruleRepositoryComponent_Impl2499 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2511 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2532 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2545 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2566 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2580 = new BitSet(new long[]{0x0000000020010000L});
-        public static final BitSet FOLLOW_29_in_ruleRepositoryComponent_Impl2595 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2607 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2628 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2641 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2662 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2676 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2690 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2726 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType2736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_ruleCollectionDataType2773 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2794 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCollectionDataType2806 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCollectionDataType2818 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2839 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_31_in_ruleCollectionDataType2851 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2874 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCollectionDataType2886 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2922 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType2932 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_ruleCompositeDataType2969 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType2990 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeDataType3002 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCompositeDataType3014 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3035 = new BitSet(new long[]{0x0000000600010000L});
-        public static final BitSet FOLLOW_33_in_ruleCompositeDataType3048 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleCompositeDataType3060 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3083 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeDataType3096 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3119 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleCompositeDataType3133 = new BitSet(new long[]{0x0000000400010000L});
-        public static final BitSet FOLLOW_34_in_ruleCompositeDataType3148 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeDataType3160 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3181 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeDataType3194 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3215 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeDataType3229 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeDataType3243 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType3279 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType3289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_rulePrimitiveDataType3326 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePrimitiveDataType3338 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_36_in_rulePrimitiveDataType3350 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000003F80000000L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType3371 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_rulePrimitiveDataType3383 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration3419 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration3429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_ruleInnerDeclaration3466 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3487 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInnerDeclaration3499 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleInnerDeclaration3511 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3532 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_38_in_ruleInnerDeclaration3544 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3567 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleInnerDeclaration3579 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature3615 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSignature3625 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_ruleSignature3662 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSignature3683 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSignature3695 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleSignature3707 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSignature3728 = new BitSet(new long[]{0x0000030000010000L});
-        public static final BitSet FOLLOW_40_in_ruleSignature3741 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSignature3764 = new BitSet(new long[]{0x0000020000010000L});
-        public static final BitSet FOLLOW_41_in_ruleSignature3779 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSignature3791 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3812 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSignature3825 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3846 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSignature3860 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSignature3874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter3910 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParameter3920 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_ruleParameter3957 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter3978 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleParameter3990 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_43_in_ruleParameter4002 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000003C000000000L});
-        public static final BitSet FOLLOW_ruleParameterModifier_in_ruleParameter4023 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_38_in_ruleParameter4035 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter4058 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleParameter4070 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole4106 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole4116 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_ruleProvidedRole4153 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4174 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProvidedRole4186 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleProvidedRole4198 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4219 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_45_in_ruleProvidedRole4231 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4254 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleProvidedRole4266 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_entryRuleBlackBoxBehavior4302 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBlackBoxBehavior4312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_ruleBlackBoxBehavior4349 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBlackBoxBehavior4361 = new BitSet(new long[]{0x0001800000000000L});
-        public static final BitSet FOLLOW_47_in_ruleBlackBoxBehavior4374 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBlackBoxBehavior4397 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_48_in_ruleBlackBoxBehavior4411 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBlackBoxBehavior4434 = new BitSet(new long[]{0x0006000000010000L});
-        public static final BitSet FOLLOW_49_in_ruleBlackBoxBehavior4447 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBlackBoxBehavior4459 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4480 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBlackBoxBehavior4493 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4514 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBlackBoxBehavior4528 = new BitSet(new long[]{0x0004000000010000L});
-        public static final BitSet FOLLOW_50_in_ruleBlackBoxBehavior4543 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleResponseTimeSpecification_in_ruleBlackBoxBehavior4564 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBlackBoxBehavior4578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole4614 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole4624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_ruleRequiredRole4661 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4682 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRequiredRole4694 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRequiredRole4706 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4727 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_45_in_ruleRequiredRole4739 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4762 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleRequiredRole4774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_entryRuleCoarseGrainedBehavior4810 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCoarseGrainedBehavior4820 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_ruleCoarseGrainedBehavior4857 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior4869 = new BitSet(new long[]{0x0001800000000000L});
-        public static final BitSet FOLLOW_47_in_ruleCoarseGrainedBehavior4882 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4905 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_48_in_ruleCoarseGrainedBehavior4919 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4942 = new BitSet(new long[]{0x0062000000010000L});
-        public static final BitSet FOLLOW_49_in_ruleCoarseGrainedBehavior4955 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior4967 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior4988 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5001 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior5022 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5036 = new BitSet(new long[]{0x0060000000010000L});
-        public static final BitSet FOLLOW_53_in_ruleCoarseGrainedBehavior5051 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior5063 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5084 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5097 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5118 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5132 = new BitSet(new long[]{0x0040000000010000L});
-        public static final BitSet FOLLOW_54_in_ruleCoarseGrainedBehavior5147 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior5159 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5180 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5193 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5214 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5228 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5242 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent5278 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent5288 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleBasicComponent5325 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5346 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5358 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleBasicComponent5370 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5391 = new BitSet(new long[]{0x030000003E010000L});
-        public static final BitSet FOLLOW_25_in_ruleBasicComponent5404 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleBasicComponent5416 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5439 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5452 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5475 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleBasicComponent5489 = new BitSet(new long[]{0x030000003C010000L});
-        public static final BitSet FOLLOW_26_in_ruleBasicComponent5504 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5516 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent5537 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5550 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent5571 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent5585 = new BitSet(new long[]{0x0300000038010000L});
-        public static final BitSet FOLLOW_27_in_ruleBasicComponent5600 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5612 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5633 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5646 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5667 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent5681 = new BitSet(new long[]{0x0300000030010000L});
-        public static final BitSet FOLLOW_28_in_ruleBasicComponent5696 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5708 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent5729 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5742 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent5763 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent5777 = new BitSet(new long[]{0x0300000020010000L});
-        public static final BitSet FOLLOW_29_in_ruleBasicComponent5792 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5804 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5825 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5838 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5859 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent5873 = new BitSet(new long[]{0x0300000000010000L});
-        public static final BitSet FOLLOW_56_in_ruleBasicComponent5888 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5900 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-        public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5921 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent5934 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-        public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5955 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent5969 = new BitSet(new long[]{0x0200000000010000L});
-        public static final BitSet FOLLOW_57_in_ruleBasicComponent5984 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent5996 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
-        public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6017 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBasicComponent6030 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
-        public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6051 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent6065 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent6079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent6115 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent6125 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleCompositeComponent6162 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6183 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6195 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCompositeComponent6207 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6228 = new BitSet(new long[]{0x780000003E010000L});
-        public static final BitSet FOLLOW_25_in_ruleCompositeComponent6241 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleCompositeComponent6253 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6276 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6289 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6312 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleCompositeComponent6326 = new BitSet(new long[]{0x780000003C010000L});
-        public static final BitSet FOLLOW_26_in_ruleCompositeComponent6341 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6353 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6374 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6387 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6408 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6422 = new BitSet(new long[]{0x7800000038010000L});
-        public static final BitSet FOLLOW_27_in_ruleCompositeComponent6437 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6449 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6470 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6483 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6504 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6518 = new BitSet(new long[]{0x7800000030010000L});
-        public static final BitSet FOLLOW_28_in_ruleCompositeComponent6533 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6545 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6566 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6579 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6600 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6614 = new BitSet(new long[]{0x7800000020010000L});
-        public static final BitSet FOLLOW_29_in_ruleCompositeComponent6629 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6641 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6662 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6675 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6696 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6710 = new BitSet(new long[]{0x7800000000010000L});
-        public static final BitSet FOLLOW_59_in_ruleCompositeComponent6725 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6737 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6758 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6792 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6806 = new BitSet(new long[]{0x7000000000010000L});
-        public static final BitSet FOLLOW_60_in_ruleCompositeComponent6821 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6854 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6867 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6888 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6902 = new BitSet(new long[]{0x6000000000010000L});
-        public static final BitSet FOLLOW_61_in_ruleCompositeComponent6917 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent6929 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6950 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent6963 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6984 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent6998 = new BitSet(new long[]{0x4000000000010000L});
-        public static final BitSet FOLLOW_62_in_ruleCompositeComponent7013 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent7025 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7046 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleCompositeComponent7059 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7080 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent7094 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent7108 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem7144 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem7154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleSubSystem7191 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7212 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7224 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleSubSystem7236 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7257 = new BitSet(new long[]{0x780000003E010000L});
-        public static final BitSet FOLLOW_25_in_ruleSubSystem7270 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleSubSystem7282 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7305 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7318 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7341 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleSubSystem7355 = new BitSet(new long[]{0x780000003C010000L});
-        public static final BitSet FOLLOW_26_in_ruleSubSystem7370 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7382 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem7403 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7416 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem7437 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7451 = new BitSet(new long[]{0x7800000038010000L});
-        public static final BitSet FOLLOW_27_in_ruleSubSystem7466 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7478 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7499 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7512 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7533 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7547 = new BitSet(new long[]{0x7800000030010000L});
-        public static final BitSet FOLLOW_28_in_ruleSubSystem7562 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7574 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem7595 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7608 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem7629 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7643 = new BitSet(new long[]{0x7800000020010000L});
-        public static final BitSet FOLLOW_29_in_ruleSubSystem7658 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7670 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7691 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7704 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7725 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7739 = new BitSet(new long[]{0x7800000000010000L});
-        public static final BitSet FOLLOW_59_in_ruleSubSystem7754 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleSubSystem7787 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7800 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleSubSystem7821 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7835 = new BitSet(new long[]{0x7000000000010000L});
-        public static final BitSet FOLLOW_60_in_ruleSubSystem7850 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7862 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7883 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7896 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7917 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem7931 = new BitSet(new long[]{0x6000000000010000L});
-        public static final BitSet FOLLOW_61_in_ruleSubSystem7946 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem7958 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem7979 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem7992 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem8013 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem8027 = new BitSet(new long[]{0x4000000000010000L});
-        public static final BitSet FOLLOW_62_in_ruleSubSystem8042 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem8054 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8075 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleSubSystem8088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8109 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem8123 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem8137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_Impl_in_entryRuleInfluencingParameter_Impl8173 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInfluencingParameter_Impl8183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_64_in_ruleInfluencingParameter_Impl8220 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8241 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInfluencingParameter_Impl8253 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_ruleInfluencingParameter_Impl8265 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8286 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_66_in_ruleInfluencingParameter_Impl8298 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8321 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_67_in_ruleInfluencingParameter_Impl8334 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInfluencingParameter_Impl8346 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8367 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleInfluencingParameter_Impl8380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8401 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleInfluencingParameter_Impl8415 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleInfluencingParameter_Impl8429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleResponseTimeSpecification_in_entryRuleResponseTimeSpecification8465 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleResponseTimeSpecification8475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_68_in_ruleResponseTimeSpecification8521 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleScope_in_entryRuleScope8557 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleScope8567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_69_in_ruleScope8604 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleScope8616 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_70_in_ruleScope8628 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleScope8651 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleScope8663 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleServiceInputParameter_in_entryRuleServiceInputParameter8699 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleServiceInputParameter8709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_71_in_ruleServiceInputParameter8746 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8767 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleServiceInputParameter8779 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_ruleServiceInputParameter8791 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8812 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-        public static final BitSet FOLLOW_72_in_ruleServiceInputParameter8824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L});
-        public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleServiceInputParameter8845 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_66_in_ruleServiceInputParameter8857 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8880 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleServiceInputParameter8892 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8915 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000C00L});
-        public static final BitSet FOLLOW_74_in_ruleServiceInputParameter8928 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8951 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_40_in_ruleServiceInputParameter8966 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8989 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_75_in_ruleServiceInputParameter9003 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter9026 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_67_in_ruleServiceInputParameter9039 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleServiceInputParameter9051 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleServiceInputParameter9072 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleServiceInputParameter9085 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleServiceInputParameter9106 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleServiceInputParameter9120 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleServiceInputParameter9134 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallReturnParameter_in_entryRuleExternalCallReturnParameter9170 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallReturnParameter9180 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_76_in_ruleExternalCallReturnParameter9217 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9238 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallReturnParameter9250 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_ruleExternalCallReturnParameter9262 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9283 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-        public static final BitSet FOLLOW_72_in_ruleExternalCallReturnParameter9295 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L});
-        public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleExternalCallReturnParameter9316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_66_in_ruleExternalCallReturnParameter9328 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleExternalCallReturnParameter9363 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9386 = new BitSet(new long[]{0x0000010000000000L,0x0000000000002400L});
-        public static final BitSet FOLLOW_74_in_ruleExternalCallReturnParameter9399 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9422 = new BitSet(new long[]{0x0000010000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_40_in_ruleExternalCallReturnParameter9437 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9460 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_77_in_ruleExternalCallReturnParameter9474 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9497 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_67_in_ruleExternalCallReturnParameter9510 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallReturnParameter9522 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9543 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleExternalCallReturnParameter9556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9577 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallReturnParameter9591 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallReturnParameter9605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallParameter_in_entryRuleExternalCallParameter9641 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallParameter9651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_78_in_ruleExternalCallParameter9688 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9709 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallParameter9721 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_ruleExternalCallParameter9733 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-        public static final BitSet FOLLOW_72_in_ruleExternalCallParameter9766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L});
-        public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleExternalCallParameter9787 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_66_in_ruleExternalCallParameter9799 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9822 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleExternalCallParameter9834 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9857 = new BitSet(new long[]{0x0000010000000000L,0x0000000000008400L});
-        public static final BitSet FOLLOW_74_in_ruleExternalCallParameter9870 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9893 = new BitSet(new long[]{0x0000010000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_40_in_ruleExternalCallParameter9908 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_79_in_ruleExternalCallParameter9945 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9968 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_67_in_ruleExternalCallParameter9981 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallParameter9993 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallParameter10014 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleExternalCallParameter10027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallParameter10048 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallParameter10062 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallParameter10076 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_entryRuleFineGrainedBehavior10112 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFineGrainedBehavior10122 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_ruleFineGrainedBehavior10159 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10171 = new BitSet(new long[]{0x0000800000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_47_in_ruleFineGrainedBehavior10184 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleFineGrainedBehavior10207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_81_in_ruleFineGrainedBehavior10221 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleFineGrainedBehavior10244 = new BitSet(new long[]{0x0002000000000000L,0x0000000000040004L});
-        public static final BitSet FOLLOW_49_in_ruleFineGrainedBehavior10257 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10269 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10290 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleFineGrainedBehavior10303 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L});
-        public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10324 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040004L});
-        public static final BitSet FOLLOW_82_in_ruleFineGrainedBehavior10353 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10365 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L});
-        public static final BitSet FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10386 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleFineGrainedBehavior10399 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L});
-        public static final BitSet FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10420 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_66_in_ruleFineGrainedBehavior10448 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleFineGrainedBehavior10469 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10481 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractAction_Impl_in_entryRuleAbstractAction_Impl10517 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractAction_Impl10527 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_83_in_ruleAbstractAction_Impl10573 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAbstractAction_Impl10585 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L});
-        public static final BitSet FOLLOW_84_in_ruleAbstractAction_Impl10598 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAbstractAction_Impl10621 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_85_in_ruleAbstractAction_Impl10636 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAbstractAction_Impl10659 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAbstractAction_Impl10673 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_Impl_in_entryRuleComponentInternalBehavior_Impl10709 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleComponentInternalBehavior_Impl10719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_ruleComponentInternalBehavior_Impl10765 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComponentInternalBehavior_Impl10777 = new BitSet(new long[]{0x0000000000010000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_82_in_ruleComponentInternalBehavior_Impl10790 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComponentInternalBehavior_Impl10802 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L});
-        public static final BitSet FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10823 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleComponentInternalBehavior_Impl10836 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L});
-        public static final BitSet FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10857 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleComponentInternalBehavior_Impl10871 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleComponentInternalBehavior_Impl10885 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction10921 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction10931 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_87_in_ruleStartAction10977 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStartAction10989 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L});
-        public static final BitSet FOLLOW_84_in_ruleStartAction11002 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction11025 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_85_in_ruleStartAction11040 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction11063 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleStartAction11077 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction11113 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction11123 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_88_in_ruleStopAction11169 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStopAction11181 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L});
-        public static final BitSet FOLLOW_84_in_ruleStopAction11194 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction11217 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_85_in_ruleStopAction11232 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction11255 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleStopAction11269 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAcquireAction_in_entryRuleAcquireAction11305 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAcquireAction11315 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_89_in_ruleAcquireAction11352 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAcquireAction11364 = new BitSet(new long[]{0x0000000000000000L,0x0000000004300000L});
-        public static final BitSet FOLLOW_84_in_ruleAcquireAction11377 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11400 = new BitSet(new long[]{0x0000000000000000L,0x0000000004200000L});
-        public static final BitSet FOLLOW_85_in_ruleAcquireAction11415 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11438 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
-        public static final BitSet FOLLOW_90_in_ruleAcquireAction11452 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11475 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAcquireAction11487 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleReleaseAction_in_entryRuleReleaseAction11523 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleReleaseAction11533 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_91_in_ruleReleaseAction11570 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleReleaseAction11582 = new BitSet(new long[]{0x0000000000000000L,0x0000000004300000L});
-        public static final BitSet FOLLOW_84_in_ruleReleaseAction11595 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11618 = new BitSet(new long[]{0x0000000000000000L,0x0000000004200000L});
-        public static final BitSet FOLLOW_85_in_ruleReleaseAction11633 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11656 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
-        public static final BitSet FOLLOW_90_in_ruleReleaseAction11670 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11693 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleReleaseAction11705 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInternalAction_in_entryRuleInternalAction11741 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInternalAction11751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_92_in_ruleInternalAction11797 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInternalAction11809 = new BitSet(new long[]{0x0040000000010000L,0x0000000000300000L});
-        public static final BitSet FOLLOW_84_in_ruleInternalAction11822 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInternalAction11845 = new BitSet(new long[]{0x0040000000010000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_85_in_ruleInternalAction11860 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInternalAction11883 = new BitSet(new long[]{0x0040000000010000L});
-        public static final BitSet FOLLOW_54_in_ruleInternalAction11898 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInternalAction11910 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11931 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleInternalAction11944 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11965 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleInternalAction11979 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleInternalAction11993 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleForkAction_in_entryRuleForkAction12029 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleForkAction12039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_93_in_ruleForkAction12082 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
-        public static final BitSet FOLLOW_94_in_ruleForkAction12107 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleForkAction12119 = new BitSet(new long[]{0x0000000000010000L,0x0000000080300000L});
-        public static final BitSet FOLLOW_84_in_ruleForkAction12132 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleForkAction12155 = new BitSet(new long[]{0x0000000000010000L,0x0000000080200000L});
-        public static final BitSet FOLLOW_85_in_ruleForkAction12170 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleForkAction12193 = new BitSet(new long[]{0x0000000000010000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_95_in_ruleForkAction12208 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleForkAction12220 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12241 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleForkAction12254 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12275 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleForkAction12289 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleForkAction12303 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction12339 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction12349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_ruleBranchAction12386 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBranchAction12398 = new BitSet(new long[]{0x0000000000000000L,0x0000000600300000L});
-        public static final BitSet FOLLOW_84_in_ruleBranchAction12411 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction12434 = new BitSet(new long[]{0x0000000000000000L,0x0000000600200000L});
-        public static final BitSet FOLLOW_85_in_ruleBranchAction12449 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction12472 = new BitSet(new long[]{0x0000000000000000L,0x0000000600000000L});
-        public static final BitSet FOLLOW_97_in_ruleBranchAction12487 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBranchAction12499 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-        public static final BitSet FOLLOW_ruleBranchTransition_in_ruleBranchAction12520 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBranchAction12533 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-        public static final BitSet FOLLOW_ruleBranchTransition_in_ruleBranchAction12554 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBranchAction12568 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_98_in_ruleBranchAction12582 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
-        public static final BitSet FOLLOW_ruleBranchProbabilities_in_ruleBranchAction12603 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBranchAction12615 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction12651 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction12661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_ruleLoopAction12698 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleLoopAction12710 = new BitSet(new long[]{0x0000000000000000L,0x0000001000300000L});
-        public static final BitSet FOLLOW_84_in_ruleLoopAction12723 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction12746 = new BitSet(new long[]{0x0000000000000000L,0x0000001000200000L});
-        public static final BitSet FOLLOW_85_in_ruleLoopAction12761 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction12784 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_100_in_ruleLoopAction12798 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleLoopAction12819 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
-        public static final BitSet FOLLOW_101_in_ruleLoopAction12831 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleLoopIterationCountDistribution_in_ruleLoopAction12852 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleLoopAction12864 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallAction_in_entryRuleExternalCallAction12900 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallAction12910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_102_in_ruleExternalCallAction12947 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallAction12959 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300200L});
-        public static final BitSet FOLLOW_84_in_ruleExternalCallAction12972 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction12995 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200200L});
-        public static final BitSet FOLLOW_85_in_ruleExternalCallAction13010 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13033 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleExternalCallAction13047 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13070 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-        public static final BitSet FOLLOW_103_in_ruleExternalCallAction13082 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13105 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallAction13117 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_entryRulePassiveResourceSpecification13153 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePassiveResourceSpecification13163 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_104_in_rulePassiveResourceSpecification13200 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13221 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePassiveResourceSpecification13233 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_rulePassiveResourceSpecification13245 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13266 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
-        public static final BitSet FOLLOW_105_in_rulePassiveResourceSpecification13278 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13301 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
-        public static final BitSet FOLLOW_106_in_rulePassiveResourceSpecification13313 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
-        public static final BitSet FOLLOW_rulePassiveResourceCapacity_in_rulePassiveResourceSpecification13334 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_rulePassiveResourceSpecification13346 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePassiveResourceCapacity_in_entryRulePassiveResourceCapacity13382 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePassiveResourceCapacity13392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_107_in_rulePassiveResourceCapacity13429 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceCapacity13450 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePassiveResourceCapacity13462 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_rulePassiveResourceCapacity13474 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceCapacity13495 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
-        public static final BitSet FOLLOW_106_in_rulePassiveResourceCapacity13507 = new BitSet(new long[]{0x0000000000000040L,0x0000100000000000L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_rulePassiveResourceCapacity13528 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_rulePassiveResourceCapacity13540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger13579 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigInteger13590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_108_in_ruleEBigInteger13629 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigInteger13646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_entryRuleResourceDemandSpecification13691 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleResourceDemandSpecification13701 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_109_in_ruleResourceDemandSpecification13738 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleResourceDemandSpecification13750 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
-        public static final BitSet FOLLOW_110_in_ruleResourceDemandSpecification13762 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleResourceDemandSpecification13785 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleResourceDemandSpecification13797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProcessingResourceType_Impl_in_entryRuleProcessingResourceType_Impl13833 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProcessingResourceType_Impl13843 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_111_in_ruleProcessingResourceType_Impl13880 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13901 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProcessingResourceType_Impl13913 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleProcessingResourceType_Impl13925 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13946 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleProcessingResourceType_Impl13958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCommunicationLinkResourceType_in_entryRuleCommunicationLinkResourceType13994 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCommunicationLinkResourceType14004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_112_in_ruleCommunicationLinkResourceType14041 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14062 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCommunicationLinkResourceType14074 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCommunicationLinkResourceType14086 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14107 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCommunicationLinkResourceType14119 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchTransition_in_entryRuleBranchTransition14157 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBranchTransition14167 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_113_in_ruleBranchTransition14204 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchTransition14225 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBranchTransition14237 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleBranchTransition14249 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchTransition14270 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
-        public static final BitSet FOLLOW_114_in_ruleBranchTransition14282 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L});
-        public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleBranchTransition14303 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBranchTransition14315 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchProbabilities_in_entryRuleBranchProbabilities14351 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBranchProbabilities14361 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_115_in_ruleBranchProbabilities14398 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBranchProbabilities14410 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L});
-        public static final BitSet FOLLOW_116_in_ruleBranchProbabilities14422 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchProbabilities14445 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBranchProbabilities14457 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction14495 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityMassFunction14505 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_117_in_ruleProbabilityMassFunction14551 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction14563 = new BitSet(new long[]{0x0000000000010000L,0x0040000000000000L});
-        public static final BitSet FOLLOW_118_in_ruleProbabilityMassFunction14576 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction14588 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-        public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction14609 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleProbabilityMassFunction14622 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-        public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction14643 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleProbabilityMassFunction14657 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleProbabilityMassFunction14671 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityDensityFunction_Impl_in_entryRuleProbabilityDensityFunction_Impl14707 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityDensityFunction_Impl14717 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_119_in_ruleProbabilityDensityFunction_Impl14763 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF14799 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBoxedPDF14809 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_120_in_ruleBoxedPDF14855 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBoxedPDF14867 = new BitSet(new long[]{0x0000000000010000L,0x0040000000000000L});
-        public static final BitSet FOLLOW_118_in_ruleBoxedPDF14880 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBoxedPDF14892 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14913 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleBoxedPDF14926 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14947 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleBoxedPDF14961 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBoxedPDF14975 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousPDF_Impl_in_entryRuleContinuousPDF_Impl15011 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleContinuousPDF_Impl15021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_121_in_ruleContinuousPDF_Impl15067 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution15103 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNormalDistribution15113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_ruleNormalDistribution15150 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleNormalDistribution15162 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
-        public static final BitSet FOLLOW_123_in_ruleNormalDistribution15174 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15195 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
-        public static final BitSet FOLLOW_124_in_ruleNormalDistribution15207 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15228 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleNormalDistribution15240 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution15276 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExponentialDistribution15286 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_ruleExponentialDistribution15323 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExponentialDistribution15335 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
-        public static final BitSet FOLLOW_126_in_ruleExponentialDistribution15347 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution15368 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExponentialDistribution15380 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSample_in_entryRuleSample15416 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSample15426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_127_in_ruleSample15463 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSample15475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_128_in_ruleSample15487 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleSample15508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_129_in_ruleSample15520 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSample15543 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSample15555 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal15594 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigDecimal15605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal15646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_130_in_ruleEBigDecimal15666 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal15681 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample15726 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleContinuousSample15736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_131_in_ruleContinuousSample15773 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleContinuousSample15785 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_129_in_ruleContinuousSample15797 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_128_in_ruleContinuousSample15830 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15851 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleContinuousSample15863 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopIterationCountDistribution_in_entryRuleLoopIterationCountDistribution15899 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLoopIterationCountDistribution15909 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_132_in_ruleLoopIterationCountDistribution15946 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleLoopIterationCountDistribution15958 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
-        public static final BitSet FOLLOW_101_in_ruleLoopIterationCountDistribution15970 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopIterationCountDistribution15993 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleLoopIterationCountDistribution16005 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext16041 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext16051 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_133_in_ruleAssemblyContext16088 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16109 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAssemblyContext16121 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAssemblyContext16133 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_134_in_ruleAssemblyContext16166 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16189 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAssemblyContext16201 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector16237 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector16247 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_135_in_ruleAssemblyConnector16284 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16305 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAssemblyConnector16317 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAssemblyConnector16329 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16350 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-        public static final BitSet FOLLOW_103_in_ruleAssemblyConnector16362 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16385 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_75_in_ruleAssemblyConnector16397 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L});
-        public static final BitSet FOLLOW_136_in_ruleAssemblyConnector16432 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16455 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_137_in_ruleAssemblyConnector16467 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16490 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAssemblyConnector16502 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector16538 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector16548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_138_in_ruleProvidedDelegationConnector16585 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16606 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProvidedDelegationConnector16618 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleProvidedDelegationConnector16630 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16651 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_139_in_ruleProvidedDelegationConnector16663 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16686 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
-        public static final BitSet FOLLOW_140_in_ruleProvidedDelegationConnector16698 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16721 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_141_in_ruleProvidedDelegationConnector16733 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16756 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleProvidedDelegationConnector16768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector16804 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector16814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_142_in_ruleRequiredDelegationConnector16851 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16872 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRequiredDelegationConnector16884 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRequiredDelegationConnector16896 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16917 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_139_in_ruleRequiredDelegationConnector16929 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16952 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_143_in_ruleRequiredDelegationConnector16964 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-        public static final BitSet FOLLOW_144_in_ruleRequiredDelegationConnector16999 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector17022 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleRequiredDelegationConnector17034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCall_Impl_in_entryRuleExternalCall_Impl17070 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCall_Impl17080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_145_in_ruleExternalCall_Impl17117 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCall_Impl17129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleExternalCall_Impl17141 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCall_Impl17164 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-        public static final BitSet FOLLOW_103_in_ruleExternalCall_Impl17176 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExternalCall_Impl17199 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCall_Impl17211 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExternalCallFrequency_in_entryRuleExternalCallFrequency17247 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallFrequency17257 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_146_in_ruleExternalCallFrequency17294 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExternalCallFrequency17306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_77_in_ruleExternalCallFrequency17318 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleExternalCall_in_ruleExternalCallFrequency17339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
-        public static final BitSet FOLLOW_147_in_ruleExternalCallFrequency17351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
-        public static final BitSet FOLLOW_ruleCallFrequency_in_ruleExternalCallFrequency17372 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleExternalCallFrequency17384 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCallFrequency_in_entryRuleCallFrequency17420 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCallFrequency17430 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_148_in_ruleCallFrequency17467 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCallFrequency17479 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
-        public static final BitSet FOLLOW_147_in_ruleCallFrequency17491 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCallFrequency17514 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCallFrequency17526 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDependencyRelationship_in_entryRuleDependencyRelationship17562 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDependencyRelationship17572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_149_in_ruleDependencyRelationship17609 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleDependencyRelationship17621 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L});
-        public static final BitSet FOLLOW_150_in_ruleDependencyRelationship17633 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17656 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
-        public static final BitSet FOLLOW_151_in_ruleDependencyRelationship17668 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17691 = new BitSet(new long[]{0x0002000000000000L});
-        public static final BitSet FOLLOW_49_in_ruleDependencyRelationship17703 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17726 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleDependencyRelationship17738 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCorrelationRelationship_in_entryRuleCorrelationRelationship17774 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCorrelationRelationship17784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_152_in_ruleCorrelationRelationship17821 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCorrelationRelationship17833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L});
-        public static final BitSet FOLLOW_150_in_ruleCorrelationRelationship17845 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17868 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000002000000L});
-        public static final BitSet FOLLOW_153_in_ruleCorrelationRelationship17880 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17903 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L});
-        public static final BitSet FOLLOW_154_in_ruleCorrelationRelationship17915 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17938 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
-        public static final BitSet FOLLOW_155_in_ruleCorrelationRelationship17950 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship17971 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
-        public static final BitSet FOLLOW_156_in_ruleCorrelationRelationship17983 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship18004 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCorrelationRelationship18016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComponentInstanceReference_in_entryRuleComponentInstanceReference18054 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleComponentInstanceReference18064 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_157_in_ruleComponentInstanceReference18110 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComponentInstanceReference18122 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000000L,0x0000000040000000L});
-        public static final BitSet FOLLOW_158_in_ruleComponentInstanceReference18135 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleComponentInstanceReference18147 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleComponentInstanceReference18170 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_15_in_ruleComponentInstanceReference18183 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleComponentInstanceReference18206 = new BitSet(new long[]{0x0000000000408000L});
-        public static final BitSet FOLLOW_22_in_ruleComponentInstanceReference18220 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleComponentInstanceReference18234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_159_in_rulePrimitiveTypeEnum18284 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_160_in_rulePrimitiveTypeEnum18301 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_161_in_rulePrimitiveTypeEnum18318 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_162_in_rulePrimitiveTypeEnum18335 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_163_in_rulePrimitiveTypeEnum18352 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_164_in_rulePrimitiveTypeEnum18369 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_165_in_rulePrimitiveTypeEnum18386 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_166_in_ruleParameterModifier18431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_167_in_ruleParameterModifier18448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_168_in_ruleParameterModifier18465 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_169_in_ruleParameterModifier18482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_170_in_ruleCharacterizationType18527 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_171_in_ruleCharacterizationType18544 = new BitSet(new long[]{0x0000000000000002L});
-    }
-
-
-}
\ No newline at end of file
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java
deleted file mode 100644
index a9eead0a..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java
+++ /dev/null
@@ -1,8021 +0,0 @@
-/*
-* generated by Xtext
-*/
-
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services;
-
-import com.google.inject.Singleton;
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.service.GrammarProvider;
-import org.eclipse.xtext.service.AbstractElementFinder.*;
-
-import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
-
-@Singleton
-public class RepositoryDSLGrammarAccess extends AbstractGrammarElementFinder {
-	
-	
-	public class RepositoryElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Repository");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cRepositoryKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cDatatypesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cDatatypesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cDatatypesDataTypeParserRuleCall_5_2_0 = (RuleCall)cDatatypesAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cDatatypesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cDatatypesDataTypeParserRuleCall_5_3_1_0 = (RuleCall)cDatatypesAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cInterfacesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cInterfacesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cInterfacesInterfaceParserRuleCall_6_2_0 = (RuleCall)cInterfacesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cInterfacesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cInterfacesInterfaceParserRuleCall_6_3_1_0 = (RuleCall)cInterfacesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cComponentsKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cComponentsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cComponentsRepositoryComponentParserRuleCall_7_2_0 = (RuleCall)cComponentsAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cComponentsAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cComponentsRepositoryComponentParserRuleCall_7_3_1_0 = (RuleCall)cComponentsAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//Repository returns repository::Repository:
-		//	"Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-		//	("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{"
-		//	components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-		//("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{"
-		//components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Repository"
-		public Keyword getRepositoryKeyword_0() { return cRepositoryKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"datatypes"
-		public Keyword getDatatypesKeyword_5_0() { return cDatatypesKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//datatypes+=DataType
-		public Assignment getDatatypesAssignment_5_2() { return cDatatypesAssignment_5_2; }
-
-		//DataType
-		public RuleCall getDatatypesDataTypeParserRuleCall_5_2_0() { return cDatatypesDataTypeParserRuleCall_5_2_0; }
-
-		//("," datatypes+=DataType)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//datatypes+=DataType
-		public Assignment getDatatypesAssignment_5_3_1() { return cDatatypesAssignment_5_3_1; }
-
-		//DataType
-		public RuleCall getDatatypesDataTypeParserRuleCall_5_3_1_0() { return cDatatypesDataTypeParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"interfaces"
-		public Keyword getInterfacesKeyword_6_0() { return cInterfacesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//interfaces+=Interface
-		public Assignment getInterfacesAssignment_6_2() { return cInterfacesAssignment_6_2; }
-
-		//Interface
-		public RuleCall getInterfacesInterfaceParserRuleCall_6_2_0() { return cInterfacesInterfaceParserRuleCall_6_2_0; }
-
-		//("," interfaces+=Interface)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//interfaces+=Interface
-		public Assignment getInterfacesAssignment_6_3_1() { return cInterfacesAssignment_6_3_1; }
-
-		//Interface
-		public RuleCall getInterfacesInterfaceParserRuleCall_6_3_1_0() { return cInterfacesInterfaceParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("components" "{" components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"components"
-		public Keyword getComponentsKeyword_7_0() { return cComponentsKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//components+=RepositoryComponent
-		public Assignment getComponentsAssignment_7_2() { return cComponentsAssignment_7_2; }
-
-		//RepositoryComponent
-		public RuleCall getComponentsRepositoryComponentParserRuleCall_7_2_0() { return cComponentsRepositoryComponentParserRuleCall_7_2_0; }
-
-		//("," components+=RepositoryComponent)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//components+=RepositoryComponent
-		public Assignment getComponentsAssignment_7_3_1() { return cComponentsAssignment_7_3_1; }
-
-		//RepositoryComponent
-		public RuleCall getComponentsRepositoryComponentParserRuleCall_7_3_1_0() { return cComponentsRepositoryComponentParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class DataTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cCollectionDataTypeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cCompositeDataTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cPrimitiveDataTypeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		
-		//DataType returns repository::DataType:
-		//	CollectionDataType | CompositeDataType | PrimitiveDataType;
-		public ParserRule getRule() { return rule; }
-
-		//CollectionDataType | CompositeDataType | PrimitiveDataType
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//CollectionDataType
-		public RuleCall getCollectionDataTypeParserRuleCall_0() { return cCollectionDataTypeParserRuleCall_0; }
-
-		//CompositeDataType
-		public RuleCall getCompositeDataTypeParserRuleCall_1() { return cCompositeDataTypeParserRuleCall_1; }
-
-		//PrimitiveDataType
-		public RuleCall getPrimitiveDataTypeParserRuleCall_2() { return cPrimitiveDataTypeParserRuleCall_2; }
-	}
-
-	public class RepositoryComponentElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepositoryComponent");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		
-		//RepositoryComponent returns repository::RepositoryComponent:
-		//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-		public ParserRule getRule() { return rule; }
-
-		//RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//RepositoryComponent_Impl
-		public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; }
-
-		//BasicComponent
-		public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; }
-
-		//CompositeComponent
-		public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; }
-
-		//SubSystem
-		public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; }
-	}
-
-	public class RelationshipElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Relationship");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cDependencyRelationshipParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cCorrelationRelationshipParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//Relationship:
-		//	DependencyRelationship | CorrelationRelationship;
-		public ParserRule getRule() { return rule; }
-
-		//DependencyRelationship | CorrelationRelationship
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//DependencyRelationship
-		public RuleCall getDependencyRelationshipParserRuleCall_0() { return cDependencyRelationshipParserRuleCall_0; }
-
-		//CorrelationRelationship
-		public RuleCall getCorrelationRelationshipParserRuleCall_1() { return cCorrelationRelationshipParserRuleCall_1; }
-	}
-
-	public class InfluencingParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencingParameter");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cInfluencingParameter_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cServiceInputParameterParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cExternalCallReturnParameterParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cExternalCallParameterParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		
-		//InfluencingParameter:
-		//	InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter;
-		public ParserRule getRule() { return rule; }
-
-		//InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//InfluencingParameter_Impl
-		public RuleCall getInfluencingParameter_ImplParserRuleCall_0() { return cInfluencingParameter_ImplParserRuleCall_0; }
-
-		//ServiceInputParameter
-		public RuleCall getServiceInputParameterParserRuleCall_1() { return cServiceInputParameterParserRuleCall_1; }
-
-		//ExternalCallReturnParameter
-		public RuleCall getExternalCallReturnParameterParserRuleCall_2() { return cExternalCallReturnParameterParserRuleCall_2; }
-
-		//ExternalCallParameter
-		public RuleCall getExternalCallParameterParserRuleCall_3() { return cExternalCallParameterParserRuleCall_3; }
-	}
-
-	public class InterfaceProvidingEntityElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceProvidingEntity");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		
-		//InterfaceProvidingEntity returns repository::InterfaceProvidingEntity:
-		//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-		public ParserRule getRule() { return rule; }
-
-		//RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//RepositoryComponent_Impl
-		public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; }
-
-		//BasicComponent
-		public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; }
-
-		//CompositeComponent
-		public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; }
-
-		//SubSystem
-		public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; }
-	}
-
-	public class InterfaceProvidingRequiringEntityElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceProvidingRequiringEntity");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		
-		//InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity:
-		//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-		public ParserRule getRule() { return rule; }
-
-		//RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//RepositoryComponent_Impl
-		public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; }
-
-		//BasicComponent
-		public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; }
-
-		//CompositeComponent
-		public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; }
-
-		//SubSystem
-		public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; }
-	}
-
-	public class ServiceBehaviorAbstractionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceBehaviorAbstraction");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cFineGrainedBehaviorParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cCoarseGrainedBehaviorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cBlackBoxBehaviorParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		
-		//ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction:
-		//	FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior;
-		public ParserRule getRule() { return rule; }
-
-		//FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//FineGrainedBehavior
-		public RuleCall getFineGrainedBehaviorParserRuleCall_0() { return cFineGrainedBehaviorParserRuleCall_0; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorParserRuleCall_1() { return cCoarseGrainedBehaviorParserRuleCall_1; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorParserRuleCall_2() { return cBlackBoxBehaviorParserRuleCall_2; }
-	}
-
-	public class ExternalCallElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCall");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cExternalCall_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cExternalCallActionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//ExternalCall returns servicebehavior::ExternalCall:
-		//	ExternalCall_Impl | ExternalCallAction;
-		public ParserRule getRule() { return rule; }
-
-		//ExternalCall_Impl | ExternalCallAction
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ExternalCall_Impl
-		public RuleCall getExternalCall_ImplParserRuleCall_0() { return cExternalCall_ImplParserRuleCall_0; }
-
-		//ExternalCallAction
-		public RuleCall getExternalCallActionParserRuleCall_1() { return cExternalCallActionParserRuleCall_1; }
-	}
-
-	public class AbstractActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractAction");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cAbstractAction_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cStartActionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cStopActionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cAcquireActionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cReleaseActionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cInternalActionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cForkActionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cBranchActionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cLoopActionParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cExternalCallActionParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		
-		//AbstractAction returns servicebehavior::AbstractAction:
-		//	AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction |
-		//	BranchAction | LoopAction | ExternalCallAction;
-		public ParserRule getRule() { return rule; }
-
-		//AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction |
-		//BranchAction | LoopAction | ExternalCallAction
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//AbstractAction_Impl
-		public RuleCall getAbstractAction_ImplParserRuleCall_0() { return cAbstractAction_ImplParserRuleCall_0; }
-
-		//StartAction
-		public RuleCall getStartActionParserRuleCall_1() { return cStartActionParserRuleCall_1; }
-
-		//StopAction
-		public RuleCall getStopActionParserRuleCall_2() { return cStopActionParserRuleCall_2; }
-
-		//AcquireAction
-		public RuleCall getAcquireActionParserRuleCall_3() { return cAcquireActionParserRuleCall_3; }
-
-		//ReleaseAction
-		public RuleCall getReleaseActionParserRuleCall_4() { return cReleaseActionParserRuleCall_4; }
-
-		//InternalAction
-		public RuleCall getInternalActionParserRuleCall_5() { return cInternalActionParserRuleCall_5; }
-
-		//ForkAction
-		public RuleCall getForkActionParserRuleCall_6() { return cForkActionParserRuleCall_6; }
-
-		//BranchAction
-		public RuleCall getBranchActionParserRuleCall_7() { return cBranchActionParserRuleCall_7; }
-
-		//LoopAction
-		public RuleCall getLoopActionParserRuleCall_8() { return cLoopActionParserRuleCall_8; }
-
-		//ExternalCallAction
-		public RuleCall getExternalCallActionParserRuleCall_9() { return cExternalCallActionParserRuleCall_9; }
-	}
-
-	public class ComponentInternalBehaviorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInternalBehavior");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cComponentInternalBehavior_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cFineGrainedBehaviorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior:
-		//	ComponentInternalBehavior_Impl | FineGrainedBehavior;
-		public ParserRule getRule() { return rule; }
-
-		//ComponentInternalBehavior_Impl | FineGrainedBehavior
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ComponentInternalBehavior_Impl
-		public RuleCall getComponentInternalBehavior_ImplParserRuleCall_0() { return cComponentInternalBehavior_ImplParserRuleCall_0; }
-
-		//FineGrainedBehavior
-		public RuleCall getFineGrainedBehaviorParserRuleCall_1() { return cFineGrainedBehaviorParserRuleCall_1; }
-	}
-
-	public class ProcessingResourceTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProcessingResourceType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cProcessingResourceType_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cCommunicationLinkResourceTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//ProcessingResourceType returns resourcetype::ProcessingResourceType:
-		//	ProcessingResourceType_Impl | CommunicationLinkResourceType;
-		public ParserRule getRule() { return rule; }
-
-		//ProcessingResourceType_Impl | CommunicationLinkResourceType
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ProcessingResourceType_Impl
-		public RuleCall getProcessingResourceType_ImplParserRuleCall_0() { return cProcessingResourceType_ImplParserRuleCall_0; }
-
-		//CommunicationLinkResourceType
-		public RuleCall getCommunicationLinkResourceTypeParserRuleCall_1() { return cCommunicationLinkResourceTypeParserRuleCall_1; }
-	}
-
-	public class ProbabilityFunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityFunction");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cProbabilityDensityFunction_ImplParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cBoxedPDFParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cContinuousPDF_ImplParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cNormalDistributionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cExponentialDistributionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		
-		//ProbabilityFunction returns functions::ProbabilityFunction:
-		//	ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution |
-		//	ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution |
-		//ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_0() { return cProbabilityMassFunctionParserRuleCall_0; }
-
-		//ProbabilityDensityFunction_Impl
-		public RuleCall getProbabilityDensityFunction_ImplParserRuleCall_1() { return cProbabilityDensityFunction_ImplParserRuleCall_1; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_2() { return cBoxedPDFParserRuleCall_2; }
-
-		//ContinuousPDF_Impl
-		public RuleCall getContinuousPDF_ImplParserRuleCall_3() { return cContinuousPDF_ImplParserRuleCall_3; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_4() { return cNormalDistributionParserRuleCall_4; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_5() { return cExponentialDistributionParserRuleCall_5; }
-	}
-
-	public class EStringElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//EString returns ecore::EString:
-		//	STRING | ID;
-		public ParserRule getRule() { return rule; }
-
-		//STRING | ID
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//STRING
-		public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; }
-
-		//ID
-		public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; }
-	}
-
-	public class InterfaceElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Interface");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cInterfaceKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cParentInterfacesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cParentInterfacesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cParentInterfacesInterfaceCrossReference_5_2_0 = (CrossReference)cParentInterfacesAssignment_5_2.eContents().get(0);
-		private final RuleCall cParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1 = (RuleCall)cParentInterfacesInterfaceCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cParentInterfacesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cParentInterfacesInterfaceCrossReference_5_3_1_0 = (CrossReference)cParentInterfacesAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cParentInterfacesInterfaceCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cSignaturesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cSignaturesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cSignaturesSignatureParserRuleCall_6_2_0 = (RuleCall)cSignaturesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cSignaturesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cSignaturesSignatureParserRuleCall_6_3_1_0 = (RuleCall)cSignaturesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//Interface returns repository::Interface:
-		//	"Interface" id=EString "{" "name" name=EString ("parentInterfaces" "("
-		//	parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")?
-		//	("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString]
-		//("," parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-		//signatures+=Signature)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Interface"
-		public Keyword getInterfaceKeyword_0() { return cInterfaceKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
-		//parentInterfaces+=[repository::Interface|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"parentInterfaces"
-		public Keyword getParentInterfacesKeyword_5_0() { return cParentInterfacesKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//parentInterfaces+=[repository::Interface|EString]
-		public Assignment getParentInterfacesAssignment_5_2() { return cParentInterfacesAssignment_5_2; }
-
-		//[repository::Interface|EString]
-		public CrossReference getParentInterfacesInterfaceCrossReference_5_2_0() { return cParentInterfacesInterfaceCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1() { return cParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1; }
-
-		//("," parentInterfaces+=[repository::Interface|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//parentInterfaces+=[repository::Interface|EString]
-		public Assignment getParentInterfacesAssignment_5_3_1() { return cParentInterfacesAssignment_5_3_1; }
-
-		//[repository::Interface|EString]
-		public CrossReference getParentInterfacesInterfaceCrossReference_5_3_1_0() { return cParentInterfacesInterfaceCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1() { return cParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"signatures"
-		public Keyword getSignaturesKeyword_6_0() { return cSignaturesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//signatures+=Signature
-		public Assignment getSignaturesAssignment_6_2() { return cSignaturesAssignment_6_2; }
-
-		//Signature
-		public RuleCall getSignaturesSignatureParserRuleCall_6_2_0() { return cSignaturesSignatureParserRuleCall_6_2_0; }
-
-		//("," signatures+=Signature)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//signatures+=Signature
-		public Assignment getSignaturesAssignment_6_3_1() { return cSignaturesAssignment_6_3_1; }
-
-		//Signature
-		public RuleCall getSignaturesSignatureParserRuleCall_6_3_1_0() { return cSignaturesSignatureParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class RepositoryComponent_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepositoryComponent_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cRepositoryComponentKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1);
-		private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0);
-		private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3);
-		private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0);
-		private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0);
-		private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3);
-		private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
-		
-		//RepositoryComponent_Impl returns repository::RepositoryComponent:
-		//	"RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"RepositoryComponent"
-		public Keyword getRepositoryComponentKeyword_0() { return cRepositoryComponentKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"relationship"
-		public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; }
-
-		//("," relationship+=[Relationship|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"providedRoles"
-		public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; }
-
-		//("," providedRoles+=ProvidedRole)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"blackBoxBehavior"
-		public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; }
-
-		//("," blackBoxBehavior+=BlackBoxBehavior)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-		public Group getGroup_8() { return cGroup_8; }
-
-		//"requiredRoles"
-		public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; }
-
-		//("," requiredRoles+=RequiredRole)*
-		public Group getGroup_8_3() { return cGroup_8_3; }
-
-		//","
-		public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; }
-
-		//("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-		public Group getGroup_9() { return cGroup_9; }
-
-		//"coarseGrainedBehavior"
-		public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; }
-
-		//("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-		public Group getGroup_9_3() { return cGroup_9_3; }
-
-		//","
-		public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
-	}
-
-	public class CollectionDataTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CollectionDataType");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCollectionDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cInnerTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cInnerTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cInnerTypeDataTypeCrossReference_6_0 = (CrossReference)cInnerTypeAssignment_6.eContents().get(0);
-		private final RuleCall cInnerTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cInnerTypeDataTypeCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//CollectionDataType returns repository::CollectionDataType:
-		//	"CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CollectionDataType"
-		public Keyword getCollectionDataTypeKeyword_0() { return cCollectionDataTypeKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"innerType"
-		public Keyword getInnerTypeKeyword_5() { return cInnerTypeKeyword_5; }
-
-		//innerType=[repository::DataType|EString]
-		public Assignment getInnerTypeAssignment_6() { return cInnerTypeAssignment_6; }
-
-		//[repository::DataType|EString]
-		public CrossReference getInnerTypeDataTypeCrossReference_6_0() { return cInnerTypeDataTypeCrossReference_6_0; }
-
-		//EString
-		public RuleCall getInnerTypeDataTypeEStringParserRuleCall_6_0_1() { return cInnerTypeDataTypeEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class CompositeDataTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompositeDataType");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCompositeDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cParentTypesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cParentTypesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cParentTypesCompositeDataTypeCrossReference_5_2_0 = (CrossReference)cParentTypesAssignment_5_2.eContents().get(0);
-		private final RuleCall cParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1 = (RuleCall)cParentTypesCompositeDataTypeCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cParentTypesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cParentTypesCompositeDataTypeCrossReference_5_3_1_0 = (CrossReference)cParentTypesAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cParentTypesCompositeDataTypeCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cInnerDeclarationsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cInnerDeclarationsAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0 = (RuleCall)cInnerDeclarationsAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cInnerDeclarationsAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0 = (RuleCall)cInnerDeclarationsAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//CompositeDataType returns repository::CompositeDataType:
-		//	"CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "("
-		//	parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")?
-		//	("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "("
-		//parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")?
-		//("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CompositeDataType"
-		public Keyword getCompositeDataTypeKeyword_0() { return cCompositeDataTypeKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("parentTypes" "(" parentTypes+=[repository::CompositeDataType|EString] (","
-		//parentTypes+=[repository::CompositeDataType|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"parentTypes"
-		public Keyword getParentTypesKeyword_5_0() { return cParentTypesKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//parentTypes+=[repository::CompositeDataType|EString]
-		public Assignment getParentTypesAssignment_5_2() { return cParentTypesAssignment_5_2; }
-
-		//[repository::CompositeDataType|EString]
-		public CrossReference getParentTypesCompositeDataTypeCrossReference_5_2_0() { return cParentTypesCompositeDataTypeCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1() { return cParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1; }
-
-		//("," parentTypes+=[repository::CompositeDataType|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//parentTypes+=[repository::CompositeDataType|EString]
-		public Assignment getParentTypesAssignment_5_3_1() { return cParentTypesAssignment_5_3_1; }
-
-		//[repository::CompositeDataType|EString]
-		public CrossReference getParentTypesCompositeDataTypeCrossReference_5_3_1_0() { return cParentTypesCompositeDataTypeCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1() { return cParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"innerDeclarations"
-		public Keyword getInnerDeclarationsKeyword_6_0() { return cInnerDeclarationsKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//innerDeclarations+=InnerDeclaration
-		public Assignment getInnerDeclarationsAssignment_6_2() { return cInnerDeclarationsAssignment_6_2; }
-
-		//InnerDeclaration
-		public RuleCall getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0() { return cInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0; }
-
-		//("," innerDeclarations+=InnerDeclaration)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//innerDeclarations+=InnerDeclaration
-		public Assignment getInnerDeclarationsAssignment_6_3_1() { return cInnerDeclarationsAssignment_6_3_1; }
-
-		//InnerDeclaration
-		public RuleCall getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0() { return cInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class PrimitiveDataTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveDataType");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cPrimitiveDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cTypeKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cTypePrimitiveTypeEnumEnumRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//PrimitiveDataType returns repository::PrimitiveDataType:
-		//	"PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}";
-		public ParserRule getRule() { return rule; }
-
-		//"PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}"
-		public Group getGroup() { return cGroup; }
-
-		//"PrimitiveDataType"
-		public Keyword getPrimitiveDataTypeKeyword_0() { return cPrimitiveDataTypeKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"type"
-		public Keyword getTypeKeyword_2() { return cTypeKeyword_2; }
-
-		//type=PrimitiveTypeEnum
-		public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
-
-		//PrimitiveTypeEnum
-		public RuleCall getTypePrimitiveTypeEnumEnumRuleCall_3_0() { return cTypePrimitiveTypeEnumEnumRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class InnerDeclarationElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InnerDeclaration");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cInnerDeclarationKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cDataTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cDataTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cDataTypeDataTypeCrossReference_6_0 = (CrossReference)cDataTypeAssignment_6.eContents().get(0);
-		private final RuleCall cDataTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cDataTypeDataTypeCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//InnerDeclaration returns repository::InnerDeclaration:
-		//	"InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"InnerDeclaration"
-		public Keyword getInnerDeclarationKeyword_0() { return cInnerDeclarationKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"dataType"
-		public Keyword getDataTypeKeyword_5() { return cDataTypeKeyword_5; }
-
-		//dataType=[repository::DataType|EString]
-		public Assignment getDataTypeAssignment_6() { return cDataTypeAssignment_6; }
-
-		//[repository::DataType|EString]
-		public CrossReference getDataTypeDataTypeCrossReference_6_0() { return cDataTypeDataTypeCrossReference_6_0; }
-
-		//EString
-		public RuleCall getDataTypeDataTypeEStringParserRuleCall_6_0_1() { return cDataTypeDataTypeEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class SignatureElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Signature");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cSignatureKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cReturnTypeKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cReturnTypeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final CrossReference cReturnTypeDataTypeCrossReference_5_1_0 = (CrossReference)cReturnTypeAssignment_5_1.eContents().get(0);
-		private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_5_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_5_1_0.eContents().get(1);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cParametersKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cParametersAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cParametersParameterParserRuleCall_6_2_0 = (RuleCall)cParametersAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cParametersAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cParametersParameterParserRuleCall_6_3_1_0 = (RuleCall)cParametersAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//Signature returns repository::Signature:
-		//	"Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters"
-		//	"{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters"
-		//"{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Signature"
-		public Keyword getSignatureKeyword_0() { return cSignatureKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("returnType" returnType=[repository::DataType|EString])?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"returnType"
-		public Keyword getReturnTypeKeyword_5_0() { return cReturnTypeKeyword_5_0; }
-
-		//returnType=[repository::DataType|EString]
-		public Assignment getReturnTypeAssignment_5_1() { return cReturnTypeAssignment_5_1; }
-
-		//[repository::DataType|EString]
-		public CrossReference getReturnTypeDataTypeCrossReference_5_1_0() { return cReturnTypeDataTypeCrossReference_5_1_0; }
-
-		//EString
-		public RuleCall getReturnTypeDataTypeEStringParserRuleCall_5_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_5_1_0_1; }
-
-		//("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"parameters"
-		public Keyword getParametersKeyword_6_0() { return cParametersKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//parameters+=Parameter
-		public Assignment getParametersAssignment_6_2() { return cParametersAssignment_6_2; }
-
-		//Parameter
-		public RuleCall getParametersParameterParserRuleCall_6_2_0() { return cParametersParameterParserRuleCall_6_2_0; }
-
-		//("," parameters+=Parameter)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//parameters+=Parameter
-		public Assignment getParametersAssignment_6_3_1() { return cParametersAssignment_6_3_1; }
-
-		//Parameter
-		public RuleCall getParametersParameterParserRuleCall_6_3_1_0() { return cParametersParameterParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class ParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Parameter");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cModifierKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cModifierAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cModifierParameterModifierEnumRuleCall_4_0 = (RuleCall)cModifierAssignment_4.eContents().get(0);
-		private final Keyword cDataTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cDataTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cDataTypeDataTypeCrossReference_6_0 = (CrossReference)cDataTypeAssignment_6.eContents().get(0);
-		private final RuleCall cDataTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cDataTypeDataTypeCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//Parameter returns repository::Parameter:
-		//	"Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString]
-		//	"}";
-		public ParserRule getRule() { return rule; }
-
-		//"Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString]
-		//"}"
-		public Group getGroup() { return cGroup; }
-
-		//"Parameter"
-		public Keyword getParameterKeyword_0() { return cParameterKeyword_0; }
-
-		//name=EString
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"modifier"
-		public Keyword getModifierKeyword_3() { return cModifierKeyword_3; }
-
-		//modifier=ParameterModifier
-		public Assignment getModifierAssignment_4() { return cModifierAssignment_4; }
-
-		//ParameterModifier
-		public RuleCall getModifierParameterModifierEnumRuleCall_4_0() { return cModifierParameterModifierEnumRuleCall_4_0; }
-
-		//"dataType"
-		public Keyword getDataTypeKeyword_5() { return cDataTypeKeyword_5; }
-
-		//dataType=[repository::DataType|EString]
-		public Assignment getDataTypeAssignment_6() { return cDataTypeAssignment_6; }
-
-		//[repository::DataType|EString]
-		public CrossReference getDataTypeDataTypeCrossReference_6_0() { return cDataTypeDataTypeCrossReference_6_0; }
-
-		//EString
-		public RuleCall getDataTypeDataTypeEStringParserRuleCall_6_0_1() { return cDataTypeDataTypeEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class ProvidedRoleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProvidedRole");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cProvidedRoleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cInterfaceKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cInterfaceAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cInterfaceInterfaceCrossReference_6_0 = (CrossReference)cInterfaceAssignment_6.eContents().get(0);
-		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_6_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//ProvidedRole returns repository::ProvidedRole:
-		//	"ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ProvidedRole"
-		public Keyword getProvidedRoleKeyword_0() { return cProvidedRoleKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"interface"
-		public Keyword getInterfaceKeyword_5() { return cInterfaceKeyword_5; }
-
-		//interface=[repository::Interface|EString]
-		public Assignment getInterfaceAssignment_6() { return cInterfaceAssignment_6; }
-
-		//[repository::Interface|EString]
-		public CrossReference getInterfaceInterfaceCrossReference_6_0() { return cInterfaceInterfaceCrossReference_6_0; }
-
-		//EString
-		public RuleCall getInterfaceInterfaceEStringParserRuleCall_6_0_1() { return cInterfaceInterfaceEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class BlackBoxBehaviorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BlackBoxBehavior");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBlackBoxBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0);
-		private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1);
-		private final Keyword cDescribedEntityKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescribedEntityAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final CrossReference cDescribedEntityInterfaceProvidingEntityCrossReference_4_0 = (CrossReference)cDescribedEntityAssignment_4.eContents().get(0);
-		private final RuleCall cDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1 = (RuleCall)cDescribedEntityInterfaceProvidingEntityCrossReference_4_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cResponseTimeSpecificationKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Assignment cResponseTimeSpecificationAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
-		private final RuleCall cResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0 = (RuleCall)cResponseTimeSpecificationAssignment_6_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//BlackBoxBehavior returns servicebehavior::BlackBoxBehavior:
-		//	"BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-		//	describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{"
-		//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-		//	("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-		//describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{"
-		//influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-		//("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BlackBoxBehavior"
-		public Keyword getBlackBoxBehaviorKeyword_0() { return cBlackBoxBehaviorKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("describedSignature" describedSignature=[repository::Signature|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"describedSignature"
-		public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; }
-
-		//describedSignature=[repository::Signature|EString]
-		public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; }
-
-		//[repository::Signature|EString]
-		public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; }
-
-		//"describedEntity"
-		public Keyword getDescribedEntityKeyword_3() { return cDescribedEntityKeyword_3; }
-
-		//describedEntity=[repository::InterfaceProvidingEntity|EString]
-		public Assignment getDescribedEntityAssignment_4() { return cDescribedEntityAssignment_4; }
-
-		//[repository::InterfaceProvidingEntity|EString]
-		public CrossReference getDescribedEntityInterfaceProvidingEntityCrossReference_4_0() { return cDescribedEntityInterfaceProvidingEntityCrossReference_4_0; }
-
-		//EString
-		public RuleCall getDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1() { return cDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1; }
-
-		//("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-		//"}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"influencingParameter"
-		public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; }
-
-		//("," influencingParameter+=InfluencingParameter)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"responseTimeSpecification"
-		public Keyword getResponseTimeSpecificationKeyword_6_0() { return cResponseTimeSpecificationKeyword_6_0; }
-
-		//responseTimeSpecification=ResponseTimeSpecification
-		public Assignment getResponseTimeSpecificationAssignment_6_1() { return cResponseTimeSpecificationAssignment_6_1; }
-
-		//ResponseTimeSpecification
-		public RuleCall getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0() { return cResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class RequiredRoleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RequiredRole");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cRequiredRoleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cInterfaceKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cInterfaceAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cInterfaceInterfaceCrossReference_6_0 = (CrossReference)cInterfaceAssignment_6.eContents().get(0);
-		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_6_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//RequiredRole returns repository::RequiredRole:
-		//	"RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"RequiredRole"
-		public Keyword getRequiredRoleKeyword_0() { return cRequiredRoleKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"interface"
-		public Keyword getInterfaceKeyword_5() { return cInterfaceKeyword_5; }
-
-		//interface=[repository::Interface|EString]
-		public Assignment getInterfaceAssignment_6() { return cInterfaceAssignment_6; }
-
-		//[repository::Interface|EString]
-		public CrossReference getInterfaceInterfaceCrossReference_6_0() { return cInterfaceInterfaceCrossReference_6_0; }
-
-		//EString
-		public RuleCall getInterfaceInterfaceEStringParserRuleCall_6_0_1() { return cInterfaceInterfaceEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class CoarseGrainedBehaviorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CoarseGrainedBehavior");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCoarseGrainedBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0);
-		private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1);
-		private final Keyword cDescribedEntityKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescribedEntityAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final CrossReference cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0 = (CrossReference)cDescribedEntityAssignment_4.eContents().get(0);
-		private final RuleCall cDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1 = (RuleCall)cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cExternalCallFrequencyKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cExternalCallFrequencyAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0 = (RuleCall)cExternalCallFrequencyAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cExternalCallFrequencyAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0 = (RuleCall)cExternalCallFrequencyAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cResourceDemandSpecificationKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cResourceDemandSpecificationAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0 = (RuleCall)cResourceDemandSpecificationAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cResourceDemandSpecificationAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0 = (RuleCall)cResourceDemandSpecificationAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior:
-		//	"CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])?
-		//	"describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{"
-		//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-		//	("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-		//	externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{"
-		//	resourceDemandSpecification+=ResourceDemandSpecification (","
-		//	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-		//describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{"
-		//influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-		//("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-		//externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{"
-		//resourceDemandSpecification+=ResourceDemandSpecification (","
-		//resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CoarseGrainedBehavior"
-		public Keyword getCoarseGrainedBehaviorKeyword_0() { return cCoarseGrainedBehaviorKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("describedSignature" describedSignature=[repository::Signature|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"describedSignature"
-		public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; }
-
-		//describedSignature=[repository::Signature|EString]
-		public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; }
-
-		//[repository::Signature|EString]
-		public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; }
-
-		//"describedEntity"
-		public Keyword getDescribedEntityKeyword_3() { return cDescribedEntityKeyword_3; }
-
-		//describedEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		public Assignment getDescribedEntityAssignment_4() { return cDescribedEntityAssignment_4; }
-
-		//[repository::InterfaceProvidingRequiringEntity|EString]
-		public CrossReference getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0() { return cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0; }
-
-		//EString
-		public RuleCall getDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1() { return cDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1; }
-
-		//("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-		//"}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"influencingParameter"
-		public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; }
-
-		//("," influencingParameter+=InfluencingParameter)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-		//externalCallFrequency+=ExternalCallFrequency)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"externalCallFrequency"
-		public Keyword getExternalCallFrequencyKeyword_6_0() { return cExternalCallFrequencyKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//externalCallFrequency+=ExternalCallFrequency
-		public Assignment getExternalCallFrequencyAssignment_6_2() { return cExternalCallFrequencyAssignment_6_2; }
-
-		//ExternalCallFrequency
-		public RuleCall getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0() { return cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0; }
-
-		//("," externalCallFrequency+=ExternalCallFrequency)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//externalCallFrequency+=ExternalCallFrequency
-		public Assignment getExternalCallFrequencyAssignment_6_3_1() { return cExternalCallFrequencyAssignment_6_3_1; }
-
-		//ExternalCallFrequency
-		public RuleCall getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0() { return cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification (","
-		//resourceDemandSpecification+=ResourceDemandSpecification)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"resourceDemandSpecification"
-		public Keyword getResourceDemandSpecificationKeyword_7_0() { return cResourceDemandSpecificationKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//resourceDemandSpecification+=ResourceDemandSpecification
-		public Assignment getResourceDemandSpecificationAssignment_7_2() { return cResourceDemandSpecificationAssignment_7_2; }
-
-		//ResourceDemandSpecification
-		public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0; }
-
-		//("," resourceDemandSpecification+=ResourceDemandSpecification)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//resourceDemandSpecification+=ResourceDemandSpecification
-		public Assignment getResourceDemandSpecificationAssignment_7_3_1() { return cResourceDemandSpecificationAssignment_7_3_1; }
-
-		//ResourceDemandSpecification
-		public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class BasicComponentElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BasicComponent");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBasicComponentKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1);
-		private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0);
-		private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3);
-		private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0);
-		private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0);
-		private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3);
-		private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4);
-		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
-		private final Keyword cPassiveResourcesKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1);
-		private final Assignment cPassiveResourcesAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2);
-		private final RuleCall cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0 = (RuleCall)cPassiveResourcesAssignment_10_2.eContents().get(0);
-		private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3);
-		private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0);
-		private final Assignment cPassiveResourcesAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1);
-		private final RuleCall cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0 = (RuleCall)cPassiveResourcesAssignment_10_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cFineGrainedBehaviorKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1);
-		private final Assignment cFineGrainedBehaviorAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2);
-		private final RuleCall cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0 = (RuleCall)cFineGrainedBehaviorAssignment_11_2.eContents().get(0);
-		private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3);
-		private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0);
-		private final Assignment cFineGrainedBehaviorAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1);
-		private final RuleCall cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0 = (RuleCall)cFineGrainedBehaviorAssignment_11_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12);
-		
-		//BasicComponent returns repository::BasicComponent:
-		//	"BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{"
-		//	passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")?
-		//	("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-		//	"}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{"
-		//passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")?
-		//("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-		//"}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BasicComponent"
-		public Keyword getBasicComponentKeyword_0() { return cBasicComponentKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"relationship"
-		public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; }
-
-		//("," relationship+=[Relationship|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"providedRoles"
-		public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; }
-
-		//("," providedRoles+=ProvidedRole)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"blackBoxBehavior"
-		public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; }
-
-		//("," blackBoxBehavior+=BlackBoxBehavior)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-		public Group getGroup_8() { return cGroup_8; }
-
-		//"requiredRoles"
-		public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; }
-
-		//("," requiredRoles+=RequiredRole)*
-		public Group getGroup_8_3() { return cGroup_8_3; }
-
-		//","
-		public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; }
-
-		//("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-		public Group getGroup_9() { return cGroup_9; }
-
-		//"coarseGrainedBehavior"
-		public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; }
-
-		//("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-		public Group getGroup_9_3() { return cGroup_9_3; }
-
-		//","
-		public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; }
-
-		//("passiveResources" "{" passiveResources+=PassiveResourceSpecification (","
-		//passiveResources+=PassiveResourceSpecification)* "}")?
-		public Group getGroup_10() { return cGroup_10; }
-
-		//"passiveResources"
-		public Keyword getPassiveResourcesKeyword_10_0() { return cPassiveResourcesKeyword_10_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; }
-
-		//passiveResources+=PassiveResourceSpecification
-		public Assignment getPassiveResourcesAssignment_10_2() { return cPassiveResourcesAssignment_10_2; }
-
-		//PassiveResourceSpecification
-		public RuleCall getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0() { return cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0; }
-
-		//("," passiveResources+=PassiveResourceSpecification)*
-		public Group getGroup_10_3() { return cGroup_10_3; }
-
-		//","
-		public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; }
-
-		//passiveResources+=PassiveResourceSpecification
-		public Assignment getPassiveResourcesAssignment_10_3_1() { return cPassiveResourcesAssignment_10_3_1; }
-
-		//PassiveResourceSpecification
-		public RuleCall getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0() { return cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; }
-
-		//("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-		//"}")?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"fineGrainedBehavior"
-		public Keyword getFineGrainedBehaviorKeyword_11_0() { return cFineGrainedBehaviorKeyword_11_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; }
-
-		//fineGrainedBehavior+=FineGrainedBehavior
-		public Assignment getFineGrainedBehaviorAssignment_11_2() { return cFineGrainedBehaviorAssignment_11_2; }
-
-		//FineGrainedBehavior
-		public RuleCall getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0() { return cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0; }
-
-		//("," fineGrainedBehavior+=FineGrainedBehavior)*
-		public Group getGroup_11_3() { return cGroup_11_3; }
-
-		//","
-		public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; }
-
-		//fineGrainedBehavior+=FineGrainedBehavior
-		public Assignment getFineGrainedBehaviorAssignment_11_3_1() { return cFineGrainedBehaviorAssignment_11_3_1; }
-
-		//FineGrainedBehavior
-		public RuleCall getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0() { return cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
-	}
-
-	public class CompositeComponentElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompositeComponent");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCompositeComponentKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1);
-		private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0);
-		private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3);
-		private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0);
-		private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0);
-		private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3);
-		private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4);
-		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
-		private final Keyword cAssemblyContextsKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1);
-		private final Assignment cAssemblyContextsAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2);
-		private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_2_0 = (RuleCall)cAssemblyContextsAssignment_10_2.eContents().get(0);
-		private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3);
-		private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0);
-		private final Assignment cAssemblyContextsAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1);
-		private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0 = (RuleCall)cAssemblyContextsAssignment_10_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cAssemblyConnectorsKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1);
-		private final Assignment cAssemblyConnectorsAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2);
-		private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0 = (RuleCall)cAssemblyConnectorsAssignment_11_2.eContents().get(0);
-		private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3);
-		private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0);
-		private final Assignment cAssemblyConnectorsAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1);
-		private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0 = (RuleCall)cAssemblyConnectorsAssignment_11_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4);
-		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cProvidedDelegationConnectorsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_12_1 = (Keyword)cGroup_12.eContents().get(1);
-		private final Assignment cProvidedDelegationConnectorsAssignment_12_2 = (Assignment)cGroup_12.eContents().get(2);
-		private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_2.eContents().get(0);
-		private final Group cGroup_12_3 = (Group)cGroup_12.eContents().get(3);
-		private final Keyword cCommaKeyword_12_3_0 = (Keyword)cGroup_12_3.eContents().get(0);
-		private final Assignment cProvidedDelegationConnectorsAssignment_12_3_1 = (Assignment)cGroup_12_3.eContents().get(1);
-		private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_12_4 = (Keyword)cGroup_12.eContents().get(4);
-		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
-		private final Keyword cRequiredDelegationConnectorsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_13_1 = (Keyword)cGroup_13.eContents().get(1);
-		private final Assignment cRequiredDelegationConnectorsAssignment_13_2 = (Assignment)cGroup_13.eContents().get(2);
-		private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_2.eContents().get(0);
-		private final Group cGroup_13_3 = (Group)cGroup_13.eContents().get(3);
-		private final Keyword cCommaKeyword_13_3_0 = (Keyword)cGroup_13_3.eContents().get(0);
-		private final Assignment cRequiredDelegationConnectorsAssignment_13_3_1 = (Assignment)cGroup_13_3.eContents().get(1);
-		private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_13_4 = (Keyword)cGroup_13.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_14 = (Keyword)cGroup.eContents().get(14);
-		
-		//CompositeComponent returns repository::CompositeComponent:
-		//	"CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-		//	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-		//	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-		//	providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-		//	requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-		//assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-		//assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-		//providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-		//requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CompositeComponent"
-		public Keyword getCompositeComponentKeyword_0() { return cCompositeComponentKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"relationship"
-		public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; }
-
-		//("," relationship+=[Relationship|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"providedRoles"
-		public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; }
-
-		//("," providedRoles+=ProvidedRole)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"blackBoxBehavior"
-		public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; }
-
-		//("," blackBoxBehavior+=BlackBoxBehavior)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-		public Group getGroup_8() { return cGroup_8; }
-
-		//"requiredRoles"
-		public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; }
-
-		//("," requiredRoles+=RequiredRole)*
-		public Group getGroup_8_3() { return cGroup_8_3; }
-
-		//","
-		public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; }
-
-		//("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-		public Group getGroup_9() { return cGroup_9; }
-
-		//"coarseGrainedBehavior"
-		public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; }
-
-		//("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-		public Group getGroup_9_3() { return cGroup_9_3; }
-
-		//","
-		public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; }
-
-		//("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")?
-		public Group getGroup_10() { return cGroup_10; }
-
-		//"assemblyContexts"
-		public Keyword getAssemblyContextsKeyword_10_0() { return cAssemblyContextsKeyword_10_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; }
-
-		//assemblyContexts+=AssemblyContext
-		public Assignment getAssemblyContextsAssignment_10_2() { return cAssemblyContextsAssignment_10_2; }
-
-		//AssemblyContext
-		public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_2_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_2_0; }
-
-		//("," assemblyContexts+=AssemblyContext)*
-		public Group getGroup_10_3() { return cGroup_10_3; }
-
-		//","
-		public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; }
-
-		//assemblyContexts+=AssemblyContext
-		public Assignment getAssemblyContextsAssignment_10_3_1() { return cAssemblyContextsAssignment_10_3_1; }
-
-		//AssemblyContext
-		public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; }
-
-		//("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"assemblyConnectors"
-		public Keyword getAssemblyConnectorsKeyword_11_0() { return cAssemblyConnectorsKeyword_11_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; }
-
-		//assemblyConnectors+=AssemblyConnector
-		public Assignment getAssemblyConnectorsAssignment_11_2() { return cAssemblyConnectorsAssignment_11_2; }
-
-		//AssemblyConnector
-		public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0; }
-
-		//("," assemblyConnectors+=AssemblyConnector)*
-		public Group getGroup_11_3() { return cGroup_11_3; }
-
-		//","
-		public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; }
-
-		//assemblyConnectors+=AssemblyConnector
-		public Assignment getAssemblyConnectorsAssignment_11_3_1() { return cAssemblyConnectorsAssignment_11_3_1; }
-
-		//AssemblyConnector
-		public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; }
-
-		//("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//providedDelegationConnectors+=ProvidedDelegationConnector)* "}")?
-		public Group getGroup_12() { return cGroup_12; }
-
-		//"providedDelegationConnectors"
-		public Keyword getProvidedDelegationConnectorsKeyword_12_0() { return cProvidedDelegationConnectorsKeyword_12_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_12_1() { return cLeftCurlyBracketKeyword_12_1; }
-
-		//providedDelegationConnectors+=ProvidedDelegationConnector
-		public Assignment getProvidedDelegationConnectorsAssignment_12_2() { return cProvidedDelegationConnectorsAssignment_12_2; }
-
-		//ProvidedDelegationConnector
-		public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0; }
-
-		//("," providedDelegationConnectors+=ProvidedDelegationConnector)*
-		public Group getGroup_12_3() { return cGroup_12_3; }
-
-		//","
-		public Keyword getCommaKeyword_12_3_0() { return cCommaKeyword_12_3_0; }
-
-		//providedDelegationConnectors+=ProvidedDelegationConnector
-		public Assignment getProvidedDelegationConnectorsAssignment_12_3_1() { return cProvidedDelegationConnectorsAssignment_12_3_1; }
-
-		//ProvidedDelegationConnector
-		public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_12_4() { return cRightCurlyBracketKeyword_12_4; }
-
-		//("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//requiredDelegationConnectors+=RequiredDelegationConnector)* "}")?
-		public Group getGroup_13() { return cGroup_13; }
-
-		//"requiredDelegationConnectors"
-		public Keyword getRequiredDelegationConnectorsKeyword_13_0() { return cRequiredDelegationConnectorsKeyword_13_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_13_1() { return cLeftCurlyBracketKeyword_13_1; }
-
-		//requiredDelegationConnectors+=RequiredDelegationConnector
-		public Assignment getRequiredDelegationConnectorsAssignment_13_2() { return cRequiredDelegationConnectorsAssignment_13_2; }
-
-		//RequiredDelegationConnector
-		public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0; }
-
-		//("," requiredDelegationConnectors+=RequiredDelegationConnector)*
-		public Group getGroup_13_3() { return cGroup_13_3; }
-
-		//","
-		public Keyword getCommaKeyword_13_3_0() { return cCommaKeyword_13_3_0; }
-
-		//requiredDelegationConnectors+=RequiredDelegationConnector
-		public Assignment getRequiredDelegationConnectorsAssignment_13_3_1() { return cRequiredDelegationConnectorsAssignment_13_3_1; }
-
-		//RequiredDelegationConnector
-		public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_13_4() { return cRightCurlyBracketKeyword_13_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; }
-	}
-
-	public class SubSystemElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystem");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cSubSystemKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0);
-		private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1);
-		private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0);
-		private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3);
-		private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0);
-		private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1);
-		private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0);
-		private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3);
-		private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0);
-		private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1);
-		private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4);
-		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
-		private final Keyword cAssemblyContextsKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1);
-		private final Assignment cAssemblyContextsAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2);
-		private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_2_0 = (RuleCall)cAssemblyContextsAssignment_10_2.eContents().get(0);
-		private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3);
-		private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0);
-		private final Assignment cAssemblyContextsAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1);
-		private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0 = (RuleCall)cAssemblyContextsAssignment_10_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cAssemblyConnectorsKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1);
-		private final Assignment cAssemblyConnectorsAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2);
-		private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0 = (RuleCall)cAssemblyConnectorsAssignment_11_2.eContents().get(0);
-		private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3);
-		private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0);
-		private final Assignment cAssemblyConnectorsAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1);
-		private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0 = (RuleCall)cAssemblyConnectorsAssignment_11_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4);
-		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cProvidedDelegationConnectorsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_12_1 = (Keyword)cGroup_12.eContents().get(1);
-		private final Assignment cProvidedDelegationConnectorsAssignment_12_2 = (Assignment)cGroup_12.eContents().get(2);
-		private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_2.eContents().get(0);
-		private final Group cGroup_12_3 = (Group)cGroup_12.eContents().get(3);
-		private final Keyword cCommaKeyword_12_3_0 = (Keyword)cGroup_12_3.eContents().get(0);
-		private final Assignment cProvidedDelegationConnectorsAssignment_12_3_1 = (Assignment)cGroup_12_3.eContents().get(1);
-		private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_12_4 = (Keyword)cGroup_12.eContents().get(4);
-		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
-		private final Keyword cRequiredDelegationConnectorsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_13_1 = (Keyword)cGroup_13.eContents().get(1);
-		private final Assignment cRequiredDelegationConnectorsAssignment_13_2 = (Assignment)cGroup_13.eContents().get(2);
-		private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_2.eContents().get(0);
-		private final Group cGroup_13_3 = (Group)cGroup_13.eContents().get(3);
-		private final Keyword cCommaKeyword_13_3_0 = (Keyword)cGroup_13_3.eContents().get(0);
-		private final Assignment cRequiredDelegationConnectorsAssignment_13_3_1 = (Assignment)cGroup_13_3.eContents().get(1);
-		private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_13_4 = (Keyword)cGroup_13.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_14 = (Keyword)cGroup.eContents().get(14);
-		
-		//SubSystem returns repository::SubSystem:
-		//	"SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-		//	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-		//	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-		//	providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-		//	requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-		//relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-		//providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-		//blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-		//requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-		//assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-		//assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-		//providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-		//requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"SubSystem"
-		public Keyword getSubSystemKeyword_0() { return cSubSystemKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"relationship"
-		public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; }
-
-		//("," relationship+=[Relationship|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//relationship+=[Relationship|EString]
-		public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; }
-
-		//[Relationship|EString]
-		public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; }
-
-		//EString
-		public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
-
-		//("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"providedRoles"
-		public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; }
-
-		//("," providedRoles+=ProvidedRole)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//providedRoles+=ProvidedRole
-		public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; }
-
-		//ProvidedRole
-		public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"blackBoxBehavior"
-		public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; }
-
-		//("," blackBoxBehavior+=BlackBoxBehavior)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//blackBoxBehavior+=BlackBoxBehavior
-		public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; }
-
-		//BlackBoxBehavior
-		public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")?
-		public Group getGroup_8() { return cGroup_8; }
-
-		//"requiredRoles"
-		public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; }
-
-		//("," requiredRoles+=RequiredRole)*
-		public Group getGroup_8_3() { return cGroup_8_3; }
-
-		//","
-		public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; }
-
-		//requiredRoles+=RequiredRole
-		public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; }
-
-		//RequiredRole
-		public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; }
-
-		//("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-		//coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")?
-		public Group getGroup_9() { return cGroup_9; }
-
-		//"coarseGrainedBehavior"
-		public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; }
-
-		//("," coarseGrainedBehavior+=CoarseGrainedBehavior)*
-		public Group getGroup_9_3() { return cGroup_9_3; }
-
-		//","
-		public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; }
-
-		//coarseGrainedBehavior+=CoarseGrainedBehavior
-		public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; }
-
-		//CoarseGrainedBehavior
-		public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; }
-
-		//("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")?
-		public Group getGroup_10() { return cGroup_10; }
-
-		//"assemblyContexts"
-		public Keyword getAssemblyContextsKeyword_10_0() { return cAssemblyContextsKeyword_10_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; }
-
-		//assemblyContexts+=AssemblyContext
-		public Assignment getAssemblyContextsAssignment_10_2() { return cAssemblyContextsAssignment_10_2; }
-
-		//AssemblyContext
-		public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_2_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_2_0; }
-
-		//("," assemblyContexts+=AssemblyContext)*
-		public Group getGroup_10_3() { return cGroup_10_3; }
-
-		//","
-		public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; }
-
-		//assemblyContexts+=AssemblyContext
-		public Assignment getAssemblyContextsAssignment_10_3_1() { return cAssemblyContextsAssignment_10_3_1; }
-
-		//AssemblyContext
-		public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; }
-
-		//("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"assemblyConnectors"
-		public Keyword getAssemblyConnectorsKeyword_11_0() { return cAssemblyConnectorsKeyword_11_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; }
-
-		//assemblyConnectors+=AssemblyConnector
-		public Assignment getAssemblyConnectorsAssignment_11_2() { return cAssemblyConnectorsAssignment_11_2; }
-
-		//AssemblyConnector
-		public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0; }
-
-		//("," assemblyConnectors+=AssemblyConnector)*
-		public Group getGroup_11_3() { return cGroup_11_3; }
-
-		//","
-		public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; }
-
-		//assemblyConnectors+=AssemblyConnector
-		public Assignment getAssemblyConnectorsAssignment_11_3_1() { return cAssemblyConnectorsAssignment_11_3_1; }
-
-		//AssemblyConnector
-		public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; }
-
-		//("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector (","
-		//providedDelegationConnectors+=ProvidedDelegationConnector)* "}")?
-		public Group getGroup_12() { return cGroup_12; }
-
-		//"providedDelegationConnectors"
-		public Keyword getProvidedDelegationConnectorsKeyword_12_0() { return cProvidedDelegationConnectorsKeyword_12_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_12_1() { return cLeftCurlyBracketKeyword_12_1; }
-
-		//providedDelegationConnectors+=ProvidedDelegationConnector
-		public Assignment getProvidedDelegationConnectorsAssignment_12_2() { return cProvidedDelegationConnectorsAssignment_12_2; }
-
-		//ProvidedDelegationConnector
-		public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0; }
-
-		//("," providedDelegationConnectors+=ProvidedDelegationConnector)*
-		public Group getGroup_12_3() { return cGroup_12_3; }
-
-		//","
-		public Keyword getCommaKeyword_12_3_0() { return cCommaKeyword_12_3_0; }
-
-		//providedDelegationConnectors+=ProvidedDelegationConnector
-		public Assignment getProvidedDelegationConnectorsAssignment_12_3_1() { return cProvidedDelegationConnectorsAssignment_12_3_1; }
-
-		//ProvidedDelegationConnector
-		public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_12_4() { return cRightCurlyBracketKeyword_12_4; }
-
-		//("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector (","
-		//requiredDelegationConnectors+=RequiredDelegationConnector)* "}")?
-		public Group getGroup_13() { return cGroup_13; }
-
-		//"requiredDelegationConnectors"
-		public Keyword getRequiredDelegationConnectorsKeyword_13_0() { return cRequiredDelegationConnectorsKeyword_13_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_13_1() { return cLeftCurlyBracketKeyword_13_1; }
-
-		//requiredDelegationConnectors+=RequiredDelegationConnector
-		public Assignment getRequiredDelegationConnectorsAssignment_13_2() { return cRequiredDelegationConnectorsAssignment_13_2; }
-
-		//RequiredDelegationConnector
-		public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0; }
-
-		//("," requiredDelegationConnectors+=RequiredDelegationConnector)*
-		public Group getGroup_13_3() { return cGroup_13_3; }
-
-		//","
-		public Keyword getCommaKeyword_13_3_0() { return cCommaKeyword_13_3_0; }
-
-		//requiredDelegationConnectors+=RequiredDelegationConnector
-		public Assignment getRequiredDelegationConnectorsAssignment_13_3_1() { return cRequiredDelegationConnectorsAssignment_13_3_1; }
-
-		//RequiredDelegationConnector
-		public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_13_4() { return cRightCurlyBracketKeyword_13_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; }
-	}
-
-	public class InfluencingParameter_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencingParameter_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cInfluencingParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0);
-		private final Keyword cBehaviorKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cBehaviorAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_6_0 = (CrossReference)cBehaviorAssignment_6.eContents().get(0);
-		private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_6_0.eContents().get(1);
-		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cScopeKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
-		private final Assignment cScopeAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
-		private final RuleCall cScopeScopeParserRuleCall_7_2_0 = (RuleCall)cScopeAssignment_7_2.eContents().get(0);
-		private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3);
-		private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0);
-		private final Assignment cScopeAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1);
-		private final RuleCall cScopeScopeParserRuleCall_7_3_1_0 = (RuleCall)cScopeAssignment_7_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//InfluencingParameter_Impl returns InfluencingParameter:
-		//	"InfluencingParameter" name=EString "{" "description" description=EString "behavior"
-		//	behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-		//	"}";
-		public ParserRule getRule() { return rule; }
-
-		//"InfluencingParameter" name=EString "{" "description" description=EString "behavior"
-		//behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"InfluencingParameter"
-		public Keyword getInfluencingParameterKeyword_0() { return cInfluencingParameterKeyword_0; }
-
-		//name=EString
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"description"
-		public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; }
-
-		//description=EString
-		public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; }
-
-		//EString
-		public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; }
-
-		//"behavior"
-		public Keyword getBehaviorKeyword_5() { return cBehaviorKeyword_5; }
-
-		//behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public Assignment getBehaviorAssignment_6() { return cBehaviorAssignment_6; }
-
-		//[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_6_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_6_0; }
-
-		//EString
-		public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1; }
-
-		//("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-		public Group getGroup_7() { return cGroup_7; }
-
-		//"scope"
-		public Keyword getScopeKeyword_7_0() { return cScopeKeyword_7_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_7_2() { return cScopeAssignment_7_2; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_7_2_0() { return cScopeScopeParserRuleCall_7_2_0; }
-
-		//("," scope+=Scope)*
-		public Group getGroup_7_3() { return cGroup_7_3; }
-
-		//","
-		public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_7_3_1() { return cScopeAssignment_7_3_1; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_7_3_1_0() { return cScopeScopeParserRuleCall_7_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class ResponseTimeSpecificationElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ResponseTimeSpecification");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cResponseTimeSpecificationAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cResponseTimeSpecificationKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification:
-		//	{servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::ResponseTimeSpecification}
-		public Action getResponseTimeSpecificationAction_0() { return cResponseTimeSpecificationAction_0; }
-
-		//"ResponseTimeSpecification"
-		public Keyword getResponseTimeSpecificationKeyword_1() { return cResponseTimeSpecificationKeyword_1; }
-	}
-
-	public class ScopeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Scope");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cInterfaceProvidingRequiringEntityKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cInterfaceProvidingRequiringEntityAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cInterfaceProvidingRequiringEntityAssignment_3.eContents().get(0);
-		private final RuleCall cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//Scope:
-		//	"Scope" "{" "interfaceProvidingRequiringEntity"
-		//	interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Scope" "{" "interfaceProvidingRequiringEntity"
-		//interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Scope"
-		public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"interfaceProvidingRequiringEntity"
-		public Keyword getInterfaceProvidingRequiringEntityKeyword_2() { return cInterfaceProvidingRequiringEntityKeyword_2; }
-
-		//interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		public Assignment getInterfaceProvidingRequiringEntityAssignment_3() { return cInterfaceProvidingRequiringEntityAssignment_3; }
-
-		//[repository::InterfaceProvidingRequiringEntity|EString]
-		public CrossReference getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0; }
-
-		//EString
-		public RuleCall getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class ServiceInputParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceInputParameter");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cServiceInputParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0);
-		private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0);
-		private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0);
-		private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1);
-		private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0);
-		private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
-		private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0);
-		private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1);
-		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
-		private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0);
-		private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1);
-		private final Keyword cProvidedRoleKeyword_13 = (Keyword)cGroup.eContents().get(13);
-		private final Assignment cProvidedRoleAssignment_14 = (Assignment)cGroup.eContents().get(14);
-		private final CrossReference cProvidedRoleProvidedRoleCrossReference_14_0 = (CrossReference)cProvidedRoleAssignment_14.eContents().get(0);
-		private final RuleCall cProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1 = (RuleCall)cProvidedRoleProvidedRoleCrossReference_14_0.eContents().get(1);
-		private final Group cGroup_15 = (Group)cGroup.eContents().get(15);
-		private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1);
-		private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2);
-		private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0);
-		private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3);
-		private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0);
-		private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1);
-		private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16);
-		
-		//ServiceInputParameter:
-		//	"ServiceInputParameter" name=EString "{" "description" description=EString "characterization"
-		//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//	("returnType" returnType=[repository::DataType|EString])? "providedRole"
-		//	providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ServiceInputParameter" name=EString "{" "description" description=EString "characterization"
-		//characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//("returnType" returnType=[repository::DataType|EString])? "providedRole"
-		//providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ServiceInputParameter"
-		public Keyword getServiceInputParameterKeyword_0() { return cServiceInputParameterKeyword_0; }
-
-		//name=EString
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"description"
-		public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; }
-
-		//description=EString
-		public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; }
-
-		//EString
-		public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; }
-
-		//"characterization"
-		public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; }
-
-		//characterization=CharacterizationType
-		public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; }
-
-		//CharacterizationType
-		public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; }
-
-		//"behavior"
-		public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; }
-
-		//behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; }
-
-		//[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; }
-
-		//EString
-		public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; }
-
-		//"signature"
-		public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; }
-
-		//signature=[repository::Signature|EString]
-		public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; }
-
-		//[repository::Signature|EString]
-		public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; }
-
-		//EString
-		public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; }
-
-		//("parameter" parameter=[repository::Parameter|EString])?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"parameter"
-		public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; }
-
-		//parameter=[repository::Parameter|EString]
-		public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; }
-
-		//[repository::Parameter|EString]
-		public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; }
-
-		//EString
-		public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; }
-
-		//("returnType" returnType=[repository::DataType|EString])?
-		public Group getGroup_12() { return cGroup_12; }
-
-		//"returnType"
-		public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; }
-
-		//returnType=[repository::DataType|EString]
-		public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; }
-
-		//[repository::DataType|EString]
-		public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; }
-
-		//EString
-		public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; }
-
-		//"providedRole"
-		public Keyword getProvidedRoleKeyword_13() { return cProvidedRoleKeyword_13; }
-
-		//providedRole=[repository::ProvidedRole|EString]
-		public Assignment getProvidedRoleAssignment_14() { return cProvidedRoleAssignment_14; }
-
-		//[repository::ProvidedRole|EString]
-		public CrossReference getProvidedRoleProvidedRoleCrossReference_14_0() { return cProvidedRoleProvidedRoleCrossReference_14_0; }
-
-		//EString
-		public RuleCall getProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1() { return cProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1; }
-
-		//("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-		public Group getGroup_15() { return cGroup_15; }
-
-		//"scope"
-		public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; }
-
-		//("," scope+=Scope)*
-		public Group getGroup_15_3() { return cGroup_15_3; }
-
-		//","
-		public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; }
-	}
-
-	public class ExternalCallReturnParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallReturnParameter");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExternalCallReturnParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0);
-		private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0);
-		private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0);
-		private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1);
-		private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0);
-		private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
-		private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0);
-		private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1);
-		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
-		private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0);
-		private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1);
-		private final Keyword cExternalCallKeyword_13 = (Keyword)cGroup.eContents().get(13);
-		private final Assignment cExternalCallAssignment_14 = (Assignment)cGroup.eContents().get(14);
-		private final CrossReference cExternalCallExternalCallCrossReference_14_0 = (CrossReference)cExternalCallAssignment_14.eContents().get(0);
-		private final RuleCall cExternalCallExternalCallEStringParserRuleCall_14_0_1 = (RuleCall)cExternalCallExternalCallCrossReference_14_0.eContents().get(1);
-		private final Group cGroup_15 = (Group)cGroup.eContents().get(15);
-		private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1);
-		private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2);
-		private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0);
-		private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3);
-		private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0);
-		private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1);
-		private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16);
-		
-		//ExternalCallReturnParameter:
-		//	"ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization"
-		//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//	("returnType" returnType=[repository::DataType|EString])? "externalCall"
-		//	externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization"
-		//characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//("returnType" returnType=[repository::DataType|EString])? "externalCall"
-		//externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExternalCallReturnParameter"
-		public Keyword getExternalCallReturnParameterKeyword_0() { return cExternalCallReturnParameterKeyword_0; }
-
-		//name=EString
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"description"
-		public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; }
-
-		//description=EString
-		public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; }
-
-		//EString
-		public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; }
-
-		//"characterization"
-		public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; }
-
-		//characterization=CharacterizationType
-		public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; }
-
-		//CharacterizationType
-		public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; }
-
-		//"behavior"
-		public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; }
-
-		//behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; }
-
-		//[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; }
-
-		//EString
-		public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; }
-
-		//"signature"
-		public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; }
-
-		//signature=[repository::Signature|EString]
-		public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; }
-
-		//[repository::Signature|EString]
-		public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; }
-
-		//EString
-		public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; }
-
-		//("parameter" parameter=[repository::Parameter|EString])?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"parameter"
-		public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; }
-
-		//parameter=[repository::Parameter|EString]
-		public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; }
-
-		//[repository::Parameter|EString]
-		public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; }
-
-		//EString
-		public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; }
-
-		//("returnType" returnType=[repository::DataType|EString])?
-		public Group getGroup_12() { return cGroup_12; }
-
-		//"returnType"
-		public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; }
-
-		//returnType=[repository::DataType|EString]
-		public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; }
-
-		//[repository::DataType|EString]
-		public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; }
-
-		//EString
-		public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; }
-
-		//"externalCall"
-		public Keyword getExternalCallKeyword_13() { return cExternalCallKeyword_13; }
-
-		//externalCall=[servicebehavior::ExternalCall|EString]
-		public Assignment getExternalCallAssignment_14() { return cExternalCallAssignment_14; }
-
-		//[servicebehavior::ExternalCall|EString]
-		public CrossReference getExternalCallExternalCallCrossReference_14_0() { return cExternalCallExternalCallCrossReference_14_0; }
-
-		//EString
-		public RuleCall getExternalCallExternalCallEStringParserRuleCall_14_0_1() { return cExternalCallExternalCallEStringParserRuleCall_14_0_1; }
-
-		//("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-		public Group getGroup_15() { return cGroup_15; }
-
-		//"scope"
-		public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; }
-
-		//("," scope+=Scope)*
-		public Group getGroup_15_3() { return cGroup_15_3; }
-
-		//","
-		public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; }
-	}
-
-	public class ExternalCallParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallParameter");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExternalCallParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0);
-		private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0);
-		private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0);
-		private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1);
-		private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0);
-		private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1);
-		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
-		private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0);
-		private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1);
-		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
-		private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0);
-		private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1);
-		private final Keyword cExternallCallKeyword_13 = (Keyword)cGroup.eContents().get(13);
-		private final Assignment cExternallCallAssignment_14 = (Assignment)cGroup.eContents().get(14);
-		private final CrossReference cExternallCallExternalCallCrossReference_14_0 = (CrossReference)cExternallCallAssignment_14.eContents().get(0);
-		private final RuleCall cExternallCallExternalCallEStringParserRuleCall_14_0_1 = (RuleCall)cExternallCallExternalCallCrossReference_14_0.eContents().get(1);
-		private final Group cGroup_15 = (Group)cGroup.eContents().get(15);
-		private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1);
-		private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2);
-		private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0);
-		private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3);
-		private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0);
-		private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1);
-		private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16);
-		
-		//ExternalCallParameter:
-		//	"ExternalCallParameter" name=EString "{" "description" description=EString "characterization"
-		//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//	("returnType" returnType=[repository::DataType|EString])? "externallCall"
-		//	externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExternalCallParameter" name=EString "{" "description" description=EString "characterization"
-		//characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		//"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-		//("returnType" returnType=[repository::DataType|EString])? "externallCall"
-		//externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExternalCallParameter"
-		public Keyword getExternalCallParameterKeyword_0() { return cExternalCallParameterKeyword_0; }
-
-		//name=EString
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"description"
-		public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; }
-
-		//description=EString
-		public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; }
-
-		//EString
-		public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; }
-
-		//"characterization"
-		public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; }
-
-		//characterization=CharacterizationType
-		public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; }
-
-		//CharacterizationType
-		public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; }
-
-		//"behavior"
-		public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; }
-
-		//behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; }
-
-		//[servicebehavior::ServiceBehaviorAbstraction|EString]
-		public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; }
-
-		//EString
-		public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; }
-
-		//"signature"
-		public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; }
-
-		//signature=[repository::Signature|EString]
-		public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; }
-
-		//[repository::Signature|EString]
-		public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; }
-
-		//EString
-		public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; }
-
-		//("parameter" parameter=[repository::Parameter|EString])?
-		public Group getGroup_11() { return cGroup_11; }
-
-		//"parameter"
-		public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; }
-
-		//parameter=[repository::Parameter|EString]
-		public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; }
-
-		//[repository::Parameter|EString]
-		public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; }
-
-		//EString
-		public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; }
-
-		//("returnType" returnType=[repository::DataType|EString])?
-		public Group getGroup_12() { return cGroup_12; }
-
-		//"returnType"
-		public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; }
-
-		//returnType=[repository::DataType|EString]
-		public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; }
-
-		//[repository::DataType|EString]
-		public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; }
-
-		//EString
-		public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; }
-
-		//"externallCall"
-		public Keyword getExternallCallKeyword_13() { return cExternallCallKeyword_13; }
-
-		//externallCall=[servicebehavior::ExternalCall|EString]
-		public Assignment getExternallCallAssignment_14() { return cExternallCallAssignment_14; }
-
-		//[servicebehavior::ExternalCall|EString]
-		public CrossReference getExternallCallExternalCallCrossReference_14_0() { return cExternallCallExternalCallCrossReference_14_0; }
-
-		//EString
-		public RuleCall getExternallCallExternalCallEStringParserRuleCall_14_0_1() { return cExternallCallExternalCallEStringParserRuleCall_14_0_1; }
-
-		//("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-		public Group getGroup_15() { return cGroup_15; }
-
-		//"scope"
-		public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; }
-
-		//("," scope+=Scope)*
-		public Group getGroup_15_3() { return cGroup_15_3; }
-
-		//","
-		public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; }
-
-		//scope+=Scope
-		public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; }
-
-		//Scope
-		public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; }
-	}
-
-	public class FineGrainedBehaviorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FineGrainedBehavior");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cFineGrainedBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0);
-		private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1);
-		private final Keyword cBasicComponentKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cBasicComponentAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final CrossReference cBasicComponentBasicComponentCrossReference_4_0 = (CrossReference)cBasicComponentAssignment_4.eContents().get(0);
-		private final RuleCall cBasicComponentBasicComponentEStringParserRuleCall_4_0_1 = (RuleCall)cBasicComponentBasicComponentCrossReference_4_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cActionsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cActionsAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
-		private final RuleCall cActionsAbstractActionParserRuleCall_6_2_0 = (RuleCall)cActionsAssignment_6_2.eContents().get(0);
-		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
-		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
-		private final Assignment cActionsAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
-		private final RuleCall cActionsAbstractActionParserRuleCall_6_3_1_0 = (RuleCall)cActionsAssignment_6_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
-		private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final RuleCall cBehaviorComponentInternalBehaviorParserRuleCall_8_0 = (RuleCall)cBehaviorAssignment_8.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		
-		//FineGrainedBehavior returns servicebehavior::FineGrainedBehavior:
-		//	"FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent"
-		//	basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{"
-		//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{"
-		//	actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}";
-		public ParserRule getRule() { return rule; }
-
-		//"FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent"
-		//basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{"
-		//influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{"
-		//actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}"
-		public Group getGroup() { return cGroup; }
-
-		//"FineGrainedBehavior"
-		public Keyword getFineGrainedBehaviorKeyword_0() { return cFineGrainedBehaviorKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("describedSignature" describedSignature=[repository::Signature|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"describedSignature"
-		public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; }
-
-		//describedSignature=[repository::Signature|EString]
-		public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; }
-
-		//[repository::Signature|EString]
-		public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; }
-
-		//"basicComponent"
-		public Keyword getBasicComponentKeyword_3() { return cBasicComponentKeyword_3; }
-
-		//basicComponent=[repository::BasicComponent|EString]
-		public Assignment getBasicComponentAssignment_4() { return cBasicComponentAssignment_4; }
-
-		//[repository::BasicComponent|EString]
-		public CrossReference getBasicComponentBasicComponentCrossReference_4_0() { return cBasicComponentBasicComponentCrossReference_4_0; }
-
-		//EString
-		public RuleCall getBasicComponentBasicComponentEStringParserRuleCall_4_0_1() { return cBasicComponentBasicComponentEStringParserRuleCall_4_0_1; }
-
-		//("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)*
-		//"}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"influencingParameter"
-		public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; }
-
-		//("," influencingParameter+=InfluencingParameter)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//influencingParameter+=InfluencingParameter
-		public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; }
-
-		//InfluencingParameter
-		public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"actions"
-		public Keyword getActionsKeyword_6_0() { return cActionsKeyword_6_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
-
-		//actions+=AbstractAction
-		public Assignment getActionsAssignment_6_2() { return cActionsAssignment_6_2; }
-
-		//AbstractAction
-		public RuleCall getActionsAbstractActionParserRuleCall_6_2_0() { return cActionsAbstractActionParserRuleCall_6_2_0; }
-
-		//("," actions+=AbstractAction)*
-		public Group getGroup_6_3() { return cGroup_6_3; }
-
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
-
-		//actions+=AbstractAction
-		public Assignment getActionsAssignment_6_3_1() { return cActionsAssignment_6_3_1; }
-
-		//AbstractAction
-		public RuleCall getActionsAbstractActionParserRuleCall_6_3_1_0() { return cActionsAbstractActionParserRuleCall_6_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
-
-		//"behavior"
-		public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; }
-
-		//behavior=ComponentInternalBehavior
-		public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; }
-
-		//ComponentInternalBehavior
-		public RuleCall getBehaviorComponentInternalBehaviorParserRuleCall_8_0() { return cBehaviorComponentInternalBehaviorParserRuleCall_8_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
-	}
-
-	public class AbstractAction_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractAction_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cAbstractActionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cAbstractActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//AbstractAction_Impl returns servicebehavior::AbstractAction:
-		//	{servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor"
-		//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor"
-		//predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::AbstractAction}
-		public Action getAbstractActionAction_0() { return cAbstractActionAction_0; }
-
-		//"AbstractAction"
-		public Keyword getAbstractActionKeyword_1() { return cAbstractActionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class ComponentInternalBehavior_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInternalBehavior_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cComponentInternalBehaviorAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cComponentInternalBehaviorKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cActionsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cActionsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cActionsAbstractActionParserRuleCall_3_2_0 = (RuleCall)cActionsAssignment_3_2.eContents().get(0);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cActionsAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final RuleCall cActionsAbstractActionParserRuleCall_3_3_1_0 = (RuleCall)cActionsAssignment_3_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior:
-		//	{servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction
-		//	("," actions+=AbstractAction)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction (","
-		//actions+=AbstractAction)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::ComponentInternalBehavior}
-		public Action getComponentInternalBehaviorAction_0() { return cComponentInternalBehaviorAction_0; }
-
-		//"ComponentInternalBehavior"
-		public Keyword getComponentInternalBehaviorKeyword_1() { return cComponentInternalBehaviorKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"actions"
-		public Keyword getActionsKeyword_3_0() { return cActionsKeyword_3_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
-
-		//actions+=AbstractAction
-		public Assignment getActionsAssignment_3_2() { return cActionsAssignment_3_2; }
-
-		//AbstractAction
-		public RuleCall getActionsAbstractActionParserRuleCall_3_2_0() { return cActionsAbstractActionParserRuleCall_3_2_0; }
-
-		//("," actions+=AbstractAction)*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//actions+=AbstractAction
-		public Assignment getActionsAssignment_3_3_1() { return cActionsAssignment_3_3_1; }
-
-		//AbstractAction
-		public RuleCall getActionsAbstractActionParserRuleCall_3_3_1_0() { return cActionsAbstractActionParserRuleCall_3_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class StartActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StartAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cStartActionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cStartActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//StartAction returns servicebehavior::StartAction:
-		//	{servicebehavior::StartAction} "StartAction" "{" ("predecessor"
-		//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::StartAction} "StartAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		//("successor" successor=[servicebehavior::AbstractAction|EString])? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::StartAction}
-		public Action getStartActionAction_0() { return cStartActionAction_0; }
-
-		//"StartAction"
-		public Keyword getStartActionKeyword_1() { return cStartActionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class StopActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StopAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cStopActionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cStopActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//StopAction returns servicebehavior::StopAction:
-		//	{servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		//	("successor" successor=[servicebehavior::AbstractAction|EString])? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		//("successor" successor=[servicebehavior::AbstractAction|EString])? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::StopAction}
-		public Action getStopActionAction_0() { return cStopActionAction_0; }
-
-		//"StopAction"
-		public Keyword getStopActionKeyword_1() { return cStopActionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class AcquireActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AcquireAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cAcquireActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Keyword cPassiveResourceKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cPassiveResourceAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cPassiveResourcePassiveResourceSpecificationCrossReference_5_0 = (CrossReference)cPassiveResourceAssignment_5.eContents().get(0);
-		private final RuleCall cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1 = (RuleCall)cPassiveResourcePassiveResourceSpecificationCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//AcquireAction returns servicebehavior::AcquireAction:
-		//	"AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-		//	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-		//passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"AcquireAction"
-		public Keyword getAcquireActionKeyword_0() { return cAcquireActionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//"passiveResource"
-		public Keyword getPassiveResourceKeyword_4() { return cPassiveResourceKeyword_4; }
-
-		//passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-		public Assignment getPassiveResourceAssignment_5() { return cPassiveResourceAssignment_5; }
-
-		//[resourceconfiguration::PassiveResourceSpecification|EString]
-		public CrossReference getPassiveResourcePassiveResourceSpecificationCrossReference_5_0() { return cPassiveResourcePassiveResourceSpecificationCrossReference_5_0; }
-
-		//EString
-		public RuleCall getPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1() { return cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ReleaseActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReleaseAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cReleaseActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Keyword cPassiveResourceKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cPassiveResourceAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cPassiveResourcePassiveResourceSpecificationCrossReference_5_0 = (CrossReference)cPassiveResourceAssignment_5.eContents().get(0);
-		private final RuleCall cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1 = (RuleCall)cPassiveResourcePassiveResourceSpecificationCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ReleaseAction returns servicebehavior::ReleaseAction:
-		//	"ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-		//	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-		//passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ReleaseAction"
-		public Keyword getReleaseActionKeyword_0() { return cReleaseActionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//"passiveResource"
-		public Keyword getPassiveResourceKeyword_4() { return cPassiveResourceKeyword_4; }
-
-		//passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-		public Assignment getPassiveResourceAssignment_5() { return cPassiveResourceAssignment_5; }
-
-		//[resourceconfiguration::PassiveResourceSpecification|EString]
-		public CrossReference getPassiveResourcePassiveResourceSpecificationCrossReference_5_0() { return cPassiveResourcePassiveResourceSpecificationCrossReference_5_0; }
-
-		//EString
-		public RuleCall getPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1() { return cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class InternalActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InternalAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cInternalActionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cInternalActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cResourceDemandSpecificationKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cResourceDemandSpecificationAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0 = (RuleCall)cResourceDemandSpecificationAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cResourceDemandSpecificationAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0 = (RuleCall)cResourceDemandSpecificationAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//InternalAction returns servicebehavior::InternalAction:
-		//	{servicebehavior::InternalAction} "InternalAction" "{" ("predecessor"
-		//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{"
-		//	resourceDemandSpecification+=ResourceDemandSpecification (","
-		//	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{servicebehavior::InternalAction} "InternalAction" "{" ("predecessor"
-		//predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{"
-		//resourceDemandSpecification+=ResourceDemandSpecification (","
-		//resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{servicebehavior::InternalAction}
-		public Action getInternalActionAction_0() { return cInternalActionAction_0; }
-
-		//"InternalAction"
-		public Keyword getInternalActionKeyword_1() { return cInternalActionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; }
-
-		//("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification (","
-		//resourceDemandSpecification+=ResourceDemandSpecification)* "}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"resourceDemandSpecification"
-		public Keyword getResourceDemandSpecificationKeyword_5_0() { return cResourceDemandSpecificationKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//resourceDemandSpecification+=ResourceDemandSpecification
-		public Assignment getResourceDemandSpecificationAssignment_5_2() { return cResourceDemandSpecificationAssignment_5_2; }
-
-		//ResourceDemandSpecification
-		public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0; }
-
-		//("," resourceDemandSpecification+=ResourceDemandSpecification)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//resourceDemandSpecification+=ResourceDemandSpecification
-		public Assignment getResourceDemandSpecificationAssignment_5_3_1() { return cResourceDemandSpecificationAssignment_5_3_1; }
-
-		//ResourceDemandSpecification
-		public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ForkActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForkAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cWithSynchronizationBarrierAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final Keyword cWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0 = (Keyword)cWithSynchronizationBarrierAssignment_0.eContents().get(0);
-		private final Keyword cForkActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cForkedBehaviorsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
-		private final Assignment cForkedBehaviorsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0 = (RuleCall)cForkedBehaviorsAssignment_5_2.eContents().get(0);
-		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
-		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
-		private final Assignment cForkedBehaviorsAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
-		private final RuleCall cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0 = (RuleCall)cForkedBehaviorsAssignment_5_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ForkAction returns servicebehavior::ForkAction:
-		//	withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor"
-		//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{"
-		//	forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor"
-		//predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior
-		//("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//withSynchronizationBarrier?="withSynchronizationBarrier"
-		public Assignment getWithSynchronizationBarrierAssignment_0() { return cWithSynchronizationBarrierAssignment_0; }
-
-		//"withSynchronizationBarrier"
-		public Keyword getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0() { return cWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0; }
-
-		//"ForkAction"
-		public Keyword getForkActionKeyword_1() { return cForkActionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; }
-
-		//("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)*
-		//"}")?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"forkedBehaviors"
-		public Keyword getForkedBehaviorsKeyword_5_0() { return cForkedBehaviorsKeyword_5_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
-
-		//forkedBehaviors+=ComponentInternalBehavior
-		public Assignment getForkedBehaviorsAssignment_5_2() { return cForkedBehaviorsAssignment_5_2; }
-
-		//ComponentInternalBehavior
-		public RuleCall getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0() { return cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0; }
-
-		//("," forkedBehaviors+=ComponentInternalBehavior)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
-
-		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
-
-		//forkedBehaviors+=ComponentInternalBehavior
-		public Assignment getForkedBehaviorsAssignment_5_3_1() { return cForkedBehaviorsAssignment_5_3_1; }
-
-		//ComponentInternalBehavior
-		public RuleCall getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0() { return cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class BranchActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBranchActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cBranchesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
-		private final Assignment cBranchesAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
-		private final RuleCall cBranchesBranchTransitionParserRuleCall_4_2_0 = (RuleCall)cBranchesAssignment_4_2.eContents().get(0);
-		private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3);
-		private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0);
-		private final Assignment cBranchesAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1);
-		private final RuleCall cBranchesBranchTransitionParserRuleCall_4_3_1_0 = (RuleCall)cBranchesAssignment_4_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4);
-		private final Keyword cBranchProbabilitiesKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cBranchProbabilitiesAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0 = (RuleCall)cBranchProbabilitiesAssignment_6.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//BranchAction returns servicebehavior::BranchAction:
-		//	"BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition (","
-		//	branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition (","
-		//branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BranchAction"
-		public Keyword getBranchActionKeyword_0() { return cBranchActionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//("branches" "{" branches+=BranchTransition ("," branches+=BranchTransition)* "}")?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"branches"
-		public Keyword getBranchesKeyword_4_0() { return cBranchesKeyword_4_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; }
-
-		//branches+=BranchTransition
-		public Assignment getBranchesAssignment_4_2() { return cBranchesAssignment_4_2; }
-
-		//BranchTransition
-		public RuleCall getBranchesBranchTransitionParserRuleCall_4_2_0() { return cBranchesBranchTransitionParserRuleCall_4_2_0; }
-
-		//("," branches+=BranchTransition)*
-		public Group getGroup_4_3() { return cGroup_4_3; }
-
-		//","
-		public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; }
-
-		//branches+=BranchTransition
-		public Assignment getBranchesAssignment_4_3_1() { return cBranchesAssignment_4_3_1; }
-
-		//BranchTransition
-		public RuleCall getBranchesBranchTransitionParserRuleCall_4_3_1_0() { return cBranchesBranchTransitionParserRuleCall_4_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; }
-
-		//"branchProbabilities"
-		public Keyword getBranchProbabilitiesKeyword_5() { return cBranchProbabilitiesKeyword_5; }
-
-		//branchProbabilities=BranchProbabilities
-		public Assignment getBranchProbabilitiesAssignment_6() { return cBranchProbabilitiesAssignment_6; }
-
-		//BranchProbabilities
-		public RuleCall getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0() { return cBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class LoopActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cLoopActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Keyword cLoopBodyBehaviorKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cLoopBodyBehaviorAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0 = (RuleCall)cLoopBodyBehaviorAssignment_5.eContents().get(0);
-		private final Keyword cLoopIterationCountDistributionKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cLoopIterationCountDistributionAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0 = (RuleCall)cLoopIterationCountDistributionAssignment_7.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//LoopAction returns servicebehavior::LoopAction:
-		//	"LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior
-		//	"loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}";
-		public ParserRule getRule() { return rule; }
-
-		//"LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior
-		//"loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}"
-		public Group getGroup() { return cGroup; }
-
-		//"LoopAction"
-		public Keyword getLoopActionKeyword_0() { return cLoopActionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//"loopBodyBehavior"
-		public Keyword getLoopBodyBehaviorKeyword_4() { return cLoopBodyBehaviorKeyword_4; }
-
-		//loopBodyBehavior=ComponentInternalBehavior
-		public Assignment getLoopBodyBehaviorAssignment_5() { return cLoopBodyBehaviorAssignment_5; }
-
-		//ComponentInternalBehavior
-		public RuleCall getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0() { return cLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0; }
-
-		//"loopIterationCountDistribution"
-		public Keyword getLoopIterationCountDistributionKeyword_6() { return cLoopIterationCountDistributionKeyword_6; }
-
-		//loopIterationCountDistribution=LoopIterationCountDistribution
-		public Assignment getLoopIterationCountDistributionAssignment_7() { return cLoopIterationCountDistributionAssignment_7; }
-
-		//LoopIterationCountDistribution
-		public RuleCall getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0() { return cLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class ExternalCallActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExternalCallActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1);
-		private final Keyword cSignatureKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cSignatureAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cSignatureSignatureCrossReference_5_0 = (CrossReference)cSignatureAssignment_5.eContents().get(0);
-		private final RuleCall cSignatureSignatureEStringParserRuleCall_5_0_1 = (RuleCall)cSignatureSignatureCrossReference_5_0.eContents().get(1);
-		private final Keyword cRequiredRoleKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cRequiredRoleAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final CrossReference cRequiredRoleRequiredRoleCrossReference_7_0 = (CrossReference)cRequiredRoleAssignment_7.eContents().get(0);
-		private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_7_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//ExternalCallAction returns servicebehavior::ExternalCallAction:
-		//	"ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//	successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString]
-		//	"requiredRole" requiredRole=[repository::RequiredRole|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-		//successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString]
-		//"requiredRole" requiredRole=[repository::RequiredRole|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExternalCallAction"
-		public Keyword getExternalCallActionKeyword_0() { return cExternalCallActionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; }
-
-		//predecessor=[servicebehavior::AbstractAction|EString]
-		public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; }
-
-		//("successor" successor=[servicebehavior::AbstractAction|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; }
-
-		//successor=[servicebehavior::AbstractAction|EString]
-		public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; }
-
-		//[servicebehavior::AbstractAction|EString]
-		public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; }
-
-		//"signature"
-		public Keyword getSignatureKeyword_4() { return cSignatureKeyword_4; }
-
-		//signature=[repository::Signature|EString]
-		public Assignment getSignatureAssignment_5() { return cSignatureAssignment_5; }
-
-		//[repository::Signature|EString]
-		public CrossReference getSignatureSignatureCrossReference_5_0() { return cSignatureSignatureCrossReference_5_0; }
-
-		//EString
-		public RuleCall getSignatureSignatureEStringParserRuleCall_5_0_1() { return cSignatureSignatureEStringParserRuleCall_5_0_1; }
-
-		//"requiredRole"
-		public Keyword getRequiredRoleKeyword_6() { return cRequiredRoleKeyword_6; }
-
-		//requiredRole=[repository::RequiredRole|EString]
-		public Assignment getRequiredRoleAssignment_7() { return cRequiredRoleAssignment_7; }
-
-		//[repository::RequiredRole|EString]
-		public CrossReference getRequiredRoleRequiredRoleCrossReference_7_0() { return cRequiredRoleRequiredRoleCrossReference_7_0; }
-
-		//EString
-		public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class PassiveResourceSpecificationElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceSpecification");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cPassiveResourceSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cPassiveResourceTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cPassiveResourceTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cPassiveResourceTypePassiveResourceTypeCrossReference_6_0 = (CrossReference)cPassiveResourceTypeAssignment_6.eContents().get(0);
-		private final RuleCall cPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1 = (RuleCall)cPassiveResourceTypePassiveResourceTypeCrossReference_6_0.eContents().get(1);
-		private final Keyword cCapacityKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cCapacityAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final RuleCall cCapacityPassiveResourceCapacityParserRuleCall_8_0 = (RuleCall)cCapacityAssignment_8.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		
-		//PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification:
-		//	"PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType"
-		//	passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}";
-		public ParserRule getRule() { return rule; }
-
-		//"PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType"
-		//passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}"
-		public Group getGroup() { return cGroup; }
-
-		//"PassiveResourceSpecification"
-		public Keyword getPassiveResourceSpecificationKeyword_0() { return cPassiveResourceSpecificationKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"passiveResourceType"
-		public Keyword getPassiveResourceTypeKeyword_5() { return cPassiveResourceTypeKeyword_5; }
-
-		//passiveResourceType=[resourcetype::PassiveResourceType|EString]
-		public Assignment getPassiveResourceTypeAssignment_6() { return cPassiveResourceTypeAssignment_6; }
-
-		//[resourcetype::PassiveResourceType|EString]
-		public CrossReference getPassiveResourceTypePassiveResourceTypeCrossReference_6_0() { return cPassiveResourceTypePassiveResourceTypeCrossReference_6_0; }
-
-		//EString
-		public RuleCall getPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1() { return cPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1; }
-
-		//"capacity"
-		public Keyword getCapacityKeyword_7() { return cCapacityKeyword_7; }
-
-		//capacity=PassiveResourceCapacity
-		public Assignment getCapacityAssignment_8() { return cCapacityAssignment_8; }
-
-		//PassiveResourceCapacity
-		public RuleCall getCapacityPassiveResourceCapacityParserRuleCall_8_0() { return cCapacityPassiveResourceCapacityParserRuleCall_8_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
-	}
-
-	public class PassiveResourceCapacityElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceCapacity");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cPassiveResourceCapacityKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cCapacityKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cCapacityAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cCapacityEBigIntegerParserRuleCall_6_0 = (RuleCall)cCapacityAssignment_6.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity:
-		//	"PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}";
-		public ParserRule getRule() { return rule; }
-
-		//"PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}"
-		public Group getGroup() { return cGroup; }
-
-		//"PassiveResourceCapacity"
-		public Keyword getPassiveResourceCapacityKeyword_0() { return cPassiveResourceCapacityKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"capacity"
-		public Keyword getCapacityKeyword_5() { return cCapacityKeyword_5; }
-
-		//capacity=EBigInteger
-		public Assignment getCapacityAssignment_6() { return cCapacityAssignment_6; }
-
-		//EBigInteger
-		public RuleCall getCapacityEBigIntegerParserRuleCall_6_0() { return cCapacityEBigIntegerParserRuleCall_6_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class PassiveResourceTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceType");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cPassiveResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//PassiveResourceType returns resourcetype::PassiveResourceType:
-		//	"PassiveResourceType" id=EString "{" "name" name=EString "}";
-		public ParserRule getRule() { return rule; }
-
-		//"PassiveResourceType" id=EString "{" "name" name=EString "}"
-		public Group getGroup() { return cGroup; }
-
-		//"PassiveResourceType"
-		public Keyword getPassiveResourceTypeKeyword_0() { return cPassiveResourceTypeKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class EBigIntegerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigInteger");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		
-		//EBigInteger returns ecore::EBigInteger:
-		//	"-"? INT;
-		public ParserRule getRule() { return rule; }
-
-		//"-"? INT
-		public Group getGroup() { return cGroup; }
-
-		//"-"?
-		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
-
-	public class ResourceDemandSpecificationElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ResourceDemandSpecification");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cResourceDemandSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cProcessingResourceTypeKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cProcessingResourceTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0 = (CrossReference)cProcessingResourceTypeAssignment_3.eContents().get(0);
-		private final RuleCall cProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1 = (RuleCall)cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification:
-		//	"ResourceDemandSpecification" "{" "processingResourceType"
-		//	processingResourceType=[resourcetype::ProcessingResourceType|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ResourceDemandSpecification" "{" "processingResourceType"
-		//processingResourceType=[resourcetype::ProcessingResourceType|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ResourceDemandSpecification"
-		public Keyword getResourceDemandSpecificationKeyword_0() { return cResourceDemandSpecificationKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"processingResourceType"
-		public Keyword getProcessingResourceTypeKeyword_2() { return cProcessingResourceTypeKeyword_2; }
-
-		//processingResourceType=[resourcetype::ProcessingResourceType|EString]
-		public Assignment getProcessingResourceTypeAssignment_3() { return cProcessingResourceTypeAssignment_3; }
-
-		//[resourcetype::ProcessingResourceType|EString]
-		public CrossReference getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0() { return cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0; }
-
-		//EString
-		public RuleCall getProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1() { return cProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class ProcessingResourceType_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProcessingResourceType_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cProcessingResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType:
-		//	"ProcessingResourceType" id=EString "{" "name" name=EString "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ProcessingResourceType" id=EString "{" "name" name=EString "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ProcessingResourceType"
-		public Keyword getProcessingResourceTypeKeyword_0() { return cProcessingResourceTypeKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class CommunicationLinkResourceTypeElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CommunicationLinkResourceType");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCommunicationLinkResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType:
-		//	"CommunicationLinkResourceType" id=EString "{" "name" name=EString "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CommunicationLinkResourceType" id=EString "{" "name" name=EString "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CommunicationLinkResourceType"
-		public Keyword getCommunicationLinkResourceTypeKeyword_0() { return cCommunicationLinkResourceTypeKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class EBooleanElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		
-		//EBoolean returns ecore::EBoolean:
-		//	"true" | "false";
-		public ParserRule getRule() { return rule; }
-
-		//"true" | "false"
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//"true"
-		public Keyword getTrueKeyword_0() { return cTrueKeyword_0; }
-
-		//"false"
-		public Keyword getFalseKeyword_1() { return cFalseKeyword_1; }
-	}
-
-	public class BranchTransitionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchTransition");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBranchTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cBranchBehaviorKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cBranchBehaviorAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0 = (RuleCall)cBranchBehaviorAssignment_6.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//BranchTransition returns servicebehavior::BranchTransition:
-		//	"BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BranchTransition"
-		public Keyword getBranchTransitionKeyword_0() { return cBranchTransitionKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"branchBehavior"
-		public Keyword getBranchBehaviorKeyword_5() { return cBranchBehaviorKeyword_5; }
-
-		//branchBehavior=ComponentInternalBehavior
-		public Assignment getBranchBehaviorAssignment_6() { return cBranchBehaviorAssignment_6; }
-
-		//ComponentInternalBehavior
-		public RuleCall getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0() { return cBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class BranchProbabilitiesElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchProbabilities");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBranchProbabilitiesKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cProbabilitiesKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cProbabilitiesAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cProbabilitiesRandomVariableCrossReference_3_0 = (CrossReference)cProbabilitiesAssignment_3.eContents().get(0);
-		private final RuleCall cProbabilitiesRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cProbabilitiesRandomVariableCrossReference_3_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//BranchProbabilities returns servicebehavior::BranchProbabilities:
-		//	"BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BranchProbabilities"
-		public Keyword getBranchProbabilitiesKeyword_0() { return cBranchProbabilitiesKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"probabilities"
-		public Keyword getProbabilitiesKeyword_2() { return cProbabilitiesKeyword_2; }
-
-		//probabilities=[functions::RandomVariable|EString]
-		public Assignment getProbabilitiesAssignment_3() { return cProbabilitiesAssignment_3; }
-
-		//[functions::RandomVariable|EString]
-		public CrossReference getProbabilitiesRandomVariableCrossReference_3_0() { return cProbabilitiesRandomVariableCrossReference_3_0; }
-
-		//EString
-		public RuleCall getProbabilitiesRandomVariableEStringParserRuleCall_3_0_1() { return cProbabilitiesRandomVariableEStringParserRuleCall_3_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class RandomVariableElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RandomVariable");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cRandomVariableKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cSpecificationKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cSpecificationAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cSpecificationEStringParserRuleCall_3_0 = (RuleCall)cSpecificationAssignment_3.eContents().get(0);
-		private final Keyword cProbFunctionKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cProbFunctionAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cProbFunctionProbabilityFunctionCrossReference_5_0 = (CrossReference)cProbFunctionAssignment_5.eContents().get(0);
-		private final RuleCall cProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1 = (RuleCall)cProbFunctionProbabilityFunctionCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//RandomVariable returns functions::RandomVariable:
-		//	"RandomVariable" "{" "specification" specification=EString "probFunction"
-		//	probFunction=[functions::ProbabilityFunction|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"RandomVariable" "{" "specification" specification=EString "probFunction"
-		//probFunction=[functions::ProbabilityFunction|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"RandomVariable"
-		public Keyword getRandomVariableKeyword_0() { return cRandomVariableKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"specification"
-		public Keyword getSpecificationKeyword_2() { return cSpecificationKeyword_2; }
-
-		//specification=EString
-		public Assignment getSpecificationAssignment_3() { return cSpecificationAssignment_3; }
-
-		//EString
-		public RuleCall getSpecificationEStringParserRuleCall_3_0() { return cSpecificationEStringParserRuleCall_3_0; }
-
-		//"probFunction"
-		public Keyword getProbFunctionKeyword_4() { return cProbFunctionKeyword_4; }
-
-		//probFunction=[functions::ProbabilityFunction|EString]
-		public Assignment getProbFunctionAssignment_5() { return cProbFunctionAssignment_5; }
-
-		//[functions::ProbabilityFunction|EString]
-		public CrossReference getProbFunctionProbabilityFunctionCrossReference_5_0() { return cProbFunctionProbabilityFunctionCrossReference_5_0; }
-
-		//EString
-		public RuleCall getProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1() { return cProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ProbabilityMassFunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityMassFunction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cProbabilityMassFunctionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cProbabilityMassFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cSampleSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final RuleCall cSampleSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ProbabilityMassFunction returns functions::ProbabilityMassFunction:
-		//	{functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)*
-		//	"}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)*
-		//"}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{functions::ProbabilityMassFunction}
-		public Action getProbabilityMassFunctionAction_0() { return cProbabilityMassFunctionAction_0; }
-
-		//"ProbabilityMassFunction"
-		public Keyword getProbabilityMassFunctionKeyword_1() { return cProbabilityMassFunctionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("sample" "{" sample+=Sample ("," sample+=Sample)* "}")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"sample"
-		public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
-
-		//sample+=Sample
-		public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; }
-
-		//Sample
-		public RuleCall getSampleSampleParserRuleCall_3_2_0() { return cSampleSampleParserRuleCall_3_2_0; }
-
-		//("," sample+=Sample)*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//sample+=Sample
-		public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; }
-
-		//Sample
-		public RuleCall getSampleSampleParserRuleCall_3_3_1_0() { return cSampleSampleParserRuleCall_3_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class ProbabilityDensityFunction_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityDensityFunction_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cProbabilityDensityFunctionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cProbabilityDensityFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction:
-		//	{functions::ProbabilityDensityFunction} "ProbabilityDensityFunction";
-		public ParserRule getRule() { return rule; }
-
-		//{functions::ProbabilityDensityFunction} "ProbabilityDensityFunction"
-		public Group getGroup() { return cGroup; }
-
-		//{functions::ProbabilityDensityFunction}
-		public Action getProbabilityDensityFunctionAction_0() { return cProbabilityDensityFunctionAction_0; }
-
-		//"ProbabilityDensityFunction"
-		public Keyword getProbabilityDensityFunctionKeyword_1() { return cProbabilityDensityFunctionKeyword_1; }
-	}
-
-	public class BoxedPDFElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BoxedPDF");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cBoxedPDFAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cBoxedPDFKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cSampleContinuousSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final RuleCall cSampleContinuousSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//BoxedPDF returns functions::BoxedPDF:
-		//	{functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{functions::BoxedPDF}
-		public Action getBoxedPDFAction_0() { return cBoxedPDFAction_0; }
-
-		//"BoxedPDF"
-		public Keyword getBoxedPDFKeyword_1() { return cBoxedPDFKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"sample"
-		public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
-
-		//sample+=ContinuousSample
-		public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; }
-
-		//ContinuousSample
-		public RuleCall getSampleContinuousSampleParserRuleCall_3_2_0() { return cSampleContinuousSampleParserRuleCall_3_2_0; }
-
-		//("," sample+=ContinuousSample)*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//sample+=ContinuousSample
-		public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; }
-
-		//ContinuousSample
-		public RuleCall getSampleContinuousSampleParserRuleCall_3_3_1_0() { return cSampleContinuousSampleParserRuleCall_3_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class ContinuousPDF_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuousPDF_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cContinuousPDFAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cContinuousPDFKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//ContinuousPDF_Impl returns functions::ContinuousPDF:
-		//	{functions::ContinuousPDF} "ContinuousPDF";
-		public ParserRule getRule() { return rule; }
-
-		//{functions::ContinuousPDF} "ContinuousPDF"
-		public Group getGroup() { return cGroup; }
-
-		//{functions::ContinuousPDF}
-		public Action getContinuousPDFAction_0() { return cContinuousPDFAction_0; }
-
-		//"ContinuousPDF"
-		public Keyword getContinuousPDFKeyword_1() { return cContinuousPDFKeyword_1; }
-	}
-
-	public class NormalDistributionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NormalDistribution");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cNormalDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cMuKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cMuAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cMuEBigDecimalParserRuleCall_3_0 = (RuleCall)cMuAssignment_3.eContents().get(0);
-		private final Keyword cSigmaKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cSigmaAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cSigmaEBigDecimalParserRuleCall_5_0 = (RuleCall)cSigmaAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//NormalDistribution returns functions::NormalDistribution:
-		//	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"NormalDistribution"
-		public Keyword getNormalDistributionKeyword_0() { return cNormalDistributionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"mu"
-		public Keyword getMuKeyword_2() { return cMuKeyword_2; }
-
-		//mu=EBigDecimal
-		public Assignment getMuAssignment_3() { return cMuAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getMuEBigDecimalParserRuleCall_3_0() { return cMuEBigDecimalParserRuleCall_3_0; }
-
-		//"sigma"
-		public Keyword getSigmaKeyword_4() { return cSigmaKeyword_4; }
-
-		//sigma=EBigDecimal
-		public Assignment getSigmaAssignment_5() { return cSigmaAssignment_5; }
-
-		//EBigDecimal
-		public RuleCall getSigmaEBigDecimalParserRuleCall_5_0() { return cSigmaEBigDecimalParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ExponentialDistributionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExponentialDistribution");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExponentialDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cRateKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cRateAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cRateEBigDecimalParserRuleCall_3_0 = (RuleCall)cRateAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ExponentialDistribution returns functions::ExponentialDistribution:
-		//	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExponentialDistribution"
-		public Keyword getExponentialDistributionKeyword_0() { return cExponentialDistributionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"rate"
-		public Keyword getRateKeyword_2() { return cRateKeyword_2; }
-
-		//rate=EBigDecimal
-		public Assignment getRateAssignment_3() { return cRateAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getRateEBigDecimalParserRuleCall_3_0() { return cRateEBigDecimalParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class SampleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Sample");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cSampleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cProbabilityKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cProbabilityAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cProbabilityEBigDecimalParserRuleCall_3_0 = (RuleCall)cProbabilityAssignment_3.eContents().get(0);
-		private final Keyword cValueKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cValueEObjectCrossReference_5_0 = (CrossReference)cValueAssignment_5.eContents().get(0);
-		private final RuleCall cValueEObjectEStringParserRuleCall_5_0_1 = (RuleCall)cValueEObjectCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//Sample returns functions::Sample:
-		//	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Sample"
-		public Keyword getSampleKeyword_0() { return cSampleKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"probability"
-		public Keyword getProbabilityKeyword_2() { return cProbabilityKeyword_2; }
-
-		//probability=EBigDecimal
-		public Assignment getProbabilityAssignment_3() { return cProbabilityAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getProbabilityEBigDecimalParserRuleCall_3_0() { return cProbabilityEBigDecimalParserRuleCall_3_0; }
-
-		//"value"
-		public Keyword getValueKeyword_4() { return cValueKeyword_4; }
-
-		//value=[ecore::EObject|EString]
-		public Assignment getValueAssignment_5() { return cValueAssignment_5; }
-
-		//[ecore::EObject|EString]
-		public CrossReference getValueEObjectCrossReference_5_0() { return cValueEObjectCrossReference_5_0; }
-
-		//EString
-		public RuleCall getValueEObjectEStringParserRuleCall_5_0_1() { return cValueEObjectEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class EObjectElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EObject");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cEObjectAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cEObjectKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//EObject returns ecore::EObject:
-		//	{ecore::EObject} "EObject";
-		public ParserRule getRule() { return rule; }
-
-		//{ecore::EObject} "EObject"
-		public Group getGroup() { return cGroup; }
-
-		//{ecore::EObject}
-		public Action getEObjectAction_0() { return cEObjectAction_0; }
-
-		//"EObject"
-		public Keyword getEObjectKeyword_1() { return cEObjectKeyword_1; }
-	}
-
-	public class EBigDecimalElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigDecimal");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
-		
-		//EBigDecimal returns ecore::EBigDecimal:
-		//	INT? "." INT;
-		public ParserRule getRule() { return rule; }
-
-		//INT? "." INT
-		public Group getGroup() { return cGroup; }
-
-		//INT?
-		public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
-
-		//"."
-		public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
-	}
-
-	public class ContinuousSampleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuousSample");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cContinuousSampleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cValueEBigDecimalParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
-		private final Keyword cProbabilityKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cProbabilityAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cProbabilityEBigDecimalParserRuleCall_5_0 = (RuleCall)cProbabilityAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ContinuousSample returns functions::ContinuousSample:
-		//	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ContinuousSample"
-		public Keyword getContinuousSampleKeyword_0() { return cContinuousSampleKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"value"
-		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
-
-		//value=EBigDecimal
-		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getValueEBigDecimalParserRuleCall_3_0() { return cValueEBigDecimalParserRuleCall_3_0; }
-
-		//"probability"
-		public Keyword getProbabilityKeyword_4() { return cProbabilityKeyword_4; }
-
-		//probability=EBigDecimal
-		public Assignment getProbabilityAssignment_5() { return cProbabilityAssignment_5; }
-
-		//EBigDecimal
-		public RuleCall getProbabilityEBigDecimalParserRuleCall_5_0() { return cProbabilityEBigDecimalParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class LoopIterationCountDistributionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopIterationCountDistribution");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cLoopIterationCountDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLoopIterationCountDistributionKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cLoopIterationCountDistributionAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cLoopIterationCountDistributionRandomVariableCrossReference_3_0 = (CrossReference)cLoopIterationCountDistributionAssignment_3.eContents().get(0);
-		private final RuleCall cLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cLoopIterationCountDistributionRandomVariableCrossReference_3_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution:
-		//	"LoopIterationCountDistribution" "{" "loopIterationCountDistribution"
-		//	loopIterationCountDistribution=[functions::RandomVariable|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"LoopIterationCountDistribution" "{" "loopIterationCountDistribution"
-		//loopIterationCountDistribution=[functions::RandomVariable|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"LoopIterationCountDistribution"
-		public Keyword getLoopIterationCountDistributionKeyword_0() { return cLoopIterationCountDistributionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"loopIterationCountDistribution"
-		public Keyword getLoopIterationCountDistributionKeyword_2() { return cLoopIterationCountDistributionKeyword_2; }
-
-		//loopIterationCountDistribution=[functions::RandomVariable|EString]
-		public Assignment getLoopIterationCountDistributionAssignment_3() { return cLoopIterationCountDistributionAssignment_3; }
-
-		//[functions::RandomVariable|EString]
-		public CrossReference getLoopIterationCountDistributionRandomVariableCrossReference_3_0() { return cLoopIterationCountDistributionRandomVariableCrossReference_3_0; }
-
-		//EString
-		public RuleCall getLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1() { return cLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class AssemblyContextElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AssemblyContext");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cAssemblyContextKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cEncapsulatedComponentKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cEncapsulatedComponentAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cEncapsulatedComponentRepositoryComponentCrossReference_6_0 = (CrossReference)cEncapsulatedComponentAssignment_6.eContents().get(0);
-		private final RuleCall cEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1 = (RuleCall)cEncapsulatedComponentRepositoryComponentCrossReference_6_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//AssemblyContext returns repository::AssemblyContext:
-		//	"AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent"
-		//	encapsulatedComponent=[repository::RepositoryComponent|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent"
-		//encapsulatedComponent=[repository::RepositoryComponent|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"AssemblyContext"
-		public Keyword getAssemblyContextKeyword_0() { return cAssemblyContextKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"encapsulatedComponent"
-		public Keyword getEncapsulatedComponentKeyword_5() { return cEncapsulatedComponentKeyword_5; }
-
-		//encapsulatedComponent=[repository::RepositoryComponent|EString]
-		public Assignment getEncapsulatedComponentAssignment_6() { return cEncapsulatedComponentAssignment_6; }
-
-		//[repository::RepositoryComponent|EString]
-		public CrossReference getEncapsulatedComponentRepositoryComponentCrossReference_6_0() { return cEncapsulatedComponentRepositoryComponentCrossReference_6_0; }
-
-		//EString
-		public RuleCall getEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1() { return cEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
-	}
-
-	public class AssemblyConnectorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AssemblyConnector");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cAssemblyConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cRequiredRoleKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cRequiredRoleAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cRequiredRoleRequiredRoleCrossReference_6_0 = (CrossReference)cRequiredRoleAssignment_6.eContents().get(0);
-		private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_6_0.eContents().get(1);
-		private final Keyword cProvidedRoleKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cProvidedRoleAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cProvidedRoleProvidedRoleCrossReference_8_0 = (CrossReference)cProvidedRoleAssignment_8.eContents().get(0);
-		private final RuleCall cProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1 = (RuleCall)cProvidedRoleProvidedRoleCrossReference_8_0.eContents().get(1);
-		private final Keyword cProvidingAssemblyContextKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cProvidingAssemblyContextAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cProvidingAssemblyContextAssemblyContextCrossReference_10_0 = (CrossReference)cProvidingAssemblyContextAssignment_10.eContents().get(0);
-		private final RuleCall cProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1 = (RuleCall)cProvidingAssemblyContextAssemblyContextCrossReference_10_0.eContents().get(1);
-		private final Keyword cRequiringAssemblyContextKeyword_11 = (Keyword)cGroup.eContents().get(11);
-		private final Assignment cRequiringAssemblyContextAssignment_12 = (Assignment)cGroup.eContents().get(12);
-		private final CrossReference cRequiringAssemblyContextAssemblyContextCrossReference_12_0 = (CrossReference)cRequiringAssemblyContextAssignment_12.eContents().get(0);
-		private final RuleCall cRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1 = (RuleCall)cRequiringAssemblyContextAssemblyContextCrossReference_12_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13);
-		
-		//AssemblyConnector returns repository::AssemblyConnector:
-		//	"AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString]
-		//	"providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext"
-		//	providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext"
-		//	requiringAssemblyContext=[repository::AssemblyContext|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString]
-		//"providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext"
-		//providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext"
-		//requiringAssemblyContext=[repository::AssemblyContext|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"AssemblyConnector"
-		public Keyword getAssemblyConnectorKeyword_0() { return cAssemblyConnectorKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"requiredRole"
-		public Keyword getRequiredRoleKeyword_5() { return cRequiredRoleKeyword_5; }
-
-		//requiredRole=[repository::RequiredRole|EString]
-		public Assignment getRequiredRoleAssignment_6() { return cRequiredRoleAssignment_6; }
-
-		//[repository::RequiredRole|EString]
-		public CrossReference getRequiredRoleRequiredRoleCrossReference_6_0() { return cRequiredRoleRequiredRoleCrossReference_6_0; }
-
-		//EString
-		public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1; }
-
-		//"providedRole"
-		public Keyword getProvidedRoleKeyword_7() { return cProvidedRoleKeyword_7; }
-
-		//providedRole=[repository::ProvidedRole|EString]
-		public Assignment getProvidedRoleAssignment_8() { return cProvidedRoleAssignment_8; }
-
-		//[repository::ProvidedRole|EString]
-		public CrossReference getProvidedRoleProvidedRoleCrossReference_8_0() { return cProvidedRoleProvidedRoleCrossReference_8_0; }
-
-		//EString
-		public RuleCall getProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1() { return cProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1; }
-
-		//"providingAssemblyContext"
-		public Keyword getProvidingAssemblyContextKeyword_9() { return cProvidingAssemblyContextKeyword_9; }
-
-		//providingAssemblyContext=[repository::AssemblyContext|EString]
-		public Assignment getProvidingAssemblyContextAssignment_10() { return cProvidingAssemblyContextAssignment_10; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getProvidingAssemblyContextAssemblyContextCrossReference_10_0() { return cProvidingAssemblyContextAssemblyContextCrossReference_10_0; }
-
-		//EString
-		public RuleCall getProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1() { return cProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1; }
-
-		//"requiringAssemblyContext"
-		public Keyword getRequiringAssemblyContextKeyword_11() { return cRequiringAssemblyContextKeyword_11; }
-
-		//requiringAssemblyContext=[repository::AssemblyContext|EString]
-		public Assignment getRequiringAssemblyContextAssignment_12() { return cRequiringAssemblyContextAssignment_12; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getRequiringAssemblyContextAssemblyContextCrossReference_12_0() { return cRequiringAssemblyContextAssemblyContextCrossReference_12_0; }
-
-		//EString
-		public RuleCall getRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1() { return cRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; }
-	}
-
-	public class ProvidedDelegationConnectorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProvidedDelegationConnector");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cProvidedDelegationConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cAssemblyContextKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cAssemblyContextAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cAssemblyContextAssemblyContextCrossReference_6_0 = (CrossReference)cAssemblyContextAssignment_6.eContents().get(0);
-		private final RuleCall cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1 = (RuleCall)cAssemblyContextAssemblyContextCrossReference_6_0.eContents().get(1);
-		private final Keyword cInnerProvidedRoleKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cInnerProvidedRoleAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cInnerProvidedRoleProvidedRoleCrossReference_8_0 = (CrossReference)cInnerProvidedRoleAssignment_8.eContents().get(0);
-		private final RuleCall cInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1 = (RuleCall)cInnerProvidedRoleProvidedRoleCrossReference_8_0.eContents().get(1);
-		private final Keyword cOuterProvidedRoleKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cOuterProvidedRoleAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cOuterProvidedRoleProvidedRoleCrossReference_10_0 = (CrossReference)cOuterProvidedRoleAssignment_10.eContents().get(0);
-		private final RuleCall cOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1 = (RuleCall)cOuterProvidedRoleProvidedRoleCrossReference_10_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
-		
-		//ProvidedDelegationConnector returns repository::ProvidedDelegationConnector:
-		//	"ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-		//	assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole"
-		//	innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole"
-		//	outerProvidedRole=[repository::ProvidedRole|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-		//assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole"
-		//innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole"
-		//outerProvidedRole=[repository::ProvidedRole|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ProvidedDelegationConnector"
-		public Keyword getProvidedDelegationConnectorKeyword_0() { return cProvidedDelegationConnectorKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"assemblyContext"
-		public Keyword getAssemblyContextKeyword_5() { return cAssemblyContextKeyword_5; }
-
-		//assemblyContext=[repository::AssemblyContext|EString]
-		public Assignment getAssemblyContextAssignment_6() { return cAssemblyContextAssignment_6; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getAssemblyContextAssemblyContextCrossReference_6_0() { return cAssemblyContextAssemblyContextCrossReference_6_0; }
-
-		//EString
-		public RuleCall getAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1() { return cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1; }
-
-		//"innerProvidedRole"
-		public Keyword getInnerProvidedRoleKeyword_7() { return cInnerProvidedRoleKeyword_7; }
-
-		//innerProvidedRole=[repository::ProvidedRole|EString]
-		public Assignment getInnerProvidedRoleAssignment_8() { return cInnerProvidedRoleAssignment_8; }
-
-		//[repository::ProvidedRole|EString]
-		public CrossReference getInnerProvidedRoleProvidedRoleCrossReference_8_0() { return cInnerProvidedRoleProvidedRoleCrossReference_8_0; }
-
-		//EString
-		public RuleCall getInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1() { return cInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1; }
-
-		//"outerProvidedRole"
-		public Keyword getOuterProvidedRoleKeyword_9() { return cOuterProvidedRoleKeyword_9; }
-
-		//outerProvidedRole=[repository::ProvidedRole|EString]
-		public Assignment getOuterProvidedRoleAssignment_10() { return cOuterProvidedRoleAssignment_10; }
-
-		//[repository::ProvidedRole|EString]
-		public CrossReference getOuterProvidedRoleProvidedRoleCrossReference_10_0() { return cOuterProvidedRoleProvidedRoleCrossReference_10_0; }
-
-		//EString
-		public RuleCall getOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1() { return cOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
-	}
-
-	public class RequiredDelegationConnectorElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RequiredDelegationConnector");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cRequiredDelegationConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
-		private final Keyword cAssemblyContextKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cAssemblyContextAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final CrossReference cAssemblyContextAssemblyContextCrossReference_6_0 = (CrossReference)cAssemblyContextAssignment_6.eContents().get(0);
-		private final RuleCall cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1 = (RuleCall)cAssemblyContextAssemblyContextCrossReference_6_0.eContents().get(1);
-		private final Keyword cInnerRequiredRoleKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cInnerRequiredRoleAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final CrossReference cInnerRequiredRoleRequiredRoleCrossReference_8_0 = (CrossReference)cInnerRequiredRoleAssignment_8.eContents().get(0);
-		private final RuleCall cInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1 = (RuleCall)cInnerRequiredRoleRequiredRoleCrossReference_8_0.eContents().get(1);
-		private final Keyword cOuterRequiredRoleKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cOuterRequiredRoleAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final CrossReference cOuterRequiredRoleRequiredRoleCrossReference_10_0 = (CrossReference)cOuterRequiredRoleAssignment_10.eContents().get(0);
-		private final RuleCall cOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1 = (RuleCall)cOuterRequiredRoleRequiredRoleCrossReference_10_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
-		
-		//RequiredDelegationConnector returns repository::RequiredDelegationConnector:
-		//	"RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-		//	assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole"
-		//	innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole"
-		//	outerRequiredRole=[repository::RequiredRole|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-		//assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole"
-		//innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole"
-		//outerRequiredRole=[repository::RequiredRole|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"RequiredDelegationConnector"
-		public Keyword getRequiredDelegationConnectorKeyword_0() { return cRequiredDelegationConnectorKeyword_0; }
-
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
-
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"assemblyContext"
-		public Keyword getAssemblyContextKeyword_5() { return cAssemblyContextKeyword_5; }
-
-		//assemblyContext=[repository::AssemblyContext|EString]
-		public Assignment getAssemblyContextAssignment_6() { return cAssemblyContextAssignment_6; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getAssemblyContextAssemblyContextCrossReference_6_0() { return cAssemblyContextAssemblyContextCrossReference_6_0; }
-
-		//EString
-		public RuleCall getAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1() { return cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1; }
-
-		//"innerRequiredRole"
-		public Keyword getInnerRequiredRoleKeyword_7() { return cInnerRequiredRoleKeyword_7; }
-
-		//innerRequiredRole=[repository::RequiredRole|EString]
-		public Assignment getInnerRequiredRoleAssignment_8() { return cInnerRequiredRoleAssignment_8; }
-
-		//[repository::RequiredRole|EString]
-		public CrossReference getInnerRequiredRoleRequiredRoleCrossReference_8_0() { return cInnerRequiredRoleRequiredRoleCrossReference_8_0; }
-
-		//EString
-		public RuleCall getInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1() { return cInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1; }
-
-		//"outerRequiredRole"
-		public Keyword getOuterRequiredRoleKeyword_9() { return cOuterRequiredRoleKeyword_9; }
-
-		//outerRequiredRole=[repository::RequiredRole|EString]
-		public Assignment getOuterRequiredRoleAssignment_10() { return cOuterRequiredRoleAssignment_10; }
-
-		//[repository::RequiredRole|EString]
-		public CrossReference getOuterRequiredRoleRequiredRoleCrossReference_10_0() { return cOuterRequiredRoleRequiredRoleCrossReference_10_0; }
-
-		//EString
-		public RuleCall getOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1() { return cOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
-	}
-
-	public class ExternalCall_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCall_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExternalCallKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cSignatureKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cSignatureAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cSignatureSignatureCrossReference_3_0 = (CrossReference)cSignatureAssignment_3.eContents().get(0);
-		private final RuleCall cSignatureSignatureEStringParserRuleCall_3_0_1 = (RuleCall)cSignatureSignatureCrossReference_3_0.eContents().get(1);
-		private final Keyword cRequiredRoleKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cRequiredRoleAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cRequiredRoleRequiredRoleCrossReference_5_0 = (CrossReference)cRequiredRoleAssignment_5.eContents().get(0);
-		private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ExternalCall_Impl returns servicebehavior::ExternalCall:
-		//	"ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole"
-		//	requiredRole=[repository::RequiredRole|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole"
-		//requiredRole=[repository::RequiredRole|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExternalCall"
-		public Keyword getExternalCallKeyword_0() { return cExternalCallKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"signature"
-		public Keyword getSignatureKeyword_2() { return cSignatureKeyword_2; }
-
-		//signature=[repository::Signature|EString]
-		public Assignment getSignatureAssignment_3() { return cSignatureAssignment_3; }
-
-		//[repository::Signature|EString]
-		public CrossReference getSignatureSignatureCrossReference_3_0() { return cSignatureSignatureCrossReference_3_0; }
-
-		//EString
-		public RuleCall getSignatureSignatureEStringParserRuleCall_3_0_1() { return cSignatureSignatureEStringParserRuleCall_3_0_1; }
-
-		//"requiredRole"
-		public Keyword getRequiredRoleKeyword_4() { return cRequiredRoleKeyword_4; }
-
-		//requiredRole=[repository::RequiredRole|EString]
-		public Assignment getRequiredRoleAssignment_5() { return cRequiredRoleAssignment_5; }
-
-		//[repository::RequiredRole|EString]
-		public CrossReference getRequiredRoleRequiredRoleCrossReference_5_0() { return cRequiredRoleRequiredRoleCrossReference_5_0; }
-
-		//EString
-		public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ExternalCallFrequencyElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallFrequency");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExternalCallFrequencyKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cExternalCallKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cExternalCallAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cExternalCallExternalCallParserRuleCall_3_0 = (RuleCall)cExternalCallAssignment_3.eContents().get(0);
-		private final Keyword cFrequencyKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cFrequencyAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cFrequencyCallFrequencyParserRuleCall_5_0 = (RuleCall)cFrequencyAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ExternalCallFrequency returns servicebehavior::ExternalCallFrequency:
-		//	"ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExternalCallFrequency"
-		public Keyword getExternalCallFrequencyKeyword_0() { return cExternalCallFrequencyKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"externalCall"
-		public Keyword getExternalCallKeyword_2() { return cExternalCallKeyword_2; }
-
-		//externalCall=ExternalCall
-		public Assignment getExternalCallAssignment_3() { return cExternalCallAssignment_3; }
-
-		//ExternalCall
-		public RuleCall getExternalCallExternalCallParserRuleCall_3_0() { return cExternalCallExternalCallParserRuleCall_3_0; }
-
-		//"frequency"
-		public Keyword getFrequencyKeyword_4() { return cFrequencyKeyword_4; }
-
-		//frequency=CallFrequency
-		public Assignment getFrequencyAssignment_5() { return cFrequencyAssignment_5; }
-
-		//CallFrequency
-		public RuleCall getFrequencyCallFrequencyParserRuleCall_5_0() { return cFrequencyCallFrequencyParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class CallFrequencyElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CallFrequency");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCallFrequencyKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cFrequencyKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cFrequencyAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cFrequencyRandomVariableCrossReference_3_0 = (CrossReference)cFrequencyAssignment_3.eContents().get(0);
-		private final RuleCall cFrequencyRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cFrequencyRandomVariableCrossReference_3_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//CallFrequency returns servicebehavior::CallFrequency:
-		//	"CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CallFrequency"
-		public Keyword getCallFrequencyKeyword_0() { return cCallFrequencyKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"frequency"
-		public Keyword getFrequencyKeyword_2() { return cFrequencyKeyword_2; }
-
-		//frequency=[functions::RandomVariable|EString]
-		public Assignment getFrequencyAssignment_3() { return cFrequencyAssignment_3; }
-
-		//[functions::RandomVariable|EString]
-		public CrossReference getFrequencyRandomVariableCrossReference_3_0() { return cFrequencyRandomVariableCrossReference_3_0; }
-
-		//EString
-		public RuleCall getFrequencyRandomVariableEStringParserRuleCall_3_0_1() { return cFrequencyRandomVariableEStringParserRuleCall_3_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class DependencyRelationshipElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DependencyRelationship");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cDependencyRelationshipKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cSurroundingEntityKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cSurroundingEntityAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cSurroundingEntityAssignment_3.eContents().get(0);
-		private final RuleCall cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1);
-		private final Keyword cInfluencedVariableKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cInfluencedVariableAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cInfluencedVariableInfluencedVariableCrossReference_5_0 = (CrossReference)cInfluencedVariableAssignment_5.eContents().get(0);
-		private final RuleCall cInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1 = (RuleCall)cInfluencedVariableInfluencedVariableCrossReference_5_0.eContents().get(1);
-		private final Keyword cInfluencingParameterKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cInfluencingParameterAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final CrossReference cInfluencingParameterInfluencingParameterCrossReference_7_0 = (CrossReference)cInfluencingParameterAssignment_7.eContents().get(0);
-		private final RuleCall cInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1 = (RuleCall)cInfluencingParameterInfluencingParameterCrossReference_7_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//DependencyRelationship:
-		//	"DependencyRelationship" "{" "surroundingEntity"
-		//	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable"
-		//	influencedVariable=[InfluencedVariable|EString] "influencingParameter"
-		//	influencingParameter=[InfluencingParameter|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"DependencyRelationship" "{" "surroundingEntity"
-		//surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable"
-		//influencedVariable=[InfluencedVariable|EString] "influencingParameter"
-		//influencingParameter=[InfluencingParameter|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"DependencyRelationship"
-		public Keyword getDependencyRelationshipKeyword_0() { return cDependencyRelationshipKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"surroundingEntity"
-		public Keyword getSurroundingEntityKeyword_2() { return cSurroundingEntityKeyword_2; }
-
-		//surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		public Assignment getSurroundingEntityAssignment_3() { return cSurroundingEntityAssignment_3; }
-
-		//[repository::InterfaceProvidingRequiringEntity|EString]
-		public CrossReference getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0; }
-
-		//EString
-		public RuleCall getSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; }
-
-		//"influencedVariable"
-		public Keyword getInfluencedVariableKeyword_4() { return cInfluencedVariableKeyword_4; }
-
-		//influencedVariable=[InfluencedVariable|EString]
-		public Assignment getInfluencedVariableAssignment_5() { return cInfluencedVariableAssignment_5; }
-
-		//[InfluencedVariable|EString]
-		public CrossReference getInfluencedVariableInfluencedVariableCrossReference_5_0() { return cInfluencedVariableInfluencedVariableCrossReference_5_0; }
-
-		//EString
-		public RuleCall getInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1() { return cInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1; }
-
-		//"influencingParameter"
-		public Keyword getInfluencingParameterKeyword_6() { return cInfluencingParameterKeyword_6; }
-
-		//influencingParameter=[InfluencingParameter|EString]
-		public Assignment getInfluencingParameterAssignment_7() { return cInfluencingParameterAssignment_7; }
-
-		//[InfluencingParameter|EString]
-		public CrossReference getInfluencingParameterInfluencingParameterCrossReference_7_0() { return cInfluencingParameterInfluencingParameterCrossReference_7_0; }
-
-		//EString
-		public RuleCall getInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1() { return cInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class CorrelationRelationshipElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CorrelationRelationship");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCorrelationRelationshipKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cSurroundingEntityKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cSurroundingEntityAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final CrossReference cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cSurroundingEntityAssignment_3.eContents().get(0);
-		private final RuleCall cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1);
-		private final Keyword cLeftInfluencingParameterKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cLeftInfluencingParameterAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cLeftInfluencingParameterInfluencingParameterCrossReference_5_0 = (CrossReference)cLeftInfluencingParameterAssignment_5.eContents().get(0);
-		private final RuleCall cLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1 = (RuleCall)cLeftInfluencingParameterInfluencingParameterCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightInfluencingParameterKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cRightInfluencingParameterAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final CrossReference cRightInfluencingParameterInfluencingParameterCrossReference_7_0 = (CrossReference)cRightInfluencingParameterAssignment_7.eContents().get(0);
-		private final RuleCall cRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1 = (RuleCall)cRightInfluencingParameterInfluencingParameterCrossReference_7_0.eContents().get(1);
-		private final Keyword cLeftComponentInstanceReferenceKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		private final Assignment cLeftComponentInstanceReferenceAssignment_9 = (Assignment)cGroup.eContents().get(9);
-		private final RuleCall cLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0 = (RuleCall)cLeftComponentInstanceReferenceAssignment_9.eContents().get(0);
-		private final Keyword cRightComponentInstanceReferenceKeyword_10 = (Keyword)cGroup.eContents().get(10);
-		private final Assignment cRightComponentInstanceReferenceAssignment_11 = (Assignment)cGroup.eContents().get(11);
-		private final RuleCall cRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0 = (RuleCall)cRightComponentInstanceReferenceAssignment_11.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12);
-		
-		//CorrelationRelationship:
-		//	"CorrelationRelationship" "{" "surroundingEntity"
-		//	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter"
-		//	leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter"
-		//	rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference"
-		//	leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference"
-		//	rightComponentInstanceReference=ComponentInstanceReference "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CorrelationRelationship" "{" "surroundingEntity"
-		//surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter"
-		//leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter"
-		//rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference"
-		//leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference"
-		//rightComponentInstanceReference=ComponentInstanceReference "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CorrelationRelationship"
-		public Keyword getCorrelationRelationshipKeyword_0() { return cCorrelationRelationshipKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"surroundingEntity"
-		public Keyword getSurroundingEntityKeyword_2() { return cSurroundingEntityKeyword_2; }
-
-		//surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		public Assignment getSurroundingEntityAssignment_3() { return cSurroundingEntityAssignment_3; }
-
-		//[repository::InterfaceProvidingRequiringEntity|EString]
-		public CrossReference getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0; }
-
-		//EString
-		public RuleCall getSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; }
-
-		//"leftInfluencingParameter"
-		public Keyword getLeftInfluencingParameterKeyword_4() { return cLeftInfluencingParameterKeyword_4; }
-
-		//leftInfluencingParameter=[InfluencingParameter|EString]
-		public Assignment getLeftInfluencingParameterAssignment_5() { return cLeftInfluencingParameterAssignment_5; }
-
-		//[InfluencingParameter|EString]
-		public CrossReference getLeftInfluencingParameterInfluencingParameterCrossReference_5_0() { return cLeftInfluencingParameterInfluencingParameterCrossReference_5_0; }
-
-		//EString
-		public RuleCall getLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1() { return cLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1; }
-
-		//"rightInfluencingParameter"
-		public Keyword getRightInfluencingParameterKeyword_6() { return cRightInfluencingParameterKeyword_6; }
-
-		//rightInfluencingParameter=[InfluencingParameter|EString]
-		public Assignment getRightInfluencingParameterAssignment_7() { return cRightInfluencingParameterAssignment_7; }
-
-		//[InfluencingParameter|EString]
-		public CrossReference getRightInfluencingParameterInfluencingParameterCrossReference_7_0() { return cRightInfluencingParameterInfluencingParameterCrossReference_7_0; }
-
-		//EString
-		public RuleCall getRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1() { return cRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1; }
-
-		//"leftComponentInstanceReference"
-		public Keyword getLeftComponentInstanceReferenceKeyword_8() { return cLeftComponentInstanceReferenceKeyword_8; }
-
-		//leftComponentInstanceReference=ComponentInstanceReference
-		public Assignment getLeftComponentInstanceReferenceAssignment_9() { return cLeftComponentInstanceReferenceAssignment_9; }
-
-		//ComponentInstanceReference
-		public RuleCall getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0() { return cLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0; }
-
-		//"rightComponentInstanceReference"
-		public Keyword getRightComponentInstanceReferenceKeyword_10() { return cRightComponentInstanceReferenceKeyword_10; }
-
-		//rightComponentInstanceReference=ComponentInstanceReference
-		public Assignment getRightComponentInstanceReferenceAssignment_11() { return cRightComponentInstanceReferenceAssignment_11; }
-
-		//ComponentInstanceReference
-		public RuleCall getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0() { return cRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
-	}
-
-	public class InfluencedVariableElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencedVariable");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cInfluencedVariableAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cInfluencedVariableKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cControlFlowVariableKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cControlFlowVariableAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0 = (CrossReference)cControlFlowVariableAssignment_3_1.eContents().get(0);
-		private final RuleCall cControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1 = (RuleCall)cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cResourceDemandKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cResourceDemandAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final CrossReference cResourceDemandResourceDemandSpecificationCrossReference_4_1_0 = (CrossReference)cResourceDemandAssignment_4_1.eContents().get(0);
-		private final RuleCall cResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1 = (RuleCall)cResourceDemandResourceDemandSpecificationCrossReference_4_1_0.eContents().get(1);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cResponseTimeKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cResponseTimeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final CrossReference cResponseTimeResponseTimeSpecificationCrossReference_5_1_0 = (CrossReference)cResponseTimeAssignment_5_1.eContents().get(0);
-		private final RuleCall cResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1 = (RuleCall)cResponseTimeResponseTimeSpecificationCrossReference_5_1_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//InfluencedVariable:
-		//	{InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable"
-		//	controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand"
-		//	resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime"
-		//	responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable"
-		//controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand"
-		//resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime"
-		//responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{InfluencedVariable}
-		public Action getInfluencedVariableAction_0() { return cInfluencedVariableAction_0; }
-
-		//"InfluencedVariable"
-		public Keyword getInfluencedVariableKeyword_1() { return cInfluencedVariableKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("controlFlowVariable" controlFlowVariable=[ControlFlowSpecification|EString])?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"controlFlowVariable"
-		public Keyword getControlFlowVariableKeyword_3_0() { return cControlFlowVariableKeyword_3_0; }
-
-		//controlFlowVariable=[ControlFlowSpecification|EString]
-		public Assignment getControlFlowVariableAssignment_3_1() { return cControlFlowVariableAssignment_3_1; }
-
-		//[ControlFlowSpecification|EString]
-		public CrossReference getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0() { return cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0; }
-
-		//EString
-		public RuleCall getControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1() { return cControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1; }
-
-		//("resourceDemand" resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"resourceDemand"
-		public Keyword getResourceDemandKeyword_4_0() { return cResourceDemandKeyword_4_0; }
-
-		//resourceDemand=[servicebehavior::ResourceDemandSpecification|EString]
-		public Assignment getResourceDemandAssignment_4_1() { return cResourceDemandAssignment_4_1; }
-
-		//[servicebehavior::ResourceDemandSpecification|EString]
-		public CrossReference getResourceDemandResourceDemandSpecificationCrossReference_4_1_0() { return cResourceDemandResourceDemandSpecificationCrossReference_4_1_0; }
-
-		//EString
-		public RuleCall getResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1() { return cResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1; }
-
-		//("responseTime" responseTime=[servicebehavior::ResponseTimeSpecification|EString])?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"responseTime"
-		public Keyword getResponseTimeKeyword_5_0() { return cResponseTimeKeyword_5_0; }
-
-		//responseTime=[servicebehavior::ResponseTimeSpecification|EString]
-		public Assignment getResponseTimeAssignment_5_1() { return cResponseTimeAssignment_5_1; }
-
-		//[servicebehavior::ResponseTimeSpecification|EString]
-		public CrossReference getResponseTimeResponseTimeSpecificationCrossReference_5_1_0() { return cResponseTimeResponseTimeSpecificationCrossReference_5_1_0; }
-
-		//EString
-		public RuleCall getResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1() { return cResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ComponentInstanceReferenceElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInstanceReference");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cComponentInstanceReferenceAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cComponentInstanceReferenceKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cAssembliesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cAssembliesAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final CrossReference cAssembliesAssemblyContextCrossReference_3_2_0 = (CrossReference)cAssembliesAssignment_3_2.eContents().get(0);
-		private final RuleCall cAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1 = (RuleCall)cAssembliesAssemblyContextCrossReference_3_2_0.eContents().get(1);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cAssembliesAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final CrossReference cAssembliesAssemblyContextCrossReference_3_3_1_0 = (CrossReference)cAssembliesAssignment_3_3_1.eContents().get(0);
-		private final RuleCall cAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1 = (RuleCall)cAssembliesAssemblyContextCrossReference_3_3_1_0.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ComponentInstanceReference:
-		//	{ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "("
-		//	assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "("
-		//assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{ComponentInstanceReference}
-		public Action getComponentInstanceReferenceAction_0() { return cComponentInstanceReferenceAction_0; }
-
-		//"ComponentInstanceReference"
-		public Keyword getComponentInstanceReferenceKeyword_1() { return cComponentInstanceReferenceKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("assemblies" "(" assemblies+=[repository::AssemblyContext|EString] (","
-		//assemblies+=[repository::AssemblyContext|EString])* ")")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"assemblies"
-		public Keyword getAssembliesKeyword_3_0() { return cAssembliesKeyword_3_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; }
-
-		//assemblies+=[repository::AssemblyContext|EString]
-		public Assignment getAssembliesAssignment_3_2() { return cAssembliesAssignment_3_2; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getAssembliesAssemblyContextCrossReference_3_2_0() { return cAssembliesAssemblyContextCrossReference_3_2_0; }
-
-		//EString
-		public RuleCall getAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1() { return cAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1; }
-
-		//("," assemblies+=[repository::AssemblyContext|EString])*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//assemblies+=[repository::AssemblyContext|EString]
-		public Assignment getAssembliesAssignment_3_3_1() { return cAssembliesAssignment_3_3_1; }
-
-		//[repository::AssemblyContext|EString]
-		public CrossReference getAssembliesAssemblyContextCrossReference_3_3_1_0() { return cAssembliesAssemblyContextCrossReference_3_3_1_0; }
-
-		//EString
-		public RuleCall getAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1() { return cAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-	
-	
-	public class PrimitiveTypeEnumElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveTypeEnum");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cINTINTKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cSTRINGEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cSTRINGSTRINGKeyword_1_0 = (Keyword)cSTRINGEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cBOOLEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cBOOLBOOLKeyword_2_0 = (Keyword)cBOOLEnumLiteralDeclaration_2.eContents().get(0);
-		private final EnumLiteralDeclaration cDOUBLEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
-		private final Keyword cDOUBLEDOUBLEKeyword_3_0 = (Keyword)cDOUBLEEnumLiteralDeclaration_3.eContents().get(0);
-		private final EnumLiteralDeclaration cCHAREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
-		private final Keyword cCHARCHARKeyword_4_0 = (Keyword)cCHAREnumLiteralDeclaration_4.eContents().get(0);
-		private final EnumLiteralDeclaration cBYTEEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
-		private final Keyword cBYTEBYTEKeyword_5_0 = (Keyword)cBYTEEnumLiteralDeclaration_5.eContents().get(0);
-		private final EnumLiteralDeclaration cLONGEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
-		private final Keyword cLONGLONGKeyword_6_0 = (Keyword)cLONGEnumLiteralDeclaration_6.eContents().get(0);
-		
-		//enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum:
-		//	INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG;
-		public EnumRule getRule() { return rule; }
-
-		//INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//INT
-		public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
-
-		//"INT"
-		public Keyword getINTINTKeyword_0_0() { return cINTINTKeyword_0_0; }
-
-		//STRING
-		public EnumLiteralDeclaration getSTRINGEnumLiteralDeclaration_1() { return cSTRINGEnumLiteralDeclaration_1; }
-
-		//"STRING"
-		public Keyword getSTRINGSTRINGKeyword_1_0() { return cSTRINGSTRINGKeyword_1_0; }
-
-		//BOOL
-		public EnumLiteralDeclaration getBOOLEnumLiteralDeclaration_2() { return cBOOLEnumLiteralDeclaration_2; }
-
-		//"BOOL"
-		public Keyword getBOOLBOOLKeyword_2_0() { return cBOOLBOOLKeyword_2_0; }
-
-		//DOUBLE
-		public EnumLiteralDeclaration getDOUBLEEnumLiteralDeclaration_3() { return cDOUBLEEnumLiteralDeclaration_3; }
-
-		//"DOUBLE"
-		public Keyword getDOUBLEDOUBLEKeyword_3_0() { return cDOUBLEDOUBLEKeyword_3_0; }
-
-		//CHAR
-		public EnumLiteralDeclaration getCHAREnumLiteralDeclaration_4() { return cCHAREnumLiteralDeclaration_4; }
-
-		//"CHAR"
-		public Keyword getCHARCHARKeyword_4_0() { return cCHARCHARKeyword_4_0; }
-
-		//BYTE
-		public EnumLiteralDeclaration getBYTEEnumLiteralDeclaration_5() { return cBYTEEnumLiteralDeclaration_5; }
-
-		//"BYTE"
-		public Keyword getBYTEBYTEKeyword_5_0() { return cBYTEBYTEKeyword_5_0; }
-
-		//LONG
-		public EnumLiteralDeclaration getLONGEnumLiteralDeclaration_6() { return cLONGEnumLiteralDeclaration_6; }
-
-		//"LONG"
-		public Keyword getLONGLONGKeyword_6_0() { return cLONGLONGKeyword_6_0; }
-	}
-
-	public class ParameterModifierElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ParameterModifier");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cNONEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cNONENONEKeyword_0_0 = (Keyword)cNONEEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cINEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cININKeyword_1_0 = (Keyword)cINEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cOUTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cOUTOUTKeyword_2_0 = (Keyword)cOUTEnumLiteralDeclaration_2.eContents().get(0);
-		private final EnumLiteralDeclaration cINOUTEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
-		private final Keyword cINOUTINOUTKeyword_3_0 = (Keyword)cINOUTEnumLiteralDeclaration_3.eContents().get(0);
-		
-		//enum ParameterModifier returns repository::ParameterModifier:
-		//	NONE | IN | OUT | INOUT;
-		public EnumRule getRule() { return rule; }
-
-		//NONE | IN | OUT | INOUT
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//NONE
-		public EnumLiteralDeclaration getNONEEnumLiteralDeclaration_0() { return cNONEEnumLiteralDeclaration_0; }
-
-		//"NONE"
-		public Keyword getNONENONEKeyword_0_0() { return cNONENONEKeyword_0_0; }
-
-		//IN
-		public EnumLiteralDeclaration getINEnumLiteralDeclaration_1() { return cINEnumLiteralDeclaration_1; }
-
-		//"IN"
-		public Keyword getININKeyword_1_0() { return cININKeyword_1_0; }
-
-		//OUT
-		public EnumLiteralDeclaration getOUTEnumLiteralDeclaration_2() { return cOUTEnumLiteralDeclaration_2; }
-
-		//"OUT"
-		public Keyword getOUTOUTKeyword_2_0() { return cOUTOUTKeyword_2_0; }
-
-		//INOUT
-		public EnumLiteralDeclaration getINOUTEnumLiteralDeclaration_3() { return cINOUTEnumLiteralDeclaration_3; }
-
-		//"INOUT"
-		public Keyword getINOUTINOUTKeyword_3_0() { return cINOUTINOUTKeyword_3_0; }
-	}
-
-	public class CharacterizationTypeElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "CharacterizationType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cVALUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cVALUEVALUEKeyword_0_0 = (Keyword)cVALUEEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0 = (Keyword)cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1.eContents().get(0);
-		
-		//enum CharacterizationType:
-		//	VALUE | NUMBER_OF_ELEMENTS;
-		public EnumRule getRule() { return rule; }
-
-		//VALUE | NUMBER_OF_ELEMENTS
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//VALUE
-		public EnumLiteralDeclaration getVALUEEnumLiteralDeclaration_0() { return cVALUEEnumLiteralDeclaration_0; }
-
-		//"VALUE"
-		public Keyword getVALUEVALUEKeyword_0_0() { return cVALUEVALUEKeyword_0_0; }
-
-		//NUMBER_OF_ELEMENTS
-		public EnumLiteralDeclaration getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1() { return cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1; }
-
-		//"NUMBER_OF_ELEMENTS"
-		public Keyword getNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0() { return cNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0; }
-	}
-	
-	private RepositoryElements pRepository;
-	private DataTypeElements pDataType;
-	private RepositoryComponentElements pRepositoryComponent;
-	private RelationshipElements pRelationship;
-	private InfluencingParameterElements pInfluencingParameter;
-	private InterfaceProvidingEntityElements pInterfaceProvidingEntity;
-	private InterfaceProvidingRequiringEntityElements pInterfaceProvidingRequiringEntity;
-	private ServiceBehaviorAbstractionElements pServiceBehaviorAbstraction;
-	private ExternalCallElements pExternalCall;
-	private AbstractActionElements pAbstractAction;
-	private ComponentInternalBehaviorElements pComponentInternalBehavior;
-	private ProcessingResourceTypeElements pProcessingResourceType;
-	private ProbabilityFunctionElements pProbabilityFunction;
-	private EStringElements pEString;
-	private InterfaceElements pInterface;
-	private RepositoryComponent_ImplElements pRepositoryComponent_Impl;
-	private CollectionDataTypeElements pCollectionDataType;
-	private CompositeDataTypeElements pCompositeDataType;
-	private PrimitiveDataTypeElements pPrimitiveDataType;
-	private InnerDeclarationElements pInnerDeclaration;
-	private PrimitiveTypeEnumElements unknownRulePrimitiveTypeEnum;
-	private SignatureElements pSignature;
-	private ParameterElements pParameter;
-	private ParameterModifierElements unknownRuleParameterModifier;
-	private ProvidedRoleElements pProvidedRole;
-	private BlackBoxBehaviorElements pBlackBoxBehavior;
-	private RequiredRoleElements pRequiredRole;
-	private CoarseGrainedBehaviorElements pCoarseGrainedBehavior;
-	private BasicComponentElements pBasicComponent;
-	private CompositeComponentElements pCompositeComponent;
-	private SubSystemElements pSubSystem;
-	private InfluencingParameter_ImplElements pInfluencingParameter_Impl;
-	private ResponseTimeSpecificationElements pResponseTimeSpecification;
-	private ScopeElements pScope;
-	private ServiceInputParameterElements pServiceInputParameter;
-	private ExternalCallReturnParameterElements pExternalCallReturnParameter;
-	private ExternalCallParameterElements pExternalCallParameter;
-	private FineGrainedBehaviorElements pFineGrainedBehavior;
-	private AbstractAction_ImplElements pAbstractAction_Impl;
-	private ComponentInternalBehavior_ImplElements pComponentInternalBehavior_Impl;
-	private StartActionElements pStartAction;
-	private StopActionElements pStopAction;
-	private AcquireActionElements pAcquireAction;
-	private ReleaseActionElements pReleaseAction;
-	private InternalActionElements pInternalAction;
-	private ForkActionElements pForkAction;
-	private BranchActionElements pBranchAction;
-	private LoopActionElements pLoopAction;
-	private ExternalCallActionElements pExternalCallAction;
-	private PassiveResourceSpecificationElements pPassiveResourceSpecification;
-	private PassiveResourceCapacityElements pPassiveResourceCapacity;
-	private PassiveResourceTypeElements pPassiveResourceType;
-	private EBigIntegerElements pEBigInteger;
-	private ResourceDemandSpecificationElements pResourceDemandSpecification;
-	private ProcessingResourceType_ImplElements pProcessingResourceType_Impl;
-	private CommunicationLinkResourceTypeElements pCommunicationLinkResourceType;
-	private EBooleanElements pEBoolean;
-	private BranchTransitionElements pBranchTransition;
-	private BranchProbabilitiesElements pBranchProbabilities;
-	private RandomVariableElements pRandomVariable;
-	private ProbabilityMassFunctionElements pProbabilityMassFunction;
-	private ProbabilityDensityFunction_ImplElements pProbabilityDensityFunction_Impl;
-	private BoxedPDFElements pBoxedPDF;
-	private ContinuousPDF_ImplElements pContinuousPDF_Impl;
-	private NormalDistributionElements pNormalDistribution;
-	private ExponentialDistributionElements pExponentialDistribution;
-	private SampleElements pSample;
-	private EObjectElements pEObject;
-	private EBigDecimalElements pEBigDecimal;
-	private ContinuousSampleElements pContinuousSample;
-	private LoopIterationCountDistributionElements pLoopIterationCountDistribution;
-	private AssemblyContextElements pAssemblyContext;
-	private AssemblyConnectorElements pAssemblyConnector;
-	private ProvidedDelegationConnectorElements pProvidedDelegationConnector;
-	private RequiredDelegationConnectorElements pRequiredDelegationConnector;
-	private CharacterizationTypeElements unknownRuleCharacterizationType;
-	private ExternalCall_ImplElements pExternalCall_Impl;
-	private ExternalCallFrequencyElements pExternalCallFrequency;
-	private CallFrequencyElements pCallFrequency;
-	private DependencyRelationshipElements pDependencyRelationship;
-	private CorrelationRelationshipElements pCorrelationRelationship;
-	private InfluencedVariableElements pInfluencedVariable;
-	private ComponentInstanceReferenceElements pComponentInstanceReference;
-	
-	private final GrammarProvider grammarProvider;
-
-	private TerminalsGrammarAccess gaTerminals;
-
-	@Inject
-	public RepositoryDSLGrammarAccess(GrammarProvider grammarProvider,
-		TerminalsGrammarAccess gaTerminals) {
-		this.grammarProvider = grammarProvider;
-		this.gaTerminals = gaTerminals;
-	}
-	
-	public Grammar getGrammar() {	
-		return grammarProvider.getGrammar(this);
-	}
-	
-
-	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
-		return gaTerminals;
-	}
-
-	
-	//Repository returns repository::Repository:
-	//	"Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
-	//	("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{"
-	//	components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}";
-	public RepositoryElements getRepositoryAccess() {
-		return (pRepository != null) ? pRepository : (pRepository = new RepositoryElements());
-	}
-	
-	public ParserRule getRepositoryRule() {
-		return getRepositoryAccess().getRule();
-	}
-
-	//DataType returns repository::DataType:
-	//	CollectionDataType | CompositeDataType | PrimitiveDataType;
-	public DataTypeElements getDataTypeAccess() {
-		return (pDataType != null) ? pDataType : (pDataType = new DataTypeElements());
-	}
-	
-	public ParserRule getDataTypeRule() {
-		return getDataTypeAccess().getRule();
-	}
-
-	//RepositoryComponent returns repository::RepositoryComponent:
-	//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-	public RepositoryComponentElements getRepositoryComponentAccess() {
-		return (pRepositoryComponent != null) ? pRepositoryComponent : (pRepositoryComponent = new RepositoryComponentElements());
-	}
-	
-	public ParserRule getRepositoryComponentRule() {
-		return getRepositoryComponentAccess().getRule();
-	}
-
-	//Relationship:
-	//	DependencyRelationship | CorrelationRelationship;
-	public RelationshipElements getRelationshipAccess() {
-		return (pRelationship != null) ? pRelationship : (pRelationship = new RelationshipElements());
-	}
-	
-	public ParserRule getRelationshipRule() {
-		return getRelationshipAccess().getRule();
-	}
-
-	//InfluencingParameter:
-	//	InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter;
-	public InfluencingParameterElements getInfluencingParameterAccess() {
-		return (pInfluencingParameter != null) ? pInfluencingParameter : (pInfluencingParameter = new InfluencingParameterElements());
-	}
-	
-	public ParserRule getInfluencingParameterRule() {
-		return getInfluencingParameterAccess().getRule();
-	}
-
-	//InterfaceProvidingEntity returns repository::InterfaceProvidingEntity:
-	//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-	public InterfaceProvidingEntityElements getInterfaceProvidingEntityAccess() {
-		return (pInterfaceProvidingEntity != null) ? pInterfaceProvidingEntity : (pInterfaceProvidingEntity = new InterfaceProvidingEntityElements());
-	}
-	
-	public ParserRule getInterfaceProvidingEntityRule() {
-		return getInterfaceProvidingEntityAccess().getRule();
-	}
-
-	//InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity:
-	//	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-	public InterfaceProvidingRequiringEntityElements getInterfaceProvidingRequiringEntityAccess() {
-		return (pInterfaceProvidingRequiringEntity != null) ? pInterfaceProvidingRequiringEntity : (pInterfaceProvidingRequiringEntity = new InterfaceProvidingRequiringEntityElements());
-	}
-	
-	public ParserRule getInterfaceProvidingRequiringEntityRule() {
-		return getInterfaceProvidingRequiringEntityAccess().getRule();
-	}
-
-	//ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction:
-	//	FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior;
-	public ServiceBehaviorAbstractionElements getServiceBehaviorAbstractionAccess() {
-		return (pServiceBehaviorAbstraction != null) ? pServiceBehaviorAbstraction : (pServiceBehaviorAbstraction = new ServiceBehaviorAbstractionElements());
-	}
-	
-	public ParserRule getServiceBehaviorAbstractionRule() {
-		return getServiceBehaviorAbstractionAccess().getRule();
-	}
-
-	//ExternalCall returns servicebehavior::ExternalCall:
-	//	ExternalCall_Impl | ExternalCallAction;
-	public ExternalCallElements getExternalCallAccess() {
-		return (pExternalCall != null) ? pExternalCall : (pExternalCall = new ExternalCallElements());
-	}
-	
-	public ParserRule getExternalCallRule() {
-		return getExternalCallAccess().getRule();
-	}
-
-	//AbstractAction returns servicebehavior::AbstractAction:
-	//	AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction |
-	//	BranchAction | LoopAction | ExternalCallAction;
-	public AbstractActionElements getAbstractActionAccess() {
-		return (pAbstractAction != null) ? pAbstractAction : (pAbstractAction = new AbstractActionElements());
-	}
-	
-	public ParserRule getAbstractActionRule() {
-		return getAbstractActionAccess().getRule();
-	}
-
-	//ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior:
-	//	ComponentInternalBehavior_Impl | FineGrainedBehavior;
-	public ComponentInternalBehaviorElements getComponentInternalBehaviorAccess() {
-		return (pComponentInternalBehavior != null) ? pComponentInternalBehavior : (pComponentInternalBehavior = new ComponentInternalBehaviorElements());
-	}
-	
-	public ParserRule getComponentInternalBehaviorRule() {
-		return getComponentInternalBehaviorAccess().getRule();
-	}
-
-	//ProcessingResourceType returns resourcetype::ProcessingResourceType:
-	//	ProcessingResourceType_Impl | CommunicationLinkResourceType;
-	public ProcessingResourceTypeElements getProcessingResourceTypeAccess() {
-		return (pProcessingResourceType != null) ? pProcessingResourceType : (pProcessingResourceType = new ProcessingResourceTypeElements());
-	}
-	
-	public ParserRule getProcessingResourceTypeRule() {
-		return getProcessingResourceTypeAccess().getRule();
-	}
-
-	//ProbabilityFunction returns functions::ProbabilityFunction:
-	//	ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution |
-	//	ExponentialDistribution;
-	public ProbabilityFunctionElements getProbabilityFunctionAccess() {
-		return (pProbabilityFunction != null) ? pProbabilityFunction : (pProbabilityFunction = new ProbabilityFunctionElements());
-	}
-	
-	public ParserRule getProbabilityFunctionRule() {
-		return getProbabilityFunctionAccess().getRule();
-	}
-
-	//EString returns ecore::EString:
-	//	STRING | ID;
-	public EStringElements getEStringAccess() {
-		return (pEString != null) ? pEString : (pEString = new EStringElements());
-	}
-	
-	public ParserRule getEStringRule() {
-		return getEStringAccess().getRule();
-	}
-
-	//Interface returns repository::Interface:
-	//	"Interface" id=EString "{" "name" name=EString ("parentInterfaces" "("
-	//	parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")?
-	//	("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}";
-	public InterfaceElements getInterfaceAccess() {
-		return (pInterface != null) ? pInterface : (pInterface = new InterfaceElements());
-	}
-	
-	public ParserRule getInterfaceRule() {
-		return getInterfaceAccess().getRule();
-	}
-
-	//RepositoryComponent_Impl returns repository::RepositoryComponent:
-	//	"RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-	//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-	//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-	//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-	//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-	//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}";
-	public RepositoryComponent_ImplElements getRepositoryComponent_ImplAccess() {
-		return (pRepositoryComponent_Impl != null) ? pRepositoryComponent_Impl : (pRepositoryComponent_Impl = new RepositoryComponent_ImplElements());
-	}
-	
-	public ParserRule getRepositoryComponent_ImplRule() {
-		return getRepositoryComponent_ImplAccess().getRule();
-	}
-
-	//CollectionDataType returns repository::CollectionDataType:
-	//	"CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}";
-	public CollectionDataTypeElements getCollectionDataTypeAccess() {
-		return (pCollectionDataType != null) ? pCollectionDataType : (pCollectionDataType = new CollectionDataTypeElements());
-	}
-	
-	public ParserRule getCollectionDataTypeRule() {
-		return getCollectionDataTypeAccess().getRule();
-	}
-
-	//CompositeDataType returns repository::CompositeDataType:
-	//	"CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "("
-	//	parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")?
-	//	("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}";
-	public CompositeDataTypeElements getCompositeDataTypeAccess() {
-		return (pCompositeDataType != null) ? pCompositeDataType : (pCompositeDataType = new CompositeDataTypeElements());
-	}
-	
-	public ParserRule getCompositeDataTypeRule() {
-		return getCompositeDataTypeAccess().getRule();
-	}
-
-	//PrimitiveDataType returns repository::PrimitiveDataType:
-	//	"PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}";
-	public PrimitiveDataTypeElements getPrimitiveDataTypeAccess() {
-		return (pPrimitiveDataType != null) ? pPrimitiveDataType : (pPrimitiveDataType = new PrimitiveDataTypeElements());
-	}
-	
-	public ParserRule getPrimitiveDataTypeRule() {
-		return getPrimitiveDataTypeAccess().getRule();
-	}
-
-	//InnerDeclaration returns repository::InnerDeclaration:
-	//	"InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}";
-	public InnerDeclarationElements getInnerDeclarationAccess() {
-		return (pInnerDeclaration != null) ? pInnerDeclaration : (pInnerDeclaration = new InnerDeclarationElements());
-	}
-	
-	public ParserRule getInnerDeclarationRule() {
-		return getInnerDeclarationAccess().getRule();
-	}
-
-	//enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum:
-	//	INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG;
-	public PrimitiveTypeEnumElements getPrimitiveTypeEnumAccess() {
-		return (unknownRulePrimitiveTypeEnum != null) ? unknownRulePrimitiveTypeEnum : (unknownRulePrimitiveTypeEnum = new PrimitiveTypeEnumElements());
-	}
-	
-	public EnumRule getPrimitiveTypeEnumRule() {
-		return getPrimitiveTypeEnumAccess().getRule();
-	}
-
-	//Signature returns repository::Signature:
-	//	"Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters"
-	//	"{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}";
-	public SignatureElements getSignatureAccess() {
-		return (pSignature != null) ? pSignature : (pSignature = new SignatureElements());
-	}
-	
-	public ParserRule getSignatureRule() {
-		return getSignatureAccess().getRule();
-	}
-
-	//Parameter returns repository::Parameter:
-	//	"Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString]
-	//	"}";
-	public ParameterElements getParameterAccess() {
-		return (pParameter != null) ? pParameter : (pParameter = new ParameterElements());
-	}
-	
-	public ParserRule getParameterRule() {
-		return getParameterAccess().getRule();
-	}
-
-	//enum ParameterModifier returns repository::ParameterModifier:
-	//	NONE | IN | OUT | INOUT;
-	public ParameterModifierElements getParameterModifierAccess() {
-		return (unknownRuleParameterModifier != null) ? unknownRuleParameterModifier : (unknownRuleParameterModifier = new ParameterModifierElements());
-	}
-	
-	public EnumRule getParameterModifierRule() {
-		return getParameterModifierAccess().getRule();
-	}
-
-	//ProvidedRole returns repository::ProvidedRole:
-	//	"ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
-	public ProvidedRoleElements getProvidedRoleAccess() {
-		return (pProvidedRole != null) ? pProvidedRole : (pProvidedRole = new ProvidedRoleElements());
-	}
-	
-	public ParserRule getProvidedRoleRule() {
-		return getProvidedRoleAccess().getRule();
-	}
-
-	//BlackBoxBehavior returns servicebehavior::BlackBoxBehavior:
-	//	"BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity"
-	//	describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{"
-	//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-	//	("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}";
-	public BlackBoxBehaviorElements getBlackBoxBehaviorAccess() {
-		return (pBlackBoxBehavior != null) ? pBlackBoxBehavior : (pBlackBoxBehavior = new BlackBoxBehaviorElements());
-	}
-	
-	public ParserRule getBlackBoxBehaviorRule() {
-		return getBlackBoxBehaviorAccess().getRule();
-	}
-
-	//RequiredRole returns repository::RequiredRole:
-	//	"RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}";
-	public RequiredRoleElements getRequiredRoleAccess() {
-		return (pRequiredRole != null) ? pRequiredRole : (pRequiredRole = new RequiredRoleElements());
-	}
-	
-	public ParserRule getRequiredRoleRule() {
-		return getRequiredRoleAccess().getRule();
-	}
-
-	//CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior:
-	//	"CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])?
-	//	"describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{"
-	//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")?
-	//	("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency (","
-	//	externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{"
-	//	resourceDemandSpecification+=ResourceDemandSpecification (","
-	//	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
-	public CoarseGrainedBehaviorElements getCoarseGrainedBehaviorAccess() {
-		return (pCoarseGrainedBehavior != null) ? pCoarseGrainedBehavior : (pCoarseGrainedBehavior = new CoarseGrainedBehaviorElements());
-	}
-	
-	public ParserRule getCoarseGrainedBehaviorRule() {
-		return getCoarseGrainedBehaviorAccess().getRule();
-	}
-
-	//BasicComponent returns repository::BasicComponent:
-	//	"BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-	//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-	//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-	//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-	//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-	//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{"
-	//	passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")?
-	//	("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)*
-	//	"}")? "}";
-	public BasicComponentElements getBasicComponentAccess() {
-		return (pBasicComponent != null) ? pBasicComponent : (pBasicComponent = new BasicComponentElements());
-	}
-	
-	public ParserRule getBasicComponentRule() {
-		return getBasicComponentAccess().getRule();
-	}
-
-	//CompositeComponent returns repository::CompositeComponent:
-	//	"CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-	//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-	//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-	//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-	//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-	//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-	//	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-	//	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-	//	providedDelegationConnectors+=ProvidedDelegationConnector (","
-	//	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-	//	requiredDelegationConnectors+=RequiredDelegationConnector (","
-	//	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
-	public CompositeComponentElements getCompositeComponentAccess() {
-		return (pCompositeComponent != null) ? pCompositeComponent : (pCompositeComponent = new CompositeComponentElements());
-	}
-	
-	public ParserRule getCompositeComponentRule() {
-		return getCompositeComponentAccess().getRule();
-	}
-
-	//SubSystem returns repository::SubSystem:
-	//	"SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] (","
-	//	relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole (","
-	//	providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior (","
-	//	blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole (","
-	//	requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior (","
-	//	coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext (","
-	//	assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector (","
-	//	assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{"
-	//	providedDelegationConnectors+=ProvidedDelegationConnector (","
-	//	providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{"
-	//	requiredDelegationConnectors+=RequiredDelegationConnector (","
-	//	requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}";
-	public SubSystemElements getSubSystemAccess() {
-		return (pSubSystem != null) ? pSubSystem : (pSubSystem = new SubSystemElements());
-	}
-	
-	public ParserRule getSubSystemRule() {
-		return getSubSystemAccess().getRule();
-	}
-
-	//InfluencingParameter_Impl returns InfluencingParameter:
-	//	"InfluencingParameter" name=EString "{" "description" description=EString "behavior"
-	//	behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")?
-	//	"}";
-	public InfluencingParameter_ImplElements getInfluencingParameter_ImplAccess() {
-		return (pInfluencingParameter_Impl != null) ? pInfluencingParameter_Impl : (pInfluencingParameter_Impl = new InfluencingParameter_ImplElements());
-	}
-	
-	public ParserRule getInfluencingParameter_ImplRule() {
-		return getInfluencingParameter_ImplAccess().getRule();
-	}
-
-	//ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification:
-	//	{servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification";
-	public ResponseTimeSpecificationElements getResponseTimeSpecificationAccess() {
-		return (pResponseTimeSpecification != null) ? pResponseTimeSpecification : (pResponseTimeSpecification = new ResponseTimeSpecificationElements());
-	}
-	
-	public ParserRule getResponseTimeSpecificationRule() {
-		return getResponseTimeSpecificationAccess().getRule();
-	}
-
-	//Scope:
-	//	"Scope" "{" "interfaceProvidingRequiringEntity"
-	//	interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}";
-	public ScopeElements getScopeAccess() {
-		return (pScope != null) ? pScope : (pScope = new ScopeElements());
-	}
-	
-	public ParserRule getScopeRule() {
-		return getScopeAccess().getRule();
-	}
-
-	//ServiceInputParameter:
-	//	"ServiceInputParameter" name=EString "{" "description" description=EString "characterization"
-	//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-	//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-	//	("returnType" returnType=[repository::DataType|EString])? "providedRole"
-	//	providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-	public ServiceInputParameterElements getServiceInputParameterAccess() {
-		return (pServiceInputParameter != null) ? pServiceInputParameter : (pServiceInputParameter = new ServiceInputParameterElements());
-	}
-	
-	public ParserRule getServiceInputParameterRule() {
-		return getServiceInputParameterAccess().getRule();
-	}
-
-	//ExternalCallReturnParameter:
-	//	"ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization"
-	//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-	//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-	//	("returnType" returnType=[repository::DataType|EString])? "externalCall"
-	//	externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-	public ExternalCallReturnParameterElements getExternalCallReturnParameterAccess() {
-		return (pExternalCallReturnParameter != null) ? pExternalCallReturnParameter : (pExternalCallReturnParameter = new ExternalCallReturnParameterElements());
-	}
-	
-	public ParserRule getExternalCallReturnParameterRule() {
-		return getExternalCallReturnParameterAccess().getRule();
-	}
-
-	//ExternalCallParameter:
-	//	"ExternalCallParameter" name=EString "{" "description" description=EString "characterization"
-	//	characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-	//	"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])?
-	//	("returnType" returnType=[repository::DataType|EString])? "externallCall"
-	//	externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}";
-	public ExternalCallParameterElements getExternalCallParameterAccess() {
-		return (pExternalCallParameter != null) ? pExternalCallParameter : (pExternalCallParameter = new ExternalCallParameterElements());
-	}
-	
-	public ParserRule getExternalCallParameterRule() {
-		return getExternalCallParameterAccess().getRule();
-	}
-
-	//FineGrainedBehavior returns servicebehavior::FineGrainedBehavior:
-	//	"FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent"
-	//	basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{"
-	//	influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{"
-	//	actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}";
-	public FineGrainedBehaviorElements getFineGrainedBehaviorAccess() {
-		return (pFineGrainedBehavior != null) ? pFineGrainedBehavior : (pFineGrainedBehavior = new FineGrainedBehaviorElements());
-	}
-	
-	public ParserRule getFineGrainedBehaviorRule() {
-		return getFineGrainedBehaviorAccess().getRule();
-	}
-
-	//AbstractAction_Impl returns servicebehavior::AbstractAction:
-	//	{servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor"
-	//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "}";
-	public AbstractAction_ImplElements getAbstractAction_ImplAccess() {
-		return (pAbstractAction_Impl != null) ? pAbstractAction_Impl : (pAbstractAction_Impl = new AbstractAction_ImplElements());
-	}
-	
-	public ParserRule getAbstractAction_ImplRule() {
-		return getAbstractAction_ImplAccess().getRule();
-	}
-
-	//ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior:
-	//	{servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction
-	//	("," actions+=AbstractAction)* "}")? "}";
-	public ComponentInternalBehavior_ImplElements getComponentInternalBehavior_ImplAccess() {
-		return (pComponentInternalBehavior_Impl != null) ? pComponentInternalBehavior_Impl : (pComponentInternalBehavior_Impl = new ComponentInternalBehavior_ImplElements());
-	}
-	
-	public ParserRule getComponentInternalBehavior_ImplRule() {
-		return getComponentInternalBehavior_ImplAccess().getRule();
-	}
-
-	//StartAction returns servicebehavior::StartAction:
-	//	{servicebehavior::StartAction} "StartAction" "{" ("predecessor"
-	//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "}";
-	public StartActionElements getStartActionAccess() {
-		return (pStartAction != null) ? pStartAction : (pStartAction = new StartActionElements());
-	}
-	
-	public ParserRule getStartActionRule() {
-		return getStartActionAccess().getRule();
-	}
-
-	//StopAction returns servicebehavior::StopAction:
-	//	{servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])?
-	//	("successor" successor=[servicebehavior::AbstractAction|EString])? "}";
-	public StopActionElements getStopActionAccess() {
-		return (pStopAction != null) ? pStopAction : (pStopAction = new StopActionElements());
-	}
-	
-	public ParserRule getStopActionRule() {
-		return getStopActionAccess().getRule();
-	}
-
-	//AcquireAction returns servicebehavior::AcquireAction:
-	//	"AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-	//	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
-	public AcquireActionElements getAcquireActionAccess() {
-		return (pAcquireAction != null) ? pAcquireAction : (pAcquireAction = new AcquireActionElements());
-	}
-	
-	public ParserRule getAcquireActionRule() {
-		return getAcquireActionAccess().getRule();
-	}
-
-	//ReleaseAction returns servicebehavior::ReleaseAction:
-	//	"ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "passiveResource"
-	//	passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}";
-	public ReleaseActionElements getReleaseActionAccess() {
-		return (pReleaseAction != null) ? pReleaseAction : (pReleaseAction = new ReleaseActionElements());
-	}
-	
-	public ParserRule getReleaseActionRule() {
-		return getReleaseActionAccess().getRule();
-	}
-
-	//InternalAction returns servicebehavior::InternalAction:
-	//	{servicebehavior::InternalAction} "InternalAction" "{" ("predecessor"
-	//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{"
-	//	resourceDemandSpecification+=ResourceDemandSpecification (","
-	//	resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}";
-	public InternalActionElements getInternalActionAccess() {
-		return (pInternalAction != null) ? pInternalAction : (pInternalAction = new InternalActionElements());
-	}
-	
-	public ParserRule getInternalActionRule() {
-		return getInternalActionAccess().getRule();
-	}
-
-	//ForkAction returns servicebehavior::ForkAction:
-	//	withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor"
-	//	predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{"
-	//	forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}";
-	public ForkActionElements getForkActionAccess() {
-		return (pForkAction != null) ? pForkAction : (pForkAction = new ForkActionElements());
-	}
-	
-	public ParserRule getForkActionRule() {
-		return getForkActionAccess().getRule();
-	}
-
-	//BranchAction returns servicebehavior::BranchAction:
-	//	"BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition (","
-	//	branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}";
-	public BranchActionElements getBranchActionAccess() {
-		return (pBranchAction != null) ? pBranchAction : (pBranchAction = new BranchActionElements());
-	}
-	
-	public ParserRule getBranchActionRule() {
-		return getBranchActionAccess().getRule();
-	}
-
-	//LoopAction returns servicebehavior::LoopAction:
-	//	"LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior
-	//	"loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}";
-	public LoopActionElements getLoopActionAccess() {
-		return (pLoopAction != null) ? pLoopAction : (pLoopAction = new LoopActionElements());
-	}
-	
-	public ParserRule getLoopActionRule() {
-		return getLoopActionAccess().getRule();
-	}
-
-	//ExternalCallAction returns servicebehavior::ExternalCallAction:
-	//	"ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor"
-	//	successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString]
-	//	"requiredRole" requiredRole=[repository::RequiredRole|EString] "}";
-	public ExternalCallActionElements getExternalCallActionAccess() {
-		return (pExternalCallAction != null) ? pExternalCallAction : (pExternalCallAction = new ExternalCallActionElements());
-	}
-	
-	public ParserRule getExternalCallActionRule() {
-		return getExternalCallActionAccess().getRule();
-	}
-
-	//PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification:
-	//	"PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType"
-	//	passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}";
-	public PassiveResourceSpecificationElements getPassiveResourceSpecificationAccess() {
-		return (pPassiveResourceSpecification != null) ? pPassiveResourceSpecification : (pPassiveResourceSpecification = new PassiveResourceSpecificationElements());
-	}
-	
-	public ParserRule getPassiveResourceSpecificationRule() {
-		return getPassiveResourceSpecificationAccess().getRule();
-	}
-
-	//PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity:
-	//	"PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}";
-	public PassiveResourceCapacityElements getPassiveResourceCapacityAccess() {
-		return (pPassiveResourceCapacity != null) ? pPassiveResourceCapacity : (pPassiveResourceCapacity = new PassiveResourceCapacityElements());
-	}
-	
-	public ParserRule getPassiveResourceCapacityRule() {
-		return getPassiveResourceCapacityAccess().getRule();
-	}
-
-	//PassiveResourceType returns resourcetype::PassiveResourceType:
-	//	"PassiveResourceType" id=EString "{" "name" name=EString "}";
-	public PassiveResourceTypeElements getPassiveResourceTypeAccess() {
-		return (pPassiveResourceType != null) ? pPassiveResourceType : (pPassiveResourceType = new PassiveResourceTypeElements());
-	}
-	
-	public ParserRule getPassiveResourceTypeRule() {
-		return getPassiveResourceTypeAccess().getRule();
-	}
-
-	//EBigInteger returns ecore::EBigInteger:
-	//	"-"? INT;
-	public EBigIntegerElements getEBigIntegerAccess() {
-		return (pEBigInteger != null) ? pEBigInteger : (pEBigInteger = new EBigIntegerElements());
-	}
-	
-	public ParserRule getEBigIntegerRule() {
-		return getEBigIntegerAccess().getRule();
-	}
-
-	//ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification:
-	//	"ResourceDemandSpecification" "{" "processingResourceType"
-	//	processingResourceType=[resourcetype::ProcessingResourceType|EString] "}";
-	public ResourceDemandSpecificationElements getResourceDemandSpecificationAccess() {
-		return (pResourceDemandSpecification != null) ? pResourceDemandSpecification : (pResourceDemandSpecification = new ResourceDemandSpecificationElements());
-	}
-	
-	public ParserRule getResourceDemandSpecificationRule() {
-		return getResourceDemandSpecificationAccess().getRule();
-	}
-
-	//ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType:
-	//	"ProcessingResourceType" id=EString "{" "name" name=EString "}";
-	public ProcessingResourceType_ImplElements getProcessingResourceType_ImplAccess() {
-		return (pProcessingResourceType_Impl != null) ? pProcessingResourceType_Impl : (pProcessingResourceType_Impl = new ProcessingResourceType_ImplElements());
-	}
-	
-	public ParserRule getProcessingResourceType_ImplRule() {
-		return getProcessingResourceType_ImplAccess().getRule();
-	}
-
-	//CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType:
-	//	"CommunicationLinkResourceType" id=EString "{" "name" name=EString "}";
-	public CommunicationLinkResourceTypeElements getCommunicationLinkResourceTypeAccess() {
-		return (pCommunicationLinkResourceType != null) ? pCommunicationLinkResourceType : (pCommunicationLinkResourceType = new CommunicationLinkResourceTypeElements());
-	}
-	
-	public ParserRule getCommunicationLinkResourceTypeRule() {
-		return getCommunicationLinkResourceTypeAccess().getRule();
-	}
-
-	//EBoolean returns ecore::EBoolean:
-	//	"true" | "false";
-	public EBooleanElements getEBooleanAccess() {
-		return (pEBoolean != null) ? pEBoolean : (pEBoolean = new EBooleanElements());
-	}
-	
-	public ParserRule getEBooleanRule() {
-		return getEBooleanAccess().getRule();
-	}
-
-	//BranchTransition returns servicebehavior::BranchTransition:
-	//	"BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}";
-	public BranchTransitionElements getBranchTransitionAccess() {
-		return (pBranchTransition != null) ? pBranchTransition : (pBranchTransition = new BranchTransitionElements());
-	}
-	
-	public ParserRule getBranchTransitionRule() {
-		return getBranchTransitionAccess().getRule();
-	}
-
-	//BranchProbabilities returns servicebehavior::BranchProbabilities:
-	//	"BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}";
-	public BranchProbabilitiesElements getBranchProbabilitiesAccess() {
-		return (pBranchProbabilities != null) ? pBranchProbabilities : (pBranchProbabilities = new BranchProbabilitiesElements());
-	}
-	
-	public ParserRule getBranchProbabilitiesRule() {
-		return getBranchProbabilitiesAccess().getRule();
-	}
-
-	//RandomVariable returns functions::RandomVariable:
-	//	"RandomVariable" "{" "specification" specification=EString "probFunction"
-	//	probFunction=[functions::ProbabilityFunction|EString] "}";
-	public RandomVariableElements getRandomVariableAccess() {
-		return (pRandomVariable != null) ? pRandomVariable : (pRandomVariable = new RandomVariableElements());
-	}
-	
-	public ParserRule getRandomVariableRule() {
-		return getRandomVariableAccess().getRule();
-	}
-
-	//ProbabilityMassFunction returns functions::ProbabilityMassFunction:
-	//	{functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)*
-	//	"}")? "}";
-	public ProbabilityMassFunctionElements getProbabilityMassFunctionAccess() {
-		return (pProbabilityMassFunction != null) ? pProbabilityMassFunction : (pProbabilityMassFunction = new ProbabilityMassFunctionElements());
-	}
-	
-	public ParserRule getProbabilityMassFunctionRule() {
-		return getProbabilityMassFunctionAccess().getRule();
-	}
-
-	//ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction:
-	//	{functions::ProbabilityDensityFunction} "ProbabilityDensityFunction";
-	public ProbabilityDensityFunction_ImplElements getProbabilityDensityFunction_ImplAccess() {
-		return (pProbabilityDensityFunction_Impl != null) ? pProbabilityDensityFunction_Impl : (pProbabilityDensityFunction_Impl = new ProbabilityDensityFunction_ImplElements());
-	}
-	
-	public ParserRule getProbabilityDensityFunction_ImplRule() {
-		return getProbabilityDensityFunction_ImplAccess().getRule();
-	}
-
-	//BoxedPDF returns functions::BoxedPDF:
-	//	{functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
-	public BoxedPDFElements getBoxedPDFAccess() {
-		return (pBoxedPDF != null) ? pBoxedPDF : (pBoxedPDF = new BoxedPDFElements());
-	}
-	
-	public ParserRule getBoxedPDFRule() {
-		return getBoxedPDFAccess().getRule();
-	}
-
-	//ContinuousPDF_Impl returns functions::ContinuousPDF:
-	//	{functions::ContinuousPDF} "ContinuousPDF";
-	public ContinuousPDF_ImplElements getContinuousPDF_ImplAccess() {
-		return (pContinuousPDF_Impl != null) ? pContinuousPDF_Impl : (pContinuousPDF_Impl = new ContinuousPDF_ImplElements());
-	}
-	
-	public ParserRule getContinuousPDF_ImplRule() {
-		return getContinuousPDF_ImplAccess().getRule();
-	}
-
-	//NormalDistribution returns functions::NormalDistribution:
-	//	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
-	public NormalDistributionElements getNormalDistributionAccess() {
-		return (pNormalDistribution != null) ? pNormalDistribution : (pNormalDistribution = new NormalDistributionElements());
-	}
-	
-	public ParserRule getNormalDistributionRule() {
-		return getNormalDistributionAccess().getRule();
-	}
-
-	//ExponentialDistribution returns functions::ExponentialDistribution:
-	//	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
-	public ExponentialDistributionElements getExponentialDistributionAccess() {
-		return (pExponentialDistribution != null) ? pExponentialDistribution : (pExponentialDistribution = new ExponentialDistributionElements());
-	}
-	
-	public ParserRule getExponentialDistributionRule() {
-		return getExponentialDistributionAccess().getRule();
-	}
-
-	//Sample returns functions::Sample:
-	//	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
-	public SampleElements getSampleAccess() {
-		return (pSample != null) ? pSample : (pSample = new SampleElements());
-	}
-	
-	public ParserRule getSampleRule() {
-		return getSampleAccess().getRule();
-	}
-
-	//EObject returns ecore::EObject:
-	//	{ecore::EObject} "EObject";
-	public EObjectElements getEObjectAccess() {
-		return (pEObject != null) ? pEObject : (pEObject = new EObjectElements());
-	}
-	
-	public ParserRule getEObjectRule() {
-		return getEObjectAccess().getRule();
-	}
-
-	//EBigDecimal returns ecore::EBigDecimal:
-	//	INT? "." INT;
-	public EBigDecimalElements getEBigDecimalAccess() {
-		return (pEBigDecimal != null) ? pEBigDecimal : (pEBigDecimal = new EBigDecimalElements());
-	}
-	
-	public ParserRule getEBigDecimalRule() {
-		return getEBigDecimalAccess().getRule();
-	}
-
-	//ContinuousSample returns functions::ContinuousSample:
-	//	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
-	public ContinuousSampleElements getContinuousSampleAccess() {
-		return (pContinuousSample != null) ? pContinuousSample : (pContinuousSample = new ContinuousSampleElements());
-	}
-	
-	public ParserRule getContinuousSampleRule() {
-		return getContinuousSampleAccess().getRule();
-	}
-
-	//LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution:
-	//	"LoopIterationCountDistribution" "{" "loopIterationCountDistribution"
-	//	loopIterationCountDistribution=[functions::RandomVariable|EString] "}";
-	public LoopIterationCountDistributionElements getLoopIterationCountDistributionAccess() {
-		return (pLoopIterationCountDistribution != null) ? pLoopIterationCountDistribution : (pLoopIterationCountDistribution = new LoopIterationCountDistributionElements());
-	}
-	
-	public ParserRule getLoopIterationCountDistributionRule() {
-		return getLoopIterationCountDistributionAccess().getRule();
-	}
-
-	//AssemblyContext returns repository::AssemblyContext:
-	//	"AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent"
-	//	encapsulatedComponent=[repository::RepositoryComponent|EString] "}";
-	public AssemblyContextElements getAssemblyContextAccess() {
-		return (pAssemblyContext != null) ? pAssemblyContext : (pAssemblyContext = new AssemblyContextElements());
-	}
-	
-	public ParserRule getAssemblyContextRule() {
-		return getAssemblyContextAccess().getRule();
-	}
-
-	//AssemblyConnector returns repository::AssemblyConnector:
-	//	"AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString]
-	//	"providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext"
-	//	providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext"
-	//	requiringAssemblyContext=[repository::AssemblyContext|EString] "}";
-	public AssemblyConnectorElements getAssemblyConnectorAccess() {
-		return (pAssemblyConnector != null) ? pAssemblyConnector : (pAssemblyConnector = new AssemblyConnectorElements());
-	}
-	
-	public ParserRule getAssemblyConnectorRule() {
-		return getAssemblyConnectorAccess().getRule();
-	}
-
-	//ProvidedDelegationConnector returns repository::ProvidedDelegationConnector:
-	//	"ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-	//	assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole"
-	//	innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole"
-	//	outerProvidedRole=[repository::ProvidedRole|EString] "}";
-	public ProvidedDelegationConnectorElements getProvidedDelegationConnectorAccess() {
-		return (pProvidedDelegationConnector != null) ? pProvidedDelegationConnector : (pProvidedDelegationConnector = new ProvidedDelegationConnectorElements());
-	}
-	
-	public ParserRule getProvidedDelegationConnectorRule() {
-		return getProvidedDelegationConnectorAccess().getRule();
-	}
-
-	//RequiredDelegationConnector returns repository::RequiredDelegationConnector:
-	//	"RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext"
-	//	assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole"
-	//	innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole"
-	//	outerRequiredRole=[repository::RequiredRole|EString] "}";
-	public RequiredDelegationConnectorElements getRequiredDelegationConnectorAccess() {
-		return (pRequiredDelegationConnector != null) ? pRequiredDelegationConnector : (pRequiredDelegationConnector = new RequiredDelegationConnectorElements());
-	}
-	
-	public ParserRule getRequiredDelegationConnectorRule() {
-		return getRequiredDelegationConnectorAccess().getRule();
-	}
-
-	//enum CharacterizationType:
-	//	VALUE | NUMBER_OF_ELEMENTS;
-	public CharacterizationTypeElements getCharacterizationTypeAccess() {
-		return (unknownRuleCharacterizationType != null) ? unknownRuleCharacterizationType : (unknownRuleCharacterizationType = new CharacterizationTypeElements());
-	}
-	
-	public EnumRule getCharacterizationTypeRule() {
-		return getCharacterizationTypeAccess().getRule();
-	}
-
-	//ExternalCall_Impl returns servicebehavior::ExternalCall:
-	//	"ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole"
-	//	requiredRole=[repository::RequiredRole|EString] "}";
-	public ExternalCall_ImplElements getExternalCall_ImplAccess() {
-		return (pExternalCall_Impl != null) ? pExternalCall_Impl : (pExternalCall_Impl = new ExternalCall_ImplElements());
-	}
-	
-	public ParserRule getExternalCall_ImplRule() {
-		return getExternalCall_ImplAccess().getRule();
-	}
-
-	//ExternalCallFrequency returns servicebehavior::ExternalCallFrequency:
-	//	"ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}";
-	public ExternalCallFrequencyElements getExternalCallFrequencyAccess() {
-		return (pExternalCallFrequency != null) ? pExternalCallFrequency : (pExternalCallFrequency = new ExternalCallFrequencyElements());
-	}
-	
-	public ParserRule getExternalCallFrequencyRule() {
-		return getExternalCallFrequencyAccess().getRule();
-	}
-
-	//CallFrequency returns servicebehavior::CallFrequency:
-	//	"CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}";
-	public CallFrequencyElements getCallFrequencyAccess() {
-		return (pCallFrequency != null) ? pCallFrequency : (pCallFrequency = new CallFrequencyElements());
-	}
-	
-	public ParserRule getCallFrequencyRule() {
-		return getCallFrequencyAccess().getRule();
-	}
-
-	//DependencyRelationship:
-	//	"DependencyRelationship" "{" "surroundingEntity"
-	//	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable"
-	//	influencedVariable=[InfluencedVariable|EString] "influencingParameter"
-	//	influencingParameter=[InfluencingParameter|EString] "}";
-	public DependencyRelationshipElements getDependencyRelationshipAccess() {
-		return (pDependencyRelationship != null) ? pDependencyRelationship : (pDependencyRelationship = new DependencyRelationshipElements());
-	}
-	
-	public ParserRule getDependencyRelationshipRule() {
-		return getDependencyRelationshipAccess().getRule();
-	}
-
-	//CorrelationRelationship:
-	//	"CorrelationRelationship" "{" "surroundingEntity"
-	//	surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter"
-	//	leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter"
-	//	rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference"
-	//	leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference"
-	//	rightComponentInstanceReference=ComponentInstanceReference "}";
-	public CorrelationRelationshipElements getCorrelationRelationshipAccess() {
-		return (pCorrelationRelationship != null) ? pCorrelationRelationship : (pCorrelationRelationship = new CorrelationRelationshipElements());
-	}
-	
-	public ParserRule getCorrelationRelationshipRule() {
-		return getCorrelationRelationshipAccess().getRule();
-	}
-
-	//InfluencedVariable:
-	//	{InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable"
-	//	controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand"
-	//	resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime"
-	//	responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}";
-	public InfluencedVariableElements getInfluencedVariableAccess() {
-		return (pInfluencedVariable != null) ? pInfluencedVariable : (pInfluencedVariable = new InfluencedVariableElements());
-	}
-	
-	public ParserRule getInfluencedVariableRule() {
-		return getInfluencedVariableAccess().getRule();
-	}
-
-	//ComponentInstanceReference:
-	//	{ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "("
-	//	assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}";
-	public ComponentInstanceReferenceElements getComponentInstanceReferenceAccess() {
-		return (pComponentInstanceReference != null) ? pComponentInstanceReference : (pComponentInstanceReference = new ComponentInstanceReferenceElements());
-	}
-	
-	public ParserRule getComponentInstanceReferenceRule() {
-		return getComponentInstanceReferenceAccess().getRule();
-	}
-
-	//terminal ID:
-	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
-	public TerminalRule getIDRule() {
-		return gaTerminals.getIDRule();
-	} 
-
-	//terminal INT returns ecore::EInt:
-	//	"0".."9"+;
-	public TerminalRule getINTRule() {
-		return gaTerminals.getINTRule();
-	} 
-
-	//terminal STRING:
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
-	public TerminalRule getSTRINGRule() {
-		return gaTerminals.getSTRINGRule();
-	} 
-
-	//terminal ML_COMMENT:
-	//	"/ *"->"* /";
-	public TerminalRule getML_COMMENTRule() {
-		return gaTerminals.getML_COMMENTRule();
-	} 
-
-	//terminal SL_COMMENT:
-	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
-	public TerminalRule getSL_COMMENTRule() {
-		return gaTerminals.getSL_COMMENTRule();
-	} 
-
-	//terminal WS:
-	//	(" " | "\t" | "\r" | "\n")+;
-	public TerminalRule getWSRule() {
-		return gaTerminals.getWSRule();
-	} 
-
-	//terminal ANY_OTHER:
-	//	.;
-	public TerminalRule getANY_OTHERRule() {
-		return gaTerminals.getANY_OTHERRule();
-	} 
-}
diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java
deleted file mode 100644
index a9c90b78..00000000
--- a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation;
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
-
-public class AbstractRepositoryDSLJavaValidator extends AbstractDeclarativeValidator {
-
-	@Override
-	protected List<EPackage> getEPackages() {
-	    List<EPackage> result = new ArrayList<EPackage>();
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/repository/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/parameterdependencies/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/servicebehavior/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/resourcetype/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/functions/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/resourceconfiguration/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/emf/2002/Ecore"));
-		return result;
-	}
-
-}
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2 b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2
deleted file mode 100644
index ca138905..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2
+++ /dev/null
@@ -1,121 +0,0 @@
-module edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL
-
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
-
-var grammarURI = "classpath:/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext"
-var file.extensions = "repositoryDSL"
-var projectName = "edu.kit.ipd.descartes.mm.applicationlevel.repository.text"
-var runtimeProject = "../${projectName}"
-
-Workflow {
-	bean = StandaloneSetup {
-		scanClassPath  = true
-		platformUri = "${runtimeProject}/.."
-		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.parameterdependencies.ParameterdependenciesPackage"
-		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.system.SystemPackage"
-		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.repository.RepositoryPackage"
-		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.functions.FunctionsPackage"
-		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.servicebehavior.ServicebehaviorPackage"
-	
-		// registerGenModelFile = "platform:/resource/edu.kit.ipd.descartes.mm/model/applicationlevel.genmodel"
-	
-	}
-
-	component = DirectoryCleaner {
-		directory = "${runtimeProject}/src-gen"
-	}
-
-	component = DirectoryCleaner {
-		directory = "${runtimeProject}.ui/src-gen"
-	}
-
-	component = Generator {
-		pathRtProject = runtimeProject
-		pathUiProject = "${runtimeProject}.ui"
-		projectNameRt = projectName
-		projectNameUi = "${projectName}.ui"
-		language = {
-			uri = grammarURI
-			fileExtensions = file.extensions
-
-			// Java API to access grammar elements (required by several other fragments)
-			fragment = grammarAccess.GrammarAccessFragment {}
-
-			// generates Java API for the generated EPackages
-			// fragment = ecore.EcoreGeneratorFragment {}
-
-			// the serialization component
-			fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
-
-			// a custom ResourceFactory for use with EMF 
-			fragment = resourceFactory.ResourceFactoryFragment {
-				fileExtensions = file.extensions
-			}
-
-			// the Antlr parser
-			fragment = parser.antlr.XtextAntlrGeneratorFragment {
-				options = {
-					classSplitting = true
-				}
-			}
-
-			// the Ecore2Xtext specific terminal converter
-			fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment {}
-
-			// java-based API for validation 
-			fragment = validation.JavaValidatorFragment {
-			// composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-			// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
-			}
-
-			// scoping and exporting API
-			fragment = scoping.ImportURIScopingFragment {}
-			fragment = exporting.SimpleNamesFragment {}
-
-			// scoping and exporting API 
-
-			// fragment = scoping.ImportNamespacesScopingFragment {}
-			// fragment = exporting.QualifiedNamesFragment {}
-
-
-			// formatter API 
-			fragment = ecore2xtext.FormatterFragment {}
-
-			// labeling API 
-			fragment = labeling.LabelProviderFragment {}
-
-			// outline API 
-            fragment = outline.OutlineTreeProviderFragment {}
-            fragment = outline.QuickOutlineFragment {}
-
-			// java-based API for content assistance 
-			fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-			// antlr parser generator tailored for content assist 
-			fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
-				options = {
-					classSplitting = true
-				}
-			}
-
-			// provides a compare view
-            fragment = compare.CompareFragment {
-                fileExtensions = file.extensions
-            }
-
-			fragment = builder.BuilderIntegrationFragment {}
-
-			// project wizard (optional) 
-
-			// fragment = projectWizard.SimpleProjectWizardFragment {
-			//		generatorProjectName = "${projectName}.generator" 
-			//		modelFileExtension = file.extensions
-			// }
-
-			// quickfix API 
-			fragment = quickfix.QuickfixProviderFragment {}
-		}
-	}
-}
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext
deleted file mode 100644
index 1c9461e3..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext
+++ /dev/null
@@ -1,620 +0,0 @@
-// automatically generated by Xtext
-grammar edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL with org.eclipse.xtext.common.Terminals 
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/parameterdependency.ecore" 
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/servicebehavior.ecore" as servicebehavior
-
-import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/repository.ecore" as repository
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/system.ecore" as system
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourceconfiguration.ecore" as resourceconfiguration
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/functions.ecore" as functions
-
-import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourcetype.ecore" as resourcetype
-
-Repository returns repository::Repository:
-	'Repository'
-	id=EString
-	'{'
-		'name' name=EString
-		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )?
-		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )?
-		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-    '}';
-
-
-DataType returns repository::DataType:
-	CollectionDataType | CompositeDataType | PrimitiveDataType;
-
-RepositoryComponent returns repository::RepositoryComponent:
-	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-
-Relationship returns Relationship:
-	DependencyRelationship | CorrelationRelationship;
-
-InfluencingParameter returns InfluencingParameter:
-	InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter;
-
-InterfaceProvidingEntity returns repository::InterfaceProvidingEntity:
-	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-
-InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity:
-	RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem;
-
-ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction:
-	FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior;
-
-ExternalCall returns servicebehavior::ExternalCall:
-	ExternalCall_Impl | ExternalCallAction;
-
-AbstractAction returns servicebehavior::AbstractAction:
-	AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | BranchAction | LoopAction | ExternalCallAction;
-
-ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior:
-	ComponentInternalBehavior_Impl | FineGrainedBehavior;
-
-ProcessingResourceType returns resourcetype::ProcessingResourceType:
-	ProcessingResourceType_Impl | CommunicationLinkResourceType;
-
-ProbabilityFunction returns functions::ProbabilityFunction:
-	ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | ExponentialDistribution;
-
-EString returns ecore::EString:
-	STRING | ID;
-
-Interface returns repository::Interface:
-	'Interface'
-	id=EString
-	'{'
-		'name' name=EString
-		('parentInterfaces' '(' parentInterfaces+=[repository::Interface|EString] ( "," parentInterfaces+=[repository::Interface|EString])* ')' )?
-		('signatures' '{' signatures+=Signature ( "," signatures+=Signature)* '}' )?
-    '}';
-
-RepositoryComponent_Impl returns repository::RepositoryComponent:
-	'RepositoryComponent'
-	id=EString
-	'{'
-		'name' name=EString
-		('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )?
-		('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )?
-		('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )?
-		('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )?
-		('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )?
-    '}';
-
-CollectionDataType returns repository::CollectionDataType:
-	'CollectionDataType'
-	id=EString
-	'{'
-		'name' name=EString
-		'innerType' innerType=[repository::DataType|EString]
-    '}';
-
-CompositeDataType returns repository::CompositeDataType:
-	'CompositeDataType'
-	id=EString
-	'{'
-		'name' name=EString
-		('parentTypes' '(' parentTypes+=[repository::CompositeDataType|EString] ( "," parentTypes+=[repository::CompositeDataType|EString])* ')' )?
-		('innerDeclarations' '{' innerDeclarations+=InnerDeclaration ( "," innerDeclarations+=InnerDeclaration)* '}' )?
-    '}';
-
-PrimitiveDataType returns repository::PrimitiveDataType:
-	'PrimitiveDataType'
-	'{'
-		'type' type=PrimitiveTypeEnum
-    '}';
-
-InnerDeclaration returns repository::InnerDeclaration:
-	'InnerDeclaration'
-	id=EString
-	'{'
-		'name' name=EString
-		'dataType' dataType=[repository::DataType|EString]
-    '}';
-
-enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum:
-	INT = 'INT' | STRING = 'STRING' | BOOL = 'BOOL' | DOUBLE = 'DOUBLE' | CHAR = 'CHAR' | BYTE = 'BYTE' | LONG = 'LONG';
-
-Signature returns repository::Signature:
-	'Signature'
-	id=EString
-	'{'
-		'name' name=EString
-		('returnType' returnType=[repository::DataType|EString])?
-		('parameters' '{' parameters+=Parameter ( "," parameters+=Parameter)* '}' )?
-    '}';
-
-Parameter returns repository::Parameter:
-	'Parameter'
-	name=EString
-	'{'
-		'modifier' modifier=ParameterModifier
-		'dataType' dataType=[repository::DataType|EString]
-    '}';
-
-enum ParameterModifier returns repository::ParameterModifier:
-	NONE = 'NONE' | IN = 'IN' | OUT = 'OUT' | INOUT = 'INOUT';
-
-ProvidedRole returns repository::ProvidedRole:
-	'ProvidedRole'
-	id=EString
-	'{'
-		'name' name=EString
-		'interface' interface=[repository::Interface|EString]
-    '}';
-
-BlackBoxBehavior returns servicebehavior::BlackBoxBehavior:
-	'BlackBoxBehavior'
-	'{'
-		('describedSignature' describedSignature=[repository::Signature|EString])?
-		'describedEntity' describedEntity=[repository::InterfaceProvidingEntity|EString]
-		('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )?
-		('responseTimeSpecification' responseTimeSpecification=ResponseTimeSpecification)?
-    '}';
-
-RequiredRole returns repository::RequiredRole:
-	'RequiredRole'
-	id=EString
-	'{'
-		'name' name=EString
-		'interface' interface=[repository::Interface|EString]
-    '}';
-
-CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior:
-	'CoarseGrainedBehavior'
-	'{'
-		('describedSignature' describedSignature=[repository::Signature|EString])?
-		'describedEntity' describedEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )?
-		('externalCallFrequency' '{' externalCallFrequency+=ExternalCallFrequency ( "," externalCallFrequency+=ExternalCallFrequency)* '}' )?
-		('resourceDemandSpecification' '{' resourceDemandSpecification+=ResourceDemandSpecification ( "," resourceDemandSpecification+=ResourceDemandSpecification)* '}' )?
-    '}';
-
-BasicComponent returns repository::BasicComponent:
-	'BasicComponent'
-	id=EString
-	'{'
-		'name' name=EString
-		('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )?
-		('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )?
-		('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )?
-		('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )?
-		('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )?
-		('passiveResources' '{' passiveResources+=PassiveResourceSpecification ( "," passiveResources+=PassiveResourceSpecification)* '}' )?
-		('fineGrainedBehavior' '{' fineGrainedBehavior+=FineGrainedBehavior ( "," fineGrainedBehavior+=FineGrainedBehavior)* '}' )?
-    '}';
-
-CompositeComponent returns repository::CompositeComponent:
-	'CompositeComponent'
-	id=EString
-	'{'
-		'name' name=EString
-		('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )?
-		('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )?
-		('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )?
-		('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )?
-		('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )?
-		('assemblyContexts' '{' assemblyContexts+=AssemblyContext ( "," assemblyContexts+=AssemblyContext)* '}' )?
-		('assemblyConnectors' '{' assemblyConnectors+=AssemblyConnector ( "," assemblyConnectors+=AssemblyConnector)* '}' )?
-		('providedDelegationConnectors' '{' providedDelegationConnectors+=ProvidedDelegationConnector ( "," providedDelegationConnectors+=ProvidedDelegationConnector)* '}' )?
-		('requiredDelegationConnectors' '{' requiredDelegationConnectors+=RequiredDelegationConnector ( "," requiredDelegationConnectors+=RequiredDelegationConnector)* '}' )?
-    '}';
-
-SubSystem returns repository::SubSystem:
-	'SubSystem'
-	id=EString
-	'{'
-		'name' name=EString
-		('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )?
-		('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )?
-		('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )?
-		('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )?
-		('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )?
-		('assemblyContexts' '{' assemblyContexts+=AssemblyContext ( "," assemblyContexts+=AssemblyContext)* '}' )?
-		('assemblyConnectors' '{' assemblyConnectors+=AssemblyConnector ( "," assemblyConnectors+=AssemblyConnector)* '}' )?
-		('providedDelegationConnectors' '{' providedDelegationConnectors+=ProvidedDelegationConnector ( "," providedDelegationConnectors+=ProvidedDelegationConnector)* '}' )?
-		('requiredDelegationConnectors' '{' requiredDelegationConnectors+=RequiredDelegationConnector ( "," requiredDelegationConnectors+=RequiredDelegationConnector)* '}' )?
-    '}';
-
-InfluencingParameter_Impl returns InfluencingParameter:
-	'InfluencingParameter'
-	name=EString
-	'{'
-		'description' description=EString
-		'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )?
-    '}';
-
-ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification:
-	{servicebehavior::ResponseTimeSpecification}
-	'ResponseTimeSpecification'
-;
-
-Scope returns Scope:
-	'Scope'
-	'{'
-		'interfaceProvidingRequiringEntity' interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-    '}';
-
-ServiceInputParameter returns ServiceInputParameter:
-	'ServiceInputParameter'
-	name=EString
-	'{'
-		'description' description=EString
-		'characterization' characterization=CharacterizationType
-		'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		'signature' signature=[repository::Signature|EString]
-		('parameter' parameter=[repository::Parameter|EString])?
-		('returnType' returnType=[repository::DataType|EString])?
-		'providedRole' providedRole=[repository::ProvidedRole|EString]
-		('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )?
-    '}';
-
-ExternalCallReturnParameter returns ExternalCallReturnParameter:
-	'ExternalCallReturnParameter'
-	name=EString
-	'{'
-		'description' description=EString
-		'characterization' characterization=CharacterizationType
-		'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		'signature' signature=[repository::Signature|EString]
-		('parameter' parameter=[repository::Parameter|EString])?
-		('returnType' returnType=[repository::DataType|EString])?
-		'externalCall' externalCall=[servicebehavior::ExternalCall|EString]
-		('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )?
-    '}';
-
-ExternalCallParameter returns ExternalCallParameter:
-	'ExternalCallParameter'
-	name=EString
-	'{'
-		'description' description=EString
-		'characterization' characterization=CharacterizationType
-		'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString]
-		'signature' signature=[repository::Signature|EString]
-		('parameter' parameter=[repository::Parameter|EString])?
-		('returnType' returnType=[repository::DataType|EString])?
-		'externallCall' externallCall=[servicebehavior::ExternalCall|EString]
-		('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )?
-    '}';
-
-FineGrainedBehavior returns servicebehavior::FineGrainedBehavior:
-	'FineGrainedBehavior'
-	'{'
-		('describedSignature' describedSignature=[repository::Signature|EString])?
-		'basicComponent' basicComponent=[repository::BasicComponent|EString]
-		('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )?
-		('actions' '{' actions+=AbstractAction ( "," actions+=AbstractAction)* '}' )?
-		'behavior' behavior=ComponentInternalBehavior
-    '}';
-
-AbstractAction_Impl returns servicebehavior::AbstractAction:
-	{servicebehavior::AbstractAction}
-	'AbstractAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-    '}';
-
-ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior:
-	{servicebehavior::ComponentInternalBehavior}
-	'ComponentInternalBehavior'
-	'{'
-		('actions' '{' actions+=AbstractAction ( "," actions+=AbstractAction)* '}' )?
-    '}';
-
-StartAction returns servicebehavior::StartAction:
-	{servicebehavior::StartAction}
-	'StartAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-    '}';
-
-StopAction returns servicebehavior::StopAction:
-	{servicebehavior::StopAction}
-	'StopAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-    '}';
-
-AcquireAction returns servicebehavior::AcquireAction:
-	'AcquireAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		'passiveResource' passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-    '}';
-
-ReleaseAction returns servicebehavior::ReleaseAction:
-	'ReleaseAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		'passiveResource' passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString]
-    '}';
-
-InternalAction returns servicebehavior::InternalAction:
-	{servicebehavior::InternalAction}
-	'InternalAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		('resourceDemandSpecification' '{' resourceDemandSpecification+=ResourceDemandSpecification ( "," resourceDemandSpecification+=ResourceDemandSpecification)* '}' )?
-    '}';
-
-ForkAction returns servicebehavior::ForkAction:
-	withSynchronizationBarrier?='withSynchronizationBarrier'
-	'ForkAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		('forkedBehaviors' '{' forkedBehaviors+=ComponentInternalBehavior ( "," forkedBehaviors+=ComponentInternalBehavior)* '}' )?
-    '}';
-
-BranchAction returns servicebehavior::BranchAction:
-	'BranchAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		('branches' '{' branches+=BranchTransition ( "," branches+=BranchTransition)* '}' )?
-		'branchProbabilities' branchProbabilities=BranchProbabilities
-    '}';
-
-LoopAction returns servicebehavior::LoopAction:
-	'LoopAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		'loopBodyBehavior' loopBodyBehavior=ComponentInternalBehavior
-		'loopIterationCountDistribution' loopIterationCountDistribution=LoopIterationCountDistribution
-    '}';
-
-ExternalCallAction returns servicebehavior::ExternalCallAction:
-	'ExternalCallAction'
-	'{'
-		('predecessor' predecessor=[servicebehavior::AbstractAction|EString])?
-		('successor' successor=[servicebehavior::AbstractAction|EString])?
-		'signature' signature=[repository::Signature|EString]
-		'requiredRole' requiredRole=[repository::RequiredRole|EString]
-    '}';
-
-PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification:
-	'PassiveResourceSpecification'
-	id=EString
-	'{'
-		'name' name=EString
-		'passiveResourceType' passiveResourceType=[resourcetype::PassiveResourceType|EString]
-		'capacity' capacity=PassiveResourceCapacity
-    '}';
-
-PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity:
-	'PassiveResourceCapacity'
-	id=EString
-	'{'
-		'name' name=EString
-		'capacity' capacity=EBigInteger
-    '}';
-
-PassiveResourceType returns resourcetype::PassiveResourceType:
-	'PassiveResourceType'
-	id=EString
-	'{'
-		'name' name=EString
-    '}';
-
-EBigInteger returns ecore::EBigInteger:
-	'-'? INT;
-
-ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification:
-	'ResourceDemandSpecification'
-	'{'
-		'processingResourceType' processingResourceType=[resourcetype::ProcessingResourceType|EString]
-    '}';
-
-ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType:
-	'ProcessingResourceType'
-	id=EString
-	'{'
-		'name' name=EString
-    '}';
-
-CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType:
-	'CommunicationLinkResourceType'
-	id=EString
-	'{'
-		'name' name=EString
-    '}';
-
-EBoolean returns ecore::EBoolean:
-	'true' | 'false';
-
-BranchTransition returns servicebehavior::BranchTransition:
-	'BranchTransition'
-	id=EString
-	'{'
-		'name' name=EString
-		'branchBehavior' branchBehavior=ComponentInternalBehavior
-    '}';
-
-BranchProbabilities returns servicebehavior::BranchProbabilities:
-	'BranchProbabilities'
-	'{'
-		'probabilities' probabilities=[functions::RandomVariable|EString]
-    '}';
-
-RandomVariable returns functions::RandomVariable:
-	'RandomVariable'
-	'{'
-		'specification' specification=EString
-		'probFunction' probFunction=[functions::ProbabilityFunction|EString]
-    '}';
-
-ProbabilityMassFunction returns functions::ProbabilityMassFunction:
-	{functions::ProbabilityMassFunction}
-	'ProbabilityMassFunction'
-	'{'
-		('sample' '{' sample+=Sample ( "," sample+=Sample)* '}' )?
-    '}';
-
-ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction:
-	{functions::ProbabilityDensityFunction}
-	'ProbabilityDensityFunction'
-;
-
-BoxedPDF returns functions::BoxedPDF:
-	{functions::BoxedPDF}
-	'BoxedPDF'
-	'{'
-		('sample' '{' sample+=ContinuousSample ( "," sample+=ContinuousSample)* '}' )?
-    '}';
-
-ContinuousPDF_Impl returns functions::ContinuousPDF:
-	{functions::ContinuousPDF}
-	'ContinuousPDF'
-;
-
-NormalDistribution returns functions::NormalDistribution:
-	'NormalDistribution'
-	'{'
-		'mu' mu=EBigDecimal
-		'sigma' sigma=EBigDecimal
-    '}';
-
-ExponentialDistribution returns functions::ExponentialDistribution:
-	'ExponentialDistribution'
-	'{'
-		'rate' rate=EBigDecimal
-    '}';
-
-Sample returns functions::Sample:
-	'Sample'
-	'{'
-		'probability' probability=EBigDecimal
-		'value' value=[ecore::EObject|EString]
-    '}';
-
-EObject returns ecore::EObject:
-	{ecore::EObject}
-	'EObject'
-;
-
-EBigDecimal returns ecore::EBigDecimal:
-	INT? '.' INT;
-
-ContinuousSample returns functions::ContinuousSample:
-	'ContinuousSample'
-	'{'
-		'value' value=EBigDecimal
-		'probability' probability=EBigDecimal
-    '}';
-
-LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution:
-	'LoopIterationCountDistribution'
-	'{'
-		'loopIterationCountDistribution' loopIterationCountDistribution=[functions::RandomVariable|EString]
-    '}';
-
-AssemblyContext returns repository::AssemblyContext:
-	'AssemblyContext'
-	id=EString
-	'{'
-		'name' name=EString
-		'encapsulatedComponent' encapsulatedComponent=[repository::RepositoryComponent|EString]
-    '}';
-
-AssemblyConnector returns repository::AssemblyConnector:
-	'AssemblyConnector'
-	id=EString
-	'{'
-		'name' name=EString
-		'requiredRole' requiredRole=[repository::RequiredRole|EString]
-		'providedRole' providedRole=[repository::ProvidedRole|EString]
-		'providingAssemblyContext' providingAssemblyContext=[repository::AssemblyContext|EString]
-		'requiringAssemblyContext' requiringAssemblyContext=[repository::AssemblyContext|EString]
-    '}';
-
-ProvidedDelegationConnector returns repository::ProvidedDelegationConnector:
-	'ProvidedDelegationConnector'
-	id=EString
-	'{'
-		'name' name=EString
-		'assemblyContext' assemblyContext=[repository::AssemblyContext|EString]
-		'innerProvidedRole' innerProvidedRole=[repository::ProvidedRole|EString]
-		'outerProvidedRole' outerProvidedRole=[repository::ProvidedRole|EString]
-    '}';
-
-RequiredDelegationConnector returns repository::RequiredDelegationConnector:
-	'RequiredDelegationConnector'
-	id=EString
-	'{'
-		'name' name=EString
-		'assemblyContext' assemblyContext=[repository::AssemblyContext|EString]
-		'innerRequiredRole' innerRequiredRole=[repository::RequiredRole|EString]
-		'outerRequiredRole' outerRequiredRole=[repository::RequiredRole|EString]
-    '}';
-
-enum CharacterizationType returns CharacterizationType:
-	VALUE = 'VALUE' | NUMBER_OF_ELEMENTS = 'NUMBER_OF_ELEMENTS';
-
-ExternalCall_Impl returns servicebehavior::ExternalCall:
-	'ExternalCall'
-	'{'
-		'signature' signature=[repository::Signature|EString]
-		'requiredRole' requiredRole=[repository::RequiredRole|EString]
-    '}';
-
-ExternalCallFrequency returns servicebehavior::ExternalCallFrequency:
-	'ExternalCallFrequency'
-	'{'
-		'externalCall' externalCall=ExternalCall
-		'frequency' frequency=CallFrequency
-    '}';
-
-CallFrequency returns servicebehavior::CallFrequency:
-	'CallFrequency'
-	'{'
-		'frequency' frequency=[functions::RandomVariable|EString]
-    '}';
-
-DependencyRelationship returns DependencyRelationship:
-	'DependencyRelationship'
-	'{'
-		'surroundingEntity' surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		'influencedVariable' influencedVariable=[InfluencedVariable|EString]
-		'influencingParameter' influencingParameter=[InfluencingParameter|EString]
-    '}';
-
-CorrelationRelationship returns CorrelationRelationship:
-	'CorrelationRelationship'
-	'{'
-		'surroundingEntity' surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString]
-		'leftInfluencingParameter' leftInfluencingParameter=[InfluencingParameter|EString]
-		'rightInfluencingParameter' rightInfluencingParameter=[InfluencingParameter|EString]
-		'leftComponentInstanceReference' leftComponentInstanceReference=ComponentInstanceReference
-		'rightComponentInstanceReference' rightComponentInstanceReference=ComponentInstanceReference
-    '}';
-
-InfluencedVariable returns InfluencedVariable:
-	{InfluencedVariable}
-	'InfluencedVariable'
-	'{'
-		('controlFlowVariable' controlFlowVariable=[ControlFlowSpecification|EString])?
-		('resourceDemand' resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])?
-		('responseTime' responseTime=[servicebehavior::ResponseTimeSpecification|EString])?
-    '}';
-
-ComponentInstanceReference returns ComponentInstanceReference:
-	{ComponentInstanceReference}
-	'ComponentInstanceReference'
-	'{'
-		('assemblies' '(' assemblies+=[repository::AssemblyContext|EString] ( "," assemblies+=[repository::AssemblyContext|EString])* ')' )?
-    '}';
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java
deleted file mode 100644
index ecb586b7..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext
- */
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text;
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-public class RepositoryDSLRuntimeModule extends edu.kit.ipd.descartes.mm.applicationlevel.repository.text.AbstractRepositoryDSLRuntimeModule {
-
-}
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java
deleted file mode 100644
index ed94a1a9..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java
+++ /dev/null
@@ -1,14 +0,0 @@
-
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text;
-
-/**
- * Initialization support for running Xtext languages 
- * without equinox extension registry
- */
-public class RepositoryDSLStandaloneSetup extends RepositoryDSLStandaloneSetupGenerated{
-
-	public static void doSetup() {
-		new RepositoryDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-}
-
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java
deleted file mode 100644
index c5c5dbed..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * generated by Xtext
- */
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting;
-
-import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
-import org.eclipse.xtext.formatting.impl.FormattingConfig;
-import org.eclipse.xtext.Keyword;
-import org.eclipse.xtext.util.Pair;
-
-/**
- * This class contains custom formatting description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting
- * on how and when to use it 
- * 
- * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
- */
-public class RepositoryDSLFormatter extends AbstractDeclarativeFormatter {
-	
-	@Override
-	protected void configureFormatting(FormattingConfig c) {
-		edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess f = (edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess) getGrammarAccess();
-		for(Pair<Keyword, Keyword> pair: f.findKeywordPairs("{", "}")) {
-			c.setIndentation(pair.getFirst(), pair.getSecond());
-			c.setLinewrap(1).after(pair.getFirst());
-			c.setLinewrap(1).before(pair.getSecond());
-			c.setLinewrap(1).after(pair.getSecond());
-		}
-		for(Keyword comma: f.findKeywords(",")) {
-			c.setNoLinewrap().before(comma);
-			c.setNoSpace().before(comma);
-			c.setLinewrap().after(comma);
-		}
-		c.setLinewrap(0, 1, 2).before(f.getSL_COMMENTRule());
-		c.setLinewrap(0, 1, 2).before(f.getML_COMMENTRule());
-		c.setLinewrap(0, 1, 1).after(f.getML_COMMENTRule());
-	}
-}
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java
deleted file mode 100644
index ea05898b..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * generated by Xtext
- */
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping;
-
-import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
-
-/**
- * This class contains custom scoping description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping
- * on how and when to use it 
- *
- */
-public class RepositoryDSLScopeProvider extends AbstractDeclarativeScopeProvider {
-
-}
diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java
deleted file mode 100644
index 5ee02e61..00000000
--- a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation;
- 
-
-public class RepositoryDSLJavaValidator extends AbstractRepositoryDSLJavaValidator {
-
-//	@Check
-//	public void checkGreetingStartsWithCapital(Greeting greeting) {
-//		if (!Character.isUpperCase(greeting.getName().charAt(0))) {
-//			warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME);
-//		}
-//	}
-
-}
-- 
GitLab