package org.xtext.example.mydsl3.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.xtext.example.mydsl3.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'AgentInternalViewPoint'", "'{'", "'}'", "'Belief'", "';'", "'Goal'", "'Capabilities'", "'includes'", "'uses'", "'applies'", "'AgentState'", "'SemanticWebAgent'", "'contains'", "'plays'", "'has'", "'Role'", "'Plan'", "'dispatches'", "'AgentType'", "'Behaviour'", "'composed_of'", "'executes'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalMyDslParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g"; }


     
     	private MyDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleAgentInternalViewpoint
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: entryRuleAgentInternalViewpoint : ruleAgentInternalViewpoint EOF ;
    public final void entryRuleAgentInternalViewpoint() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ( ruleAgentInternalViewpoint EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:63:1: ruleAgentInternalViewpoint EOF
            {
             before(grammarAccess.getAgentInternalViewpointRule()); 
            pushFollow(FOLLOW_ruleAgentInternalViewpoint_in_entryRuleAgentInternalViewpoint61);
            ruleAgentInternalViewpoint();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAgentInternalViewpoint68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAgentInternalViewpoint


    // $ANTLR start ruleAgentInternalViewpoint
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:70:1: ruleAgentInternalViewpoint : ( ( rule__AgentInternalViewpoint__Group__0 ) ) ;
    public final void ruleAgentInternalViewpoint() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:74:2: ( ( ( rule__AgentInternalViewpoint__Group__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( ( rule__AgentInternalViewpoint__Group__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( ( rule__AgentInternalViewpoint__Group__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__AgentInternalViewpoint__Group__0 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getGroup()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:77:1: ( rule__AgentInternalViewpoint__Group__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:77:2: rule__AgentInternalViewpoint__Group__0
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__0_in_ruleAgentInternalViewpoint94);
            rule__AgentInternalViewpoint__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAgentInternalViewpoint


    // $ANTLR start entryRuleBelief
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: entryRuleBelief : ruleBelief EOF ;
    public final void entryRuleBelief() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ( ruleBelief EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:91:1: ruleBelief EOF
            {
             before(grammarAccess.getBeliefRule()); 
            pushFollow(FOLLOW_ruleBelief_in_entryRuleBelief121);
            ruleBelief();
            _fsp--;

             after(grammarAccess.getBeliefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBelief128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBelief


    // $ANTLR start ruleBelief
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:98:1: ruleBelief : ( ( rule__Belief__Group__0 ) ) ;
    public final void ruleBelief() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:102:2: ( ( ( rule__Belief__Group__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( ( rule__Belief__Group__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( ( rule__Belief__Group__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Belief__Group__0 )
            {
             before(grammarAccess.getBeliefAccess().getGroup()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:105:1: ( rule__Belief__Group__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:105:2: rule__Belief__Group__0
            {
            pushFollow(FOLLOW_rule__Belief__Group__0_in_ruleBelief154);
            rule__Belief__Group__0();
            _fsp--;


            }

             after(grammarAccess.getBeliefAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBelief


    // $ANTLR start entryRuleGoal
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: entryRuleGoal : ruleGoal EOF ;
    public final void entryRuleGoal() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ( ruleGoal EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:119:1: ruleGoal EOF
            {
             before(grammarAccess.getGoalRule()); 
            pushFollow(FOLLOW_ruleGoal_in_entryRuleGoal181);
            ruleGoal();
            _fsp--;

             after(grammarAccess.getGoalRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGoal188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleGoal


    // $ANTLR start ruleGoal
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:126:1: ruleGoal : ( ( rule__Goal__Group__0 ) ) ;
    public final void ruleGoal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:130:2: ( ( ( rule__Goal__Group__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( ( rule__Goal__Group__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( ( rule__Goal__Group__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Goal__Group__0 )
            {
             before(grammarAccess.getGoalAccess().getGroup()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:133:1: ( rule__Goal__Group__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:133:2: rule__Goal__Group__0
            {
            pushFollow(FOLLOW_rule__Goal__Group__0_in_ruleGoal214);
            rule__Goal__Group__0();
            _fsp--;


            }

             after(grammarAccess.getGoalAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleGoal


    // $ANTLR start entryRuleCapabilities
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: entryRuleCapabilities : ruleCapabilities EOF ;
    public final void entryRuleCapabilities() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ( ruleCapabilities EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:147:1: ruleCapabilities EOF
            {
             before(grammarAccess.getCapabilitiesRule()); 
            pushFollow(FOLLOW_ruleCapabilities_in_entryRuleCapabilities241);
            ruleCapabilities();
            _fsp--;

             after(grammarAccess.getCapabilitiesRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCapabilities248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleCapabilities


    // $ANTLR start ruleCapabilities
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:154:1: ruleCapabilities : ( ( rule__Capabilities__Alternatives ) ) ;
    public final void ruleCapabilities() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:158:2: ( ( ( rule__Capabilities__Alternatives ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( ( rule__Capabilities__Alternatives ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( ( rule__Capabilities__Alternatives ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__Capabilities__Alternatives )
            {
             before(grammarAccess.getCapabilitiesAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:161:1: ( rule__Capabilities__Alternatives )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:161:2: rule__Capabilities__Alternatives
            {
            pushFollow(FOLLOW_rule__Capabilities__Alternatives_in_ruleCapabilities274);
            rule__Capabilities__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleCapabilities


    // $ANTLR start entryRuleAgentState
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: entryRuleAgentState : ruleAgentState EOF ;
    public final void entryRuleAgentState() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ( ruleAgentState EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:175:1: ruleAgentState EOF
            {
             before(grammarAccess.getAgentStateRule()); 
            pushFollow(FOLLOW_ruleAgentState_in_entryRuleAgentState301);
            ruleAgentState();
            _fsp--;

             after(grammarAccess.getAgentStateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAgentState308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAgentState


    // $ANTLR start ruleAgentState
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:182:1: ruleAgentState : ( ( rule__AgentState__Group__0 ) ) ;
    public final void ruleAgentState() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:186:2: ( ( ( rule__AgentState__Group__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( ( rule__AgentState__Group__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( ( rule__AgentState__Group__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__AgentState__Group__0 )
            {
             before(grammarAccess.getAgentStateAccess().getGroup()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:189:1: ( rule__AgentState__Group__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:189:2: rule__AgentState__Group__0
            {
            pushFollow(FOLLOW_rule__AgentState__Group__0_in_ruleAgentState334);
            rule__AgentState__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAgentStateAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAgentState


    // $ANTLR start entryRuleSemanticWebAgent
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: entryRuleSemanticWebAgent : ruleSemanticWebAgent EOF ;
    public final void entryRuleSemanticWebAgent() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ( ruleSemanticWebAgent EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:203:1: ruleSemanticWebAgent EOF
            {
             before(grammarAccess.getSemanticWebAgentRule()); 
            pushFollow(FOLLOW_ruleSemanticWebAgent_in_entryRuleSemanticWebAgent361);
            ruleSemanticWebAgent();
            _fsp--;

             after(grammarAccess.getSemanticWebAgentRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSemanticWebAgent368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSemanticWebAgent


    // $ANTLR start ruleSemanticWebAgent
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:210:1: ruleSemanticWebAgent : ( ( rule__SemanticWebAgent__Alternatives ) ) ;
    public final void ruleSemanticWebAgent() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:214:2: ( ( ( rule__SemanticWebAgent__Alternatives ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( ( rule__SemanticWebAgent__Alternatives ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( ( rule__SemanticWebAgent__Alternatives ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:216:1: ( rule__SemanticWebAgent__Alternatives )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:217:1: ( rule__SemanticWebAgent__Alternatives )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:217:2: rule__SemanticWebAgent__Alternatives
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Alternatives_in_ruleSemanticWebAgent394);
            rule__SemanticWebAgent__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSemanticWebAgent


    // $ANTLR start entryRuleRole
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: entryRuleRole : ruleRole EOF ;
    public final void entryRuleRole() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ( ruleRole EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:231:1: ruleRole EOF
            {
             before(grammarAccess.getRoleRule()); 
            pushFollow(FOLLOW_ruleRole_in_entryRuleRole421);
            ruleRole();
            _fsp--;

             after(grammarAccess.getRoleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRole428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRole


    // $ANTLR start ruleRole
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:238:1: ruleRole : ( ( rule__Role__Alternatives ) ) ;
    public final void ruleRole() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:242:2: ( ( ( rule__Role__Alternatives ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( ( rule__Role__Alternatives ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( ( rule__Role__Alternatives ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__Role__Alternatives )
            {
             before(grammarAccess.getRoleAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:245:1: ( rule__Role__Alternatives )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:245:2: rule__Role__Alternatives
            {
            pushFollow(FOLLOW_rule__Role__Alternatives_in_ruleRole454);
            rule__Role__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getRoleAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRole


    // $ANTLR start entryRulePlan
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: entryRulePlan : rulePlan EOF ;
    public final void entryRulePlan() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: ( rulePlan EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:259:1: rulePlan EOF
            {
             before(grammarAccess.getPlanRule()); 
            pushFollow(FOLLOW_rulePlan_in_entryRulePlan481);
            rulePlan();
            _fsp--;

             after(grammarAccess.getPlanRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlan488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePlan


    // $ANTLR start rulePlan
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:266:1: rulePlan : ( ( rule__Plan__Alternatives ) ) ;
    public final void rulePlan() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:270:2: ( ( ( rule__Plan__Alternatives ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( ( rule__Plan__Alternatives ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( ( rule__Plan__Alternatives ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__Plan__Alternatives )
            {
             before(grammarAccess.getPlanAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:273:1: ( rule__Plan__Alternatives )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:273:2: rule__Plan__Alternatives
            {
            pushFollow(FOLLOW_rule__Plan__Alternatives_in_rulePlan514);
            rule__Plan__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePlan


    // $ANTLR start entryRuleAgentType
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: entryRuleAgentType : ruleAgentType EOF ;
    public final void entryRuleAgentType() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:286:1: ( ruleAgentType EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:287:1: ruleAgentType EOF
            {
             before(grammarAccess.getAgentTypeRule()); 
            pushFollow(FOLLOW_ruleAgentType_in_entryRuleAgentType541);
            ruleAgentType();
            _fsp--;

             after(grammarAccess.getAgentTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAgentType548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAgentType


    // $ANTLR start ruleAgentType
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:294:1: ruleAgentType : ( ( rule__AgentType__Group__0 ) ) ;
    public final void ruleAgentType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:298:2: ( ( ( rule__AgentType__Group__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( ( rule__AgentType__Group__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( ( rule__AgentType__Group__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( rule__AgentType__Group__0 )
            {
             before(grammarAccess.getAgentTypeAccess().getGroup()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:301:1: ( rule__AgentType__Group__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:301:2: rule__AgentType__Group__0
            {
            pushFollow(FOLLOW_rule__AgentType__Group__0_in_ruleAgentType574);
            rule__AgentType__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAgentTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAgentType


    // $ANTLR start entryRuleBehaviour
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:313:1: entryRuleBehaviour : ruleBehaviour EOF ;
    public final void entryRuleBehaviour() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: ( ruleBehaviour EOF )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:315:1: ruleBehaviour EOF
            {
             before(grammarAccess.getBehaviourRule()); 
            pushFollow(FOLLOW_ruleBehaviour_in_entryRuleBehaviour601);
            ruleBehaviour();
            _fsp--;

             after(grammarAccess.getBehaviourRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBehaviour608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBehaviour


    // $ANTLR start ruleBehaviour
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:322:1: ruleBehaviour : ( ( rule__Behaviour__Alternatives ) ) ;
    public final void ruleBehaviour() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:326:2: ( ( ( rule__Behaviour__Alternatives ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( ( rule__Behaviour__Alternatives ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( ( rule__Behaviour__Alternatives ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:328:1: ( rule__Behaviour__Alternatives )
            {
             before(grammarAccess.getBehaviourAccess().getAlternatives()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:329:1: ( rule__Behaviour__Alternatives )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:329:2: rule__Behaviour__Alternatives
            {
            pushFollow(FOLLOW_rule__Behaviour__Alternatives_in_ruleBehaviour634);
            rule__Behaviour__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBehaviour


    // $ANTLR start rule__AgentInternalViewpoint__Alternatives_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:341:1: rule__AgentInternalViewpoint__Alternatives_2 : ( ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) ) | ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) ) );
    public final void rule__AgentInternalViewpoint__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:345:1: ( ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) ) | ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) ) )
            int alt1=2;
            switch ( input.LA(1) ) {
            case 22:
                {
                alt1=1;
                }
                break;
            case RULE_ID:
                {
                int LA1_2 = input.LA(2);

                if ( (LA1_2==12) ) {
                    int LA1_4 = input.LA(3);

                    if ( (LA1_4==13||(LA1_4>=18 && LA1_4<=20)) ) {
                        alt1=2;
                    }
                    else if ( (LA1_4==23) ) {
                        alt1=1;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("341:1: rule__AgentInternalViewpoint__Alternatives_2 : ( ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) ) | ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) ) );", 1, 4, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("341:1: rule__AgentInternalViewpoint__Alternatives_2 : ( ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) ) | ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) ) );", 1, 2, input);

                    throw nvae;
                }
                }
                break;
            case 17:
                {
                alt1=2;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("341:1: rule__AgentInternalViewpoint__Alternatives_2 : ( ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) ) | ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) ) );", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:346:1: ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:346:1: ( ( rule__AgentInternalViewpoint__Group_2_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:347:1: ( rule__AgentInternalViewpoint__Group_2_0__0 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getGroup_2_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:348:1: ( rule__AgentInternalViewpoint__Group_2_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:348:2: rule__AgentInternalViewpoint__Group_2_0__0
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_0__0_in_rule__AgentInternalViewpoint__Alternatives_2670);
                    rule__AgentInternalViewpoint__Group_2_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getGroup_2_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:352:6: ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:352:6: ( ( rule__AgentInternalViewpoint__Group_2_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:353:1: ( rule__AgentInternalViewpoint__Group_2_1__0 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getGroup_2_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( rule__AgentInternalViewpoint__Group_2_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:354:2: rule__AgentInternalViewpoint__Group_2_1__0
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_1__0_in_rule__AgentInternalViewpoint__Alternatives_2688);
                    rule__AgentInternalViewpoint__Group_2_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getGroup_2_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Alternatives_2


    // $ANTLR start rule__AgentInternalViewpoint__Alternatives_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:363:1: rule__AgentInternalViewpoint__Alternatives_3 : ( ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) ) | ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) ) | ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) ) | ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) ) | ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) ) | ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) ) | ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) ) | ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) ) | ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) ) );
    public final void rule__AgentInternalViewpoint__Alternatives_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:367:1: ( ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) ) | ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) ) | ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) ) | ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) ) | ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) ) | ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) ) | ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) ) | ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) ) | ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) ) )
            int alt2=9;
            switch ( input.LA(1) ) {
            case 14:
                {
                alt2=1;
                }
                break;
            case 16:
                {
                alt2=2;
                }
                break;
            case 17:
                {
                alt2=3;
                }
                break;
            case RULE_ID:
                {
                int LA2_4 = input.LA(2);

                if ( (LA2_4==12) ) {
                    switch ( input.LA(3) ) {
                    case 25:
                        {
                        alt2=6;
                        }
                        break;
                    case 18:
                    case 19:
                    case 20:
                        {
                        alt2=3;
                        }
                        break;
                    case 13:
                        {
                        alt2=3;
                        }
                        break;
                    case 31:
                    case 32:
                        {
                        alt2=9;
                        }
                        break;
                    case 28:
                        {
                        alt2=7;
                        }
                        break;
                    case 23:
                        {
                        alt2=5;
                        }
                        break;
                    default:
                        NoViableAltException nvae =
                            new NoViableAltException("363:1: rule__AgentInternalViewpoint__Alternatives_3 : ( ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) ) | ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) ) | ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) ) | ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) ) | ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) ) | ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) ) | ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) ) | ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) ) | ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) ) );", 2, 11, input);

                        throw nvae;
                    }

                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("363:1: rule__AgentInternalViewpoint__Alternatives_3 : ( ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) ) | ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) ) | ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) ) | ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) ) | ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) ) | ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) ) | ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) ) | ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) ) | ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) ) );", 2, 4, input);

                    throw nvae;
                }
                }
                break;
            case 21:
                {
                alt2=4;
                }
                break;
            case 22:
                {
                alt2=5;
                }
                break;
            case 26:
                {
                alt2=6;
                }
                break;
            case 27:
                {
                alt2=7;
                }
                break;
            case 29:
                {
                alt2=8;
                }
                break;
            case 30:
                {
                alt2=9;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("363:1: rule__AgentInternalViewpoint__Alternatives_3 : ( ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) ) | ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) ) | ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) ) | ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) ) | ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) ) | ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) ) | ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) ) | ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) ) | ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) ) );", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:368:1: ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:368:1: ( ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:369:1: ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getBeliefAssignment_3_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:370:1: ( rule__AgentInternalViewpoint__BeliefAssignment_3_0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:370:2: rule__AgentInternalViewpoint__BeliefAssignment_3_0
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__BeliefAssignment_3_0_in_rule__AgentInternalViewpoint__Alternatives_3721);
                    rule__AgentInternalViewpoint__BeliefAssignment_3_0();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getBeliefAssignment_3_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:374:6: ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:374:6: ( ( rule__AgentInternalViewpoint__GoalAssignment_3_1 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:375:1: ( rule__AgentInternalViewpoint__GoalAssignment_3_1 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getGoalAssignment_3_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:376:1: ( rule__AgentInternalViewpoint__GoalAssignment_3_1 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:376:2: rule__AgentInternalViewpoint__GoalAssignment_3_1
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__GoalAssignment_3_1_in_rule__AgentInternalViewpoint__Alternatives_3739);
                    rule__AgentInternalViewpoint__GoalAssignment_3_1();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getGoalAssignment_3_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:380:6: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:380:6: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:381:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_3_2()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:382:2: rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2_in_rule__AgentInternalViewpoint__Alternatives_3757);
                    rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_3_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:386:6: ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:386:6: ( ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:387:1: ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getAgentstateAssignment_3_3()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:388:1: ( rule__AgentInternalViewpoint__AgentstateAssignment_3_3 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:388:2: rule__AgentInternalViewpoint__AgentstateAssignment_3_3
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__AgentstateAssignment_3_3_in_rule__AgentInternalViewpoint__Alternatives_3775);
                    rule__AgentInternalViewpoint__AgentstateAssignment_3_3();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getAgentstateAssignment_3_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:392:6: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:392:6: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:393:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_3_4()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:394:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:394:2: rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4_in_rule__AgentInternalViewpoint__Alternatives_3793);
                    rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_3_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:398:6: ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:398:6: ( ( rule__AgentInternalViewpoint__RoleAssignment_3_5 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:399:1: ( rule__AgentInternalViewpoint__RoleAssignment_3_5 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getRoleAssignment_3_5()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:400:1: ( rule__AgentInternalViewpoint__RoleAssignment_3_5 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:400:2: rule__AgentInternalViewpoint__RoleAssignment_3_5
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__RoleAssignment_3_5_in_rule__AgentInternalViewpoint__Alternatives_3811);
                    rule__AgentInternalViewpoint__RoleAssignment_3_5();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getRoleAssignment_3_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:404:6: ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:404:6: ( ( rule__AgentInternalViewpoint__PlanAssignment_3_6 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: ( rule__AgentInternalViewpoint__PlanAssignment_3_6 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getPlanAssignment_3_6()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:406:1: ( rule__AgentInternalViewpoint__PlanAssignment_3_6 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:406:2: rule__AgentInternalViewpoint__PlanAssignment_3_6
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__PlanAssignment_3_6_in_rule__AgentInternalViewpoint__Alternatives_3829);
                    rule__AgentInternalViewpoint__PlanAssignment_3_6();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getPlanAssignment_3_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:410:6: ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:410:6: ( ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getAgenttypeAssignment_3_7()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:412:1: ( rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:412:2: rule__AgentInternalViewpoint__AgenttypeAssignment_3_7
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__AgenttypeAssignment_3_7_in_rule__AgentInternalViewpoint__Alternatives_3847);
                    rule__AgentInternalViewpoint__AgenttypeAssignment_3_7();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getAgenttypeAssignment_3_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:416:6: ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:416:6: ( ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:417:1: ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 )
                    {
                     before(grammarAccess.getAgentInternalViewpointAccess().getBehaviourAssignment_3_8()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:418:1: ( rule__AgentInternalViewpoint__BehaviourAssignment_3_8 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:418:2: rule__AgentInternalViewpoint__BehaviourAssignment_3_8
                    {
                    pushFollow(FOLLOW_rule__AgentInternalViewpoint__BehaviourAssignment_3_8_in_rule__AgentInternalViewpoint__Alternatives_3865);
                    rule__AgentInternalViewpoint__BehaviourAssignment_3_8();
                    _fsp--;


                    }

                     after(grammarAccess.getAgentInternalViewpointAccess().getBehaviourAssignment_3_8()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Alternatives_3


    // $ANTLR start rule__Capabilities__Alternatives
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:427:1: rule__Capabilities__Alternatives : ( ( ( rule__Capabilities__Group_0__0 ) ) | ( ( rule__Capabilities__Group_1__0 ) ) );
    public final void rule__Capabilities__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:431:1: ( ( ( rule__Capabilities__Group_0__0 ) ) | ( ( rule__Capabilities__Group_1__0 ) ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==17) ) {
                alt3=1;
            }
            else if ( (LA3_0==RULE_ID) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("427:1: rule__Capabilities__Alternatives : ( ( ( rule__Capabilities__Group_0__0 ) ) | ( ( rule__Capabilities__Group_1__0 ) ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:432:1: ( ( rule__Capabilities__Group_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:432:1: ( ( rule__Capabilities__Group_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:433:1: ( rule__Capabilities__Group_0__0 )
                    {
                     before(grammarAccess.getCapabilitiesAccess().getGroup_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:434:1: ( rule__Capabilities__Group_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:434:2: rule__Capabilities__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Capabilities__Group_0__0_in_rule__Capabilities__Alternatives898);
                    rule__Capabilities__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getCapabilitiesAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:438:6: ( ( rule__Capabilities__Group_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:438:6: ( ( rule__Capabilities__Group_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( rule__Capabilities__Group_1__0 )
                    {
                     before(grammarAccess.getCapabilitiesAccess().getGroup_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:440:1: ( rule__Capabilities__Group_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:440:2: rule__Capabilities__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Capabilities__Group_1__0_in_rule__Capabilities__Alternatives916);
                    rule__Capabilities__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getCapabilitiesAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Alternatives


    // $ANTLR start rule__Capabilities__Alternatives_1_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:449:1: rule__Capabilities__Alternatives_1_2 : ( ( ( rule__Capabilities__Group_1_2_0__0 ) ) | ( ( rule__Capabilities__Group_1_2_1__0 ) ) | ( ( rule__Capabilities__Group_1_2_2__0 ) ) );
    public final void rule__Capabilities__Alternatives_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: ( ( ( rule__Capabilities__Group_1_2_0__0 ) ) | ( ( rule__Capabilities__Group_1_2_1__0 ) ) | ( ( rule__Capabilities__Group_1_2_2__0 ) ) )
            int alt4=3;
            switch ( input.LA(1) ) {
            case 18:
                {
                alt4=1;
                }
                break;
            case 19:
                {
                alt4=2;
                }
                break;
            case 20:
                {
                alt4=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("449:1: rule__Capabilities__Alternatives_1_2 : ( ( ( rule__Capabilities__Group_1_2_0__0 ) ) | ( ( rule__Capabilities__Group_1_2_1__0 ) ) | ( ( rule__Capabilities__Group_1_2_2__0 ) ) );", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ( ( rule__Capabilities__Group_1_2_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ( ( rule__Capabilities__Group_1_2_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:455:1: ( rule__Capabilities__Group_1_2_0__0 )
                    {
                     before(grammarAccess.getCapabilitiesAccess().getGroup_1_2_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:456:1: ( rule__Capabilities__Group_1_2_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:456:2: rule__Capabilities__Group_1_2_0__0
                    {
                    pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__0_in_rule__Capabilities__Alternatives_1_2949);
                    rule__Capabilities__Group_1_2_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getCapabilitiesAccess().getGroup_1_2_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:460:6: ( ( rule__Capabilities__Group_1_2_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:460:6: ( ( rule__Capabilities__Group_1_2_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:461:1: ( rule__Capabilities__Group_1_2_1__0 )
                    {
                     before(grammarAccess.getCapabilitiesAccess().getGroup_1_2_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:462:1: ( rule__Capabilities__Group_1_2_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:462:2: rule__Capabilities__Group_1_2_1__0
                    {
                    pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__0_in_rule__Capabilities__Alternatives_1_2967);
                    rule__Capabilities__Group_1_2_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getCapabilitiesAccess().getGroup_1_2_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:466:6: ( ( rule__Capabilities__Group_1_2_2__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:466:6: ( ( rule__Capabilities__Group_1_2_2__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( rule__Capabilities__Group_1_2_2__0 )
                    {
                     before(grammarAccess.getCapabilitiesAccess().getGroup_1_2_2()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: ( rule__Capabilities__Group_1_2_2__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:468:2: rule__Capabilities__Group_1_2_2__0
                    {
                    pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__0_in_rule__Capabilities__Alternatives_1_2985);
                    rule__Capabilities__Group_1_2_2__0();
                    _fsp--;


                    }

                     after(grammarAccess.getCapabilitiesAccess().getGroup_1_2_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Alternatives_1_2


    // $ANTLR start rule__SemanticWebAgent__Alternatives
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:477:1: rule__SemanticWebAgent__Alternatives : ( ( ( rule__SemanticWebAgent__Group_0__0 ) ) | ( ( rule__SemanticWebAgent__Group_1__0 ) ) );
    public final void rule__SemanticWebAgent__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: ( ( ( rule__SemanticWebAgent__Group_0__0 ) ) | ( ( rule__SemanticWebAgent__Group_1__0 ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==22) ) {
                alt5=1;
            }
            else if ( (LA5_0==RULE_ID) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("477:1: rule__SemanticWebAgent__Alternatives : ( ( ( rule__SemanticWebAgent__Group_0__0 ) ) | ( ( rule__SemanticWebAgent__Group_1__0 ) ) );", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ( ( rule__SemanticWebAgent__Group_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ( ( rule__SemanticWebAgent__Group_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:483:1: ( rule__SemanticWebAgent__Group_0__0 )
                    {
                     before(grammarAccess.getSemanticWebAgentAccess().getGroup_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:484:1: ( rule__SemanticWebAgent__Group_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:484:2: rule__SemanticWebAgent__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__0_in_rule__SemanticWebAgent__Alternatives1018);
                    rule__SemanticWebAgent__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getSemanticWebAgentAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:488:6: ( ( rule__SemanticWebAgent__Group_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:488:6: ( ( rule__SemanticWebAgent__Group_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:489:1: ( rule__SemanticWebAgent__Group_1__0 )
                    {
                     before(grammarAccess.getSemanticWebAgentAccess().getGroup_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:490:1: ( rule__SemanticWebAgent__Group_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:490:2: rule__SemanticWebAgent__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__0_in_rule__SemanticWebAgent__Alternatives1036);
                    rule__SemanticWebAgent__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getSemanticWebAgentAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Alternatives


    // $ANTLR start rule__Role__Alternatives
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:499:1: rule__Role__Alternatives : ( ( ( rule__Role__Group_0__0 ) ) | ( ( rule__Role__Group_1__0 ) ) );
    public final void rule__Role__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:503:1: ( ( ( rule__Role__Group_0__0 ) ) | ( ( rule__Role__Group_1__0 ) ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==26) ) {
                alt6=1;
            }
            else if ( (LA6_0==RULE_ID) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("499:1: rule__Role__Alternatives : ( ( ( rule__Role__Group_0__0 ) ) | ( ( rule__Role__Group_1__0 ) ) );", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:504:1: ( ( rule__Role__Group_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:504:1: ( ( rule__Role__Group_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:505:1: ( rule__Role__Group_0__0 )
                    {
                     before(grammarAccess.getRoleAccess().getGroup_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:506:1: ( rule__Role__Group_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:506:2: rule__Role__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Role__Group_0__0_in_rule__Role__Alternatives1069);
                    rule__Role__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getRoleAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:510:6: ( ( rule__Role__Group_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:510:6: ( ( rule__Role__Group_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:511:1: ( rule__Role__Group_1__0 )
                    {
                     before(grammarAccess.getRoleAccess().getGroup_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:512:1: ( rule__Role__Group_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:512:2: rule__Role__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Role__Group_1__0_in_rule__Role__Alternatives1087);
                    rule__Role__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getRoleAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Alternatives


    // $ANTLR start rule__Plan__Alternatives
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:521:1: rule__Plan__Alternatives : ( ( ( rule__Plan__Group_0__0 ) ) | ( ( rule__Plan__Group_1__0 ) ) );
    public final void rule__Plan__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:525:1: ( ( ( rule__Plan__Group_0__0 ) ) | ( ( rule__Plan__Group_1__0 ) ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==27) ) {
                alt7=1;
            }
            else if ( (LA7_0==RULE_ID) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("521:1: rule__Plan__Alternatives : ( ( ( rule__Plan__Group_0__0 ) ) | ( ( rule__Plan__Group_1__0 ) ) );", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:526:1: ( ( rule__Plan__Group_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:526:1: ( ( rule__Plan__Group_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:527:1: ( rule__Plan__Group_0__0 )
                    {
                     before(grammarAccess.getPlanAccess().getGroup_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:528:1: ( rule__Plan__Group_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:528:2: rule__Plan__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Plan__Group_0__0_in_rule__Plan__Alternatives1120);
                    rule__Plan__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getPlanAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:532:6: ( ( rule__Plan__Group_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:532:6: ( ( rule__Plan__Group_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:533:1: ( rule__Plan__Group_1__0 )
                    {
                     before(grammarAccess.getPlanAccess().getGroup_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:534:1: ( rule__Plan__Group_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:534:2: rule__Plan__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Plan__Group_1__0_in_rule__Plan__Alternatives1138);
                    rule__Plan__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getPlanAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Alternatives


    // $ANTLR start rule__Behaviour__Alternatives
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:543:1: rule__Behaviour__Alternatives : ( ( ( rule__Behaviour__Group_0__0 ) ) | ( ( rule__Behaviour__Group_1__0 ) ) );
    public final void rule__Behaviour__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:547:1: ( ( ( rule__Behaviour__Group_0__0 ) ) | ( ( rule__Behaviour__Group_1__0 ) ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==30) ) {
                alt8=1;
            }
            else if ( (LA8_0==RULE_ID) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("543:1: rule__Behaviour__Alternatives : ( ( ( rule__Behaviour__Group_0__0 ) ) | ( ( rule__Behaviour__Group_1__0 ) ) );", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:548:1: ( ( rule__Behaviour__Group_0__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:548:1: ( ( rule__Behaviour__Group_0__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:549:1: ( rule__Behaviour__Group_0__0 )
                    {
                     before(grammarAccess.getBehaviourAccess().getGroup_0()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( rule__Behaviour__Group_0__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:550:2: rule__Behaviour__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Behaviour__Group_0__0_in_rule__Behaviour__Alternatives1171);
                    rule__Behaviour__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getBehaviourAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:554:6: ( ( rule__Behaviour__Group_1__0 ) )
                    {
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:554:6: ( ( rule__Behaviour__Group_1__0 ) )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:555:1: ( rule__Behaviour__Group_1__0 )
                    {
                     before(grammarAccess.getBehaviourAccess().getGroup_1()); 
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:556:1: ( rule__Behaviour__Group_1__0 )
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:556:2: rule__Behaviour__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Behaviour__Group_1__0_in_rule__Behaviour__Alternatives1189);
                    rule__Behaviour__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getBehaviourAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Alternatives


    // $ANTLR start rule__AgentInternalViewpoint__Group__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:567:1: rule__AgentInternalViewpoint__Group__0 : rule__AgentInternalViewpoint__Group__0__Impl rule__AgentInternalViewpoint__Group__1 ;
    public final void rule__AgentInternalViewpoint__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:571:1: ( rule__AgentInternalViewpoint__Group__0__Impl rule__AgentInternalViewpoint__Group__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:572:2: rule__AgentInternalViewpoint__Group__0__Impl rule__AgentInternalViewpoint__Group__1
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__0__Impl_in_rule__AgentInternalViewpoint__Group__01220);
            rule__AgentInternalViewpoint__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__1_in_rule__AgentInternalViewpoint__Group__01223);
            rule__AgentInternalViewpoint__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__0


    // $ANTLR start rule__AgentInternalViewpoint__Group__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: rule__AgentInternalViewpoint__Group__0__Impl : ( 'AgentInternalViewPoint' ) ;
    public final void rule__AgentInternalViewpoint__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:583:1: ( ( 'AgentInternalViewPoint' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:584:1: ( 'AgentInternalViewPoint' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:584:1: ( 'AgentInternalViewPoint' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:585:1: 'AgentInternalViewPoint'
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getAgentInternalViewPointKeyword_0()); 
            match(input,11,FOLLOW_11_in_rule__AgentInternalViewpoint__Group__0__Impl1251); 
             after(grammarAccess.getAgentInternalViewpointAccess().getAgentInternalViewPointKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__0__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: rule__AgentInternalViewpoint__Group__1 : rule__AgentInternalViewpoint__Group__1__Impl rule__AgentInternalViewpoint__Group__2 ;
    public final void rule__AgentInternalViewpoint__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:602:1: ( rule__AgentInternalViewpoint__Group__1__Impl rule__AgentInternalViewpoint__Group__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:603:2: rule__AgentInternalViewpoint__Group__1__Impl rule__AgentInternalViewpoint__Group__2
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__1__Impl_in_rule__AgentInternalViewpoint__Group__11282);
            rule__AgentInternalViewpoint__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__2_in_rule__AgentInternalViewpoint__Group__11285);
            rule__AgentInternalViewpoint__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__1


    // $ANTLR start rule__AgentInternalViewpoint__Group__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:610:1: rule__AgentInternalViewpoint__Group__1__Impl : ( '{' ) ;
    public final void rule__AgentInternalViewpoint__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:614:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:615:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:615:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:616:1: '{'
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getLeftCurlyBracketKeyword_1()); 
            match(input,12,FOLLOW_12_in_rule__AgentInternalViewpoint__Group__1__Impl1313); 
             after(grammarAccess.getAgentInternalViewpointAccess().getLeftCurlyBracketKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__1__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:629:1: rule__AgentInternalViewpoint__Group__2 : rule__AgentInternalViewpoint__Group__2__Impl rule__AgentInternalViewpoint__Group__3 ;
    public final void rule__AgentInternalViewpoint__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:633:1: ( rule__AgentInternalViewpoint__Group__2__Impl rule__AgentInternalViewpoint__Group__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:634:2: rule__AgentInternalViewpoint__Group__2__Impl rule__AgentInternalViewpoint__Group__3
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__2__Impl_in_rule__AgentInternalViewpoint__Group__21344);
            rule__AgentInternalViewpoint__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__3_in_rule__AgentInternalViewpoint__Group__21347);
            rule__AgentInternalViewpoint__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__2


    // $ANTLR start rule__AgentInternalViewpoint__Group__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:641:1: rule__AgentInternalViewpoint__Group__2__Impl : ( ( rule__AgentInternalViewpoint__Alternatives_2 ) ) ;
    public final void rule__AgentInternalViewpoint__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:645:1: ( ( ( rule__AgentInternalViewpoint__Alternatives_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:646:1: ( ( rule__AgentInternalViewpoint__Alternatives_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:646:1: ( ( rule__AgentInternalViewpoint__Alternatives_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:647:1: ( rule__AgentInternalViewpoint__Alternatives_2 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getAlternatives_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:648:1: ( rule__AgentInternalViewpoint__Alternatives_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:648:2: rule__AgentInternalViewpoint__Alternatives_2
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Alternatives_2_in_rule__AgentInternalViewpoint__Group__2__Impl1374);
            rule__AgentInternalViewpoint__Alternatives_2();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getAlternatives_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__2__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:658:1: rule__AgentInternalViewpoint__Group__3 : rule__AgentInternalViewpoint__Group__3__Impl rule__AgentInternalViewpoint__Group__4 ;
    public final void rule__AgentInternalViewpoint__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:662:1: ( rule__AgentInternalViewpoint__Group__3__Impl rule__AgentInternalViewpoint__Group__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:663:2: rule__AgentInternalViewpoint__Group__3__Impl rule__AgentInternalViewpoint__Group__4
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__3__Impl_in_rule__AgentInternalViewpoint__Group__31404);
            rule__AgentInternalViewpoint__Group__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__4_in_rule__AgentInternalViewpoint__Group__31407);
            rule__AgentInternalViewpoint__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__3


    // $ANTLR start rule__AgentInternalViewpoint__Group__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:670:1: rule__AgentInternalViewpoint__Group__3__Impl : ( ( rule__AgentInternalViewpoint__Alternatives_3 )* ) ;
    public final void rule__AgentInternalViewpoint__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:674:1: ( ( ( rule__AgentInternalViewpoint__Alternatives_3 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:675:1: ( ( rule__AgentInternalViewpoint__Alternatives_3 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:675:1: ( ( rule__AgentInternalViewpoint__Alternatives_3 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:676:1: ( rule__AgentInternalViewpoint__Alternatives_3 )*
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getAlternatives_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:677:1: ( rule__AgentInternalViewpoint__Alternatives_3 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==RULE_ID||LA9_0==14||(LA9_0>=16 && LA9_0<=17)||(LA9_0>=21 && LA9_0<=22)||(LA9_0>=26 && LA9_0<=27)||(LA9_0>=29 && LA9_0<=30)) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:677:2: rule__AgentInternalViewpoint__Alternatives_3
            	    {
            	    pushFollow(FOLLOW_rule__AgentInternalViewpoint__Alternatives_3_in_rule__AgentInternalViewpoint__Group__3__Impl1434);
            	    rule__AgentInternalViewpoint__Alternatives_3();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getAgentInternalViewpointAccess().getAlternatives_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__3__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:687:1: rule__AgentInternalViewpoint__Group__4 : rule__AgentInternalViewpoint__Group__4__Impl ;
    public final void rule__AgentInternalViewpoint__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:691:1: ( rule__AgentInternalViewpoint__Group__4__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:692:2: rule__AgentInternalViewpoint__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group__4__Impl_in_rule__AgentInternalViewpoint__Group__41465);
            rule__AgentInternalViewpoint__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__4


    // $ANTLR start rule__AgentInternalViewpoint__Group__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:698:1: rule__AgentInternalViewpoint__Group__4__Impl : ( '}' ) ;
    public final void rule__AgentInternalViewpoint__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:702:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:704:1: '}'
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getRGhtCurlyBracketKeyword_4()); 
            match(input,13,FOLLOW_13_in_rule__AgentInternalViewpoint__Group__4__Impl1493); 
             after(grammarAccess.getAgentInternalViewpointAccess().getRGhtCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group__4__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:727:1: rule__AgentInternalViewpoint__Group_2_0__0 : rule__AgentInternalViewpoint__Group_2_0__0__Impl rule__AgentInternalViewpoint__Group_2_0__1 ;
    public final void rule__AgentInternalViewpoint__Group_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:731:1: ( rule__AgentInternalViewpoint__Group_2_0__0__Impl rule__AgentInternalViewpoint__Group_2_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:732:2: rule__AgentInternalViewpoint__Group_2_0__0__Impl rule__AgentInternalViewpoint__Group_2_0__1
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_0__0__Impl_in_rule__AgentInternalViewpoint__Group_2_0__01534);
            rule__AgentInternalViewpoint__Group_2_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_0__1_in_rule__AgentInternalViewpoint__Group_2_0__01537);
            rule__AgentInternalViewpoint__Group_2_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_0__0


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:739:1: rule__AgentInternalViewpoint__Group_2_0__0__Impl : ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 ) ) ;
    public final void rule__AgentInternalViewpoint__Group_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:743:1: ( ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:744:1: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:744:1: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:745:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_2_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:746:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:746:2: rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0_in_rule__AgentInternalViewpoint__Group_2_0__0__Impl1564);
            rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_0__0__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:756:1: rule__AgentInternalViewpoint__Group_2_0__1 : rule__AgentInternalViewpoint__Group_2_0__1__Impl ;
    public final void rule__AgentInternalViewpoint__Group_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:760:1: ( rule__AgentInternalViewpoint__Group_2_0__1__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:761:2: rule__AgentInternalViewpoint__Group_2_0__1__Impl
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_0__1__Impl_in_rule__AgentInternalViewpoint__Group_2_0__11594);
            rule__AgentInternalViewpoint__Group_2_0__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_0__1


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:767:1: rule__AgentInternalViewpoint__Group_2_0__1__Impl : ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 ) ) ;
    public final void rule__AgentInternalViewpoint__Group_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:771:1: ( ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:772:1: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:772:1: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:773:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_2_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:774:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:774:2: rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1_in_rule__AgentInternalViewpoint__Group_2_0__1__Impl1621);
            rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_2_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_0__1__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:788:1: rule__AgentInternalViewpoint__Group_2_1__0 : rule__AgentInternalViewpoint__Group_2_1__0__Impl rule__AgentInternalViewpoint__Group_2_1__1 ;
    public final void rule__AgentInternalViewpoint__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:792:1: ( rule__AgentInternalViewpoint__Group_2_1__0__Impl rule__AgentInternalViewpoint__Group_2_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:793:2: rule__AgentInternalViewpoint__Group_2_1__0__Impl rule__AgentInternalViewpoint__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_1__0__Impl_in_rule__AgentInternalViewpoint__Group_2_1__01655);
            rule__AgentInternalViewpoint__Group_2_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_1__1_in_rule__AgentInternalViewpoint__Group_2_1__01658);
            rule__AgentInternalViewpoint__Group_2_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_1__0


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:800:1: rule__AgentInternalViewpoint__Group_2_1__0__Impl : ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 ) ) ;
    public final void rule__AgentInternalViewpoint__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:804:1: ( ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:805:1: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:805:1: ( ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:806:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_2_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:807:1: ( rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:807:2: rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0_in_rule__AgentInternalViewpoint__Group_2_1__0__Impl1685);
            rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesAssignment_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_1__0__Impl


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:817:1: rule__AgentInternalViewpoint__Group_2_1__1 : rule__AgentInternalViewpoint__Group_2_1__1__Impl ;
    public final void rule__AgentInternalViewpoint__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:821:1: ( rule__AgentInternalViewpoint__Group_2_1__1__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:822:2: rule__AgentInternalViewpoint__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__Group_2_1__1__Impl_in_rule__AgentInternalViewpoint__Group_2_1__11715);
            rule__AgentInternalViewpoint__Group_2_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_1__1


    // $ANTLR start rule__AgentInternalViewpoint__Group_2_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:828:1: rule__AgentInternalViewpoint__Group_2_1__1__Impl : ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 ) ) ;
    public final void rule__AgentInternalViewpoint__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:832:1: ( ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:833:1: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:833:1: ( ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:834:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 )
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_2_1_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:835:1: ( rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:835:2: rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1_in_rule__AgentInternalViewpoint__Group_2_1__1__Impl1742);
            rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1();
            _fsp--;


            }

             after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentAssignment_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__Group_2_1__1__Impl


    // $ANTLR start rule__Belief__Group__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:849:1: rule__Belief__Group__0 : rule__Belief__Group__0__Impl rule__Belief__Group__1 ;
    public final void rule__Belief__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:853:1: ( rule__Belief__Group__0__Impl rule__Belief__Group__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:854:2: rule__Belief__Group__0__Impl rule__Belief__Group__1
            {
            pushFollow(FOLLOW_rule__Belief__Group__0__Impl_in_rule__Belief__Group__01776);
            rule__Belief__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Belief__Group__1_in_rule__Belief__Group__01779);
            rule__Belief__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__0


    // $ANTLR start rule__Belief__Group__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:861:1: rule__Belief__Group__0__Impl : ( 'Belief' ) ;
    public final void rule__Belief__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:865:1: ( ( 'Belief' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:866:1: ( 'Belief' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:866:1: ( 'Belief' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:867:1: 'Belief'
            {
             before(grammarAccess.getBeliefAccess().getBeliefKeyword_0()); 
            match(input,14,FOLLOW_14_in_rule__Belief__Group__0__Impl1807); 
             after(grammarAccess.getBeliefAccess().getBeliefKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__0__Impl


    // $ANTLR start rule__Belief__Group__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:880:1: rule__Belief__Group__1 : rule__Belief__Group__1__Impl rule__Belief__Group__2 ;
    public final void rule__Belief__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:884:1: ( rule__Belief__Group__1__Impl rule__Belief__Group__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:885:2: rule__Belief__Group__1__Impl rule__Belief__Group__2
            {
            pushFollow(FOLLOW_rule__Belief__Group__1__Impl_in_rule__Belief__Group__11838);
            rule__Belief__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Belief__Group__2_in_rule__Belief__Group__11841);
            rule__Belief__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__1


    // $ANTLR start rule__Belief__Group__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:892:1: rule__Belief__Group__1__Impl : ( ( rule__Belief__NameAssignment_1 ) ) ;
    public final void rule__Belief__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:896:1: ( ( ( rule__Belief__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:897:1: ( ( rule__Belief__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:897:1: ( ( rule__Belief__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:898:1: ( rule__Belief__NameAssignment_1 )
            {
             before(grammarAccess.getBeliefAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:899:1: ( rule__Belief__NameAssignment_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:899:2: rule__Belief__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Belief__NameAssignment_1_in_rule__Belief__Group__1__Impl1868);
            rule__Belief__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getBeliefAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__1__Impl


    // $ANTLR start rule__Belief__Group__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: rule__Belief__Group__2 : rule__Belief__Group__2__Impl rule__Belief__Group__3 ;
    public final void rule__Belief__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:913:1: ( rule__Belief__Group__2__Impl rule__Belief__Group__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:914:2: rule__Belief__Group__2__Impl rule__Belief__Group__3
            {
            pushFollow(FOLLOW_rule__Belief__Group__2__Impl_in_rule__Belief__Group__21898);
            rule__Belief__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Belief__Group__3_in_rule__Belief__Group__21901);
            rule__Belief__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__2


    // $ANTLR start rule__Belief__Group__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:921:1: rule__Belief__Group__2__Impl : ( ( rule__Belief__DescriptionAssignment_2 ) ) ;
    public final void rule__Belief__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:925:1: ( ( ( rule__Belief__DescriptionAssignment_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:926:1: ( ( rule__Belief__DescriptionAssignment_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:926:1: ( ( rule__Belief__DescriptionAssignment_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:927:1: ( rule__Belief__DescriptionAssignment_2 )
            {
             before(grammarAccess.getBeliefAccess().getDescriptionAssignment_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:928:1: ( rule__Belief__DescriptionAssignment_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:928:2: rule__Belief__DescriptionAssignment_2
            {
            pushFollow(FOLLOW_rule__Belief__DescriptionAssignment_2_in_rule__Belief__Group__2__Impl1928);
            rule__Belief__DescriptionAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getBeliefAccess().getDescriptionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__2__Impl


    // $ANTLR start rule__Belief__Group__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:938:1: rule__Belief__Group__3 : rule__Belief__Group__3__Impl rule__Belief__Group__4 ;
    public final void rule__Belief__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:942:1: ( rule__Belief__Group__3__Impl rule__Belief__Group__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:943:2: rule__Belief__Group__3__Impl rule__Belief__Group__4
            {
            pushFollow(FOLLOW_rule__Belief__Group__3__Impl_in_rule__Belief__Group__31958);
            rule__Belief__Group__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Belief__Group__4_in_rule__Belief__Group__31961);
            rule__Belief__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__3


    // $ANTLR start rule__Belief__Group__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:950:1: rule__Belief__Group__3__Impl : ( ( rule__Belief__DynamicAssignment_3 ) ) ;
    public final void rule__Belief__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:954:1: ( ( ( rule__Belief__DynamicAssignment_3 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:955:1: ( ( rule__Belief__DynamicAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:955:1: ( ( rule__Belief__DynamicAssignment_3 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:956:1: ( rule__Belief__DynamicAssignment_3 )
            {
             before(grammarAccess.getBeliefAccess().getDynamicAssignment_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:957:1: ( rule__Belief__DynamicAssignment_3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:957:2: rule__Belief__DynamicAssignment_3
            {
            pushFollow(FOLLOW_rule__Belief__DynamicAssignment_3_in_rule__Belief__Group__3__Impl1988);
            rule__Belief__DynamicAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getBeliefAccess().getDynamicAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__3__Impl


    // $ANTLR start rule__Belief__Group__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:967:1: rule__Belief__Group__4 : rule__Belief__Group__4__Impl ;
    public final void rule__Belief__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:971:1: ( rule__Belief__Group__4__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:972:2: rule__Belief__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Belief__Group__4__Impl_in_rule__Belief__Group__42018);
            rule__Belief__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__4


    // $ANTLR start rule__Belief__Group__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:978:1: rule__Belief__Group__4__Impl : ( ';' ) ;
    public final void rule__Belief__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:982:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:983:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:983:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ';'
            {
             before(grammarAccess.getBeliefAccess().getSemColonKeyword_4()); 
            match(input,15,FOLLOW_15_in_rule__Belief__Group__4__Impl2046); 
             after(grammarAccess.getBeliefAccess().getSemColonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__Group__4__Impl


    // $ANTLR start rule__Goal__Group__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1007:1: rule__Goal__Group__0 : rule__Goal__Group__0__Impl rule__Goal__Group__1 ;
    public final void rule__Goal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1011:1: ( rule__Goal__Group__0__Impl rule__Goal__Group__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1012:2: rule__Goal__Group__0__Impl rule__Goal__Group__1
            {
            pushFollow(FOLLOW_rule__Goal__Group__0__Impl_in_rule__Goal__Group__02087);
            rule__Goal__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Goal__Group__1_in_rule__Goal__Group__02090);
            rule__Goal__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__0


    // $ANTLR start rule__Goal__Group__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1019:1: rule__Goal__Group__0__Impl : ( 'Goal' ) ;
    public final void rule__Goal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1023:1: ( ( 'Goal' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1024:1: ( 'Goal' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1024:1: ( 'Goal' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1025:1: 'Goal'
            {
             before(grammarAccess.getGoalAccess().getGoalKeyword_0()); 
            match(input,16,FOLLOW_16_in_rule__Goal__Group__0__Impl2118); 
             after(grammarAccess.getGoalAccess().getGoalKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__0__Impl


    // $ANTLR start rule__Goal__Group__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1038:1: rule__Goal__Group__1 : rule__Goal__Group__1__Impl rule__Goal__Group__2 ;
    public final void rule__Goal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1042:1: ( rule__Goal__Group__1__Impl rule__Goal__Group__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1043:2: rule__Goal__Group__1__Impl rule__Goal__Group__2
            {
            pushFollow(FOLLOW_rule__Goal__Group__1__Impl_in_rule__Goal__Group__12149);
            rule__Goal__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Goal__Group__2_in_rule__Goal__Group__12152);
            rule__Goal__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__1


    // $ANTLR start rule__Goal__Group__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1050:1: rule__Goal__Group__1__Impl : ( ( rule__Goal__NameAssignment_1 ) ) ;
    public final void rule__Goal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1054:1: ( ( ( rule__Goal__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1055:1: ( ( rule__Goal__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1055:1: ( ( rule__Goal__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1056:1: ( rule__Goal__NameAssignment_1 )
            {
             before(grammarAccess.getGoalAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1057:1: ( rule__Goal__NameAssignment_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1057:2: rule__Goal__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Goal__NameAssignment_1_in_rule__Goal__Group__1__Impl2179);
            rule__Goal__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getGoalAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__1__Impl


    // $ANTLR start rule__Goal__Group__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:1: rule__Goal__Group__2 : rule__Goal__Group__2__Impl rule__Goal__Group__3 ;
    public final void rule__Goal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1071:1: ( rule__Goal__Group__2__Impl rule__Goal__Group__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1072:2: rule__Goal__Group__2__Impl rule__Goal__Group__3
            {
            pushFollow(FOLLOW_rule__Goal__Group__2__Impl_in_rule__Goal__Group__22209);
            rule__Goal__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Goal__Group__3_in_rule__Goal__Group__22212);
            rule__Goal__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__2


    // $ANTLR start rule__Goal__Group__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1079:1: rule__Goal__Group__2__Impl : ( ( rule__Goal__DescriptionAssignment_2 ) ) ;
    public final void rule__Goal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1083:1: ( ( ( rule__Goal__DescriptionAssignment_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1084:1: ( ( rule__Goal__DescriptionAssignment_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1084:1: ( ( rule__Goal__DescriptionAssignment_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1085:1: ( rule__Goal__DescriptionAssignment_2 )
            {
             before(grammarAccess.getGoalAccess().getDescriptionAssignment_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1086:1: ( rule__Goal__DescriptionAssignment_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1086:2: rule__Goal__DescriptionAssignment_2
            {
            pushFollow(FOLLOW_rule__Goal__DescriptionAssignment_2_in_rule__Goal__Group__2__Impl2239);
            rule__Goal__DescriptionAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getGoalAccess().getDescriptionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__2__Impl


    // $ANTLR start rule__Goal__Group__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1096:1: rule__Goal__Group__3 : rule__Goal__Group__3__Impl rule__Goal__Group__4 ;
    public final void rule__Goal__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1100:1: ( rule__Goal__Group__3__Impl rule__Goal__Group__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1101:2: rule__Goal__Group__3__Impl rule__Goal__Group__4
            {
            pushFollow(FOLLOW_rule__Goal__Group__3__Impl_in_rule__Goal__Group__32269);
            rule__Goal__Group__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Goal__Group__4_in_rule__Goal__Group__32272);
            rule__Goal__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__3


    // $ANTLR start rule__Goal__Group__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1108:1: rule__Goal__Group__3__Impl : ( ( rule__Goal__RecurAssignment_3 ) ) ;
    public final void rule__Goal__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1112:1: ( ( ( rule__Goal__RecurAssignment_3 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1113:1: ( ( rule__Goal__RecurAssignment_3 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1113:1: ( ( rule__Goal__RecurAssignment_3 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1114:1: ( rule__Goal__RecurAssignment_3 )
            {
             before(grammarAccess.getGoalAccess().getRecurAssignment_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1115:1: ( rule__Goal__RecurAssignment_3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1115:2: rule__Goal__RecurAssignment_3
            {
            pushFollow(FOLLOW_rule__Goal__RecurAssignment_3_in_rule__Goal__Group__3__Impl2299);
            rule__Goal__RecurAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getGoalAccess().getRecurAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__3__Impl


    // $ANTLR start rule__Goal__Group__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1125:1: rule__Goal__Group__4 : rule__Goal__Group__4__Impl ;
    public final void rule__Goal__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1129:1: ( rule__Goal__Group__4__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1130:2: rule__Goal__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Goal__Group__4__Impl_in_rule__Goal__Group__42329);
            rule__Goal__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__4


    // $ANTLR start rule__Goal__Group__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1136:1: rule__Goal__Group__4__Impl : ( ';' ) ;
    public final void rule__Goal__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1140:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1141:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1141:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1142:1: ';'
            {
             before(grammarAccess.getGoalAccess().getSemColonKeyword_4()); 
            match(input,15,FOLLOW_15_in_rule__Goal__Group__4__Impl2357); 
             after(grammarAccess.getGoalAccess().getSemColonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__Group__4__Impl


    // $ANTLR start rule__Capabilities__Group_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1165:1: rule__Capabilities__Group_0__0 : rule__Capabilities__Group_0__0__Impl rule__Capabilities__Group_0__1 ;
    public final void rule__Capabilities__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1169:1: ( rule__Capabilities__Group_0__0__Impl rule__Capabilities__Group_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1170:2: rule__Capabilities__Group_0__0__Impl rule__Capabilities__Group_0__1
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_0__0__Impl_in_rule__Capabilities__Group_0__02398);
            rule__Capabilities__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_0__1_in_rule__Capabilities__Group_0__02401);
            rule__Capabilities__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__0


    // $ANTLR start rule__Capabilities__Group_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1177:1: rule__Capabilities__Group_0__0__Impl : ( 'Capabilities' ) ;
    public final void rule__Capabilities__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:1: ( ( 'Capabilities' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1182:1: ( 'Capabilities' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1182:1: ( 'Capabilities' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1183:1: 'Capabilities'
            {
             before(grammarAccess.getCapabilitiesAccess().getCapabilitiesKeyword_0_0()); 
            match(input,17,FOLLOW_17_in_rule__Capabilities__Group_0__0__Impl2429); 
             after(grammarAccess.getCapabilitiesAccess().getCapabilitiesKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__0__Impl


    // $ANTLR start rule__Capabilities__Group_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1196:1: rule__Capabilities__Group_0__1 : rule__Capabilities__Group_0__1__Impl rule__Capabilities__Group_0__2 ;
    public final void rule__Capabilities__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1200:1: ( rule__Capabilities__Group_0__1__Impl rule__Capabilities__Group_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1201:2: rule__Capabilities__Group_0__1__Impl rule__Capabilities__Group_0__2
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_0__1__Impl_in_rule__Capabilities__Group_0__12460);
            rule__Capabilities__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_0__2_in_rule__Capabilities__Group_0__12463);
            rule__Capabilities__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__1


    // $ANTLR start rule__Capabilities__Group_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1208:1: rule__Capabilities__Group_0__1__Impl : ( ( rule__Capabilities__NameAssignment_0_1 ) ) ;
    public final void rule__Capabilities__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1212:1: ( ( ( rule__Capabilities__NameAssignment_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1213:1: ( ( rule__Capabilities__NameAssignment_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1213:1: ( ( rule__Capabilities__NameAssignment_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1214:1: ( rule__Capabilities__NameAssignment_0_1 )
            {
             before(grammarAccess.getCapabilitiesAccess().getNameAssignment_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1215:1: ( rule__Capabilities__NameAssignment_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1215:2: rule__Capabilities__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__Capabilities__NameAssignment_0_1_in_rule__Capabilities__Group_0__1__Impl2490);
            rule__Capabilities__NameAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__1__Impl


    // $ANTLR start rule__Capabilities__Group_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1225:1: rule__Capabilities__Group_0__2 : rule__Capabilities__Group_0__2__Impl rule__Capabilities__Group_0__3 ;
    public final void rule__Capabilities__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1229:1: ( rule__Capabilities__Group_0__2__Impl rule__Capabilities__Group_0__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1230:2: rule__Capabilities__Group_0__2__Impl rule__Capabilities__Group_0__3
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_0__2__Impl_in_rule__Capabilities__Group_0__22520);
            rule__Capabilities__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_0__3_in_rule__Capabilities__Group_0__22523);
            rule__Capabilities__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__2


    // $ANTLR start rule__Capabilities__Group_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1237:1: rule__Capabilities__Group_0__2__Impl : ( ( rule__Capabilities__DescriptionAssignment_0_2 ) ) ;
    public final void rule__Capabilities__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1241:1: ( ( ( rule__Capabilities__DescriptionAssignment_0_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1242:1: ( ( rule__Capabilities__DescriptionAssignment_0_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1242:1: ( ( rule__Capabilities__DescriptionAssignment_0_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1243:1: ( rule__Capabilities__DescriptionAssignment_0_2 )
            {
             before(grammarAccess.getCapabilitiesAccess().getDescriptionAssignment_0_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1244:1: ( rule__Capabilities__DescriptionAssignment_0_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1244:2: rule__Capabilities__DescriptionAssignment_0_2
            {
            pushFollow(FOLLOW_rule__Capabilities__DescriptionAssignment_0_2_in_rule__Capabilities__Group_0__2__Impl2550);
            rule__Capabilities__DescriptionAssignment_0_2();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getDescriptionAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__2__Impl


    // $ANTLR start rule__Capabilities__Group_0__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1254:1: rule__Capabilities__Group_0__3 : rule__Capabilities__Group_0__3__Impl ;
    public final void rule__Capabilities__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1258:1: ( rule__Capabilities__Group_0__3__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1259:2: rule__Capabilities__Group_0__3__Impl
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_0__3__Impl_in_rule__Capabilities__Group_0__32580);
            rule__Capabilities__Group_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__3


    // $ANTLR start rule__Capabilities__Group_0__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1265:1: rule__Capabilities__Group_0__3__Impl : ( ';' ) ;
    public final void rule__Capabilities__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1269:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1270:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1270:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1271:1: ';'
            {
             before(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_0_3()); 
            match(input,15,FOLLOW_15_in_rule__Capabilities__Group_0__3__Impl2608); 
             after(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_0__3__Impl


    // $ANTLR start rule__Capabilities__Group_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1292:1: rule__Capabilities__Group_1__0 : rule__Capabilities__Group_1__0__Impl rule__Capabilities__Group_1__1 ;
    public final void rule__Capabilities__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1296:1: ( rule__Capabilities__Group_1__0__Impl rule__Capabilities__Group_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1297:2: rule__Capabilities__Group_1__0__Impl rule__Capabilities__Group_1__1
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1__0__Impl_in_rule__Capabilities__Group_1__02647);
            rule__Capabilities__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1__1_in_rule__Capabilities__Group_1__02650);
            rule__Capabilities__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__0


    // $ANTLR start rule__Capabilities__Group_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1304:1: rule__Capabilities__Group_1__0__Impl : ( ( rule__Capabilities__CapAssignment_1_0 ) ) ;
    public final void rule__Capabilities__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1308:1: ( ( ( rule__Capabilities__CapAssignment_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1309:1: ( ( rule__Capabilities__CapAssignment_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1309:1: ( ( rule__Capabilities__CapAssignment_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1310:1: ( rule__Capabilities__CapAssignment_1_0 )
            {
             before(grammarAccess.getCapabilitiesAccess().getCapAssignment_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:1: ( rule__Capabilities__CapAssignment_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:2: rule__Capabilities__CapAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Capabilities__CapAssignment_1_0_in_rule__Capabilities__Group_1__0__Impl2677);
            rule__Capabilities__CapAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getCapAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__0__Impl


    // $ANTLR start rule__Capabilities__Group_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1321:1: rule__Capabilities__Group_1__1 : rule__Capabilities__Group_1__1__Impl rule__Capabilities__Group_1__2 ;
    public final void rule__Capabilities__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1325:1: ( rule__Capabilities__Group_1__1__Impl rule__Capabilities__Group_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1326:2: rule__Capabilities__Group_1__1__Impl rule__Capabilities__Group_1__2
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1__1__Impl_in_rule__Capabilities__Group_1__12707);
            rule__Capabilities__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1__2_in_rule__Capabilities__Group_1__12710);
            rule__Capabilities__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__1


    // $ANTLR start rule__Capabilities__Group_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1333:1: rule__Capabilities__Group_1__1__Impl : ( '{' ) ;
    public final void rule__Capabilities__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1337:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1338:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1338:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1339:1: '{'
            {
             before(grammarAccess.getCapabilitiesAccess().getLeftCurlyBracketKeyword_1_1()); 
            match(input,12,FOLLOW_12_in_rule__Capabilities__Group_1__1__Impl2738); 
             after(grammarAccess.getCapabilitiesAccess().getLeftCurlyBracketKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__1__Impl


    // $ANTLR start rule__Capabilities__Group_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1352:1: rule__Capabilities__Group_1__2 : rule__Capabilities__Group_1__2__Impl rule__Capabilities__Group_1__3 ;
    public final void rule__Capabilities__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1356:1: ( rule__Capabilities__Group_1__2__Impl rule__Capabilities__Group_1__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1357:2: rule__Capabilities__Group_1__2__Impl rule__Capabilities__Group_1__3
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1__2__Impl_in_rule__Capabilities__Group_1__22769);
            rule__Capabilities__Group_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1__3_in_rule__Capabilities__Group_1__22772);
            rule__Capabilities__Group_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__2


    // $ANTLR start rule__Capabilities__Group_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1364:1: rule__Capabilities__Group_1__2__Impl : ( ( rule__Capabilities__Alternatives_1_2 )* ) ;
    public final void rule__Capabilities__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1368:1: ( ( ( rule__Capabilities__Alternatives_1_2 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1369:1: ( ( rule__Capabilities__Alternatives_1_2 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1369:1: ( ( rule__Capabilities__Alternatives_1_2 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1370:1: ( rule__Capabilities__Alternatives_1_2 )*
            {
             before(grammarAccess.getCapabilitiesAccess().getAlternatives_1_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:1: ( rule__Capabilities__Alternatives_1_2 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( ((LA10_0>=18 && LA10_0<=20)) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:2: rule__Capabilities__Alternatives_1_2
            	    {
            	    pushFollow(FOLLOW_rule__Capabilities__Alternatives_1_2_in_rule__Capabilities__Group_1__2__Impl2799);
            	    rule__Capabilities__Alternatives_1_2();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getCapabilitiesAccess().getAlternatives_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__2__Impl


    // $ANTLR start rule__Capabilities__Group_1__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1381:1: rule__Capabilities__Group_1__3 : rule__Capabilities__Group_1__3__Impl ;
    public final void rule__Capabilities__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1385:1: ( rule__Capabilities__Group_1__3__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1386:2: rule__Capabilities__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1__3__Impl_in_rule__Capabilities__Group_1__32830);
            rule__Capabilities__Group_1__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__3


    // $ANTLR start rule__Capabilities__Group_1__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1392:1: rule__Capabilities__Group_1__3__Impl : ( '}' ) ;
    public final void rule__Capabilities__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1396:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1397:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1397:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1398:1: '}'
            {
             before(grammarAccess.getCapabilitiesAccess().getRGhtCurlyBracketKeyword_1_3()); 
            match(input,13,FOLLOW_13_in_rule__Capabilities__Group_1__3__Impl2858); 
             after(grammarAccess.getCapabilitiesAccess().getRGhtCurlyBracketKeyword_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1__3__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1419:1: rule__Capabilities__Group_1_2_0__0 : rule__Capabilities__Group_1_2_0__0__Impl rule__Capabilities__Group_1_2_0__1 ;
    public final void rule__Capabilities__Group_1_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1423:1: ( rule__Capabilities__Group_1_2_0__0__Impl rule__Capabilities__Group_1_2_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1424:2: rule__Capabilities__Group_1_2_0__0__Impl rule__Capabilities__Group_1_2_0__1
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__0__Impl_in_rule__Capabilities__Group_1_2_0__02897);
            rule__Capabilities__Group_1_2_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__1_in_rule__Capabilities__Group_1_2_0__02900);
            rule__Capabilities__Group_1_2_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__0


    // $ANTLR start rule__Capabilities__Group_1_2_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1431:1: rule__Capabilities__Group_1_2_0__0__Impl : ( 'includes' ) ;
    public final void rule__Capabilities__Group_1_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1435:1: ( ( 'includes' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1436:1: ( 'includes' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1436:1: ( 'includes' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1437:1: 'includes'
            {
             before(grammarAccess.getCapabilitiesAccess().getIncludesKeyword_1_2_0_0()); 
            match(input,18,FOLLOW_18_in_rule__Capabilities__Group_1_2_0__0__Impl2928); 
             after(grammarAccess.getCapabilitiesAccess().getIncludesKeyword_1_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__0__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1450:1: rule__Capabilities__Group_1_2_0__1 : rule__Capabilities__Group_1_2_0__1__Impl rule__Capabilities__Group_1_2_0__2 ;
    public final void rule__Capabilities__Group_1_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1454:1: ( rule__Capabilities__Group_1_2_0__1__Impl rule__Capabilities__Group_1_2_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1455:2: rule__Capabilities__Group_1_2_0__1__Impl rule__Capabilities__Group_1_2_0__2
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__1__Impl_in_rule__Capabilities__Group_1_2_0__12959);
            rule__Capabilities__Group_1_2_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__2_in_rule__Capabilities__Group_1_2_0__12962);
            rule__Capabilities__Group_1_2_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__1


    // $ANTLR start rule__Capabilities__Group_1_2_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1462:1: rule__Capabilities__Group_1_2_0__1__Impl : ( ( rule__Capabilities__BeliefAssignment_1_2_0_1 ) ) ;
    public final void rule__Capabilities__Group_1_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1466:1: ( ( ( rule__Capabilities__BeliefAssignment_1_2_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1467:1: ( ( rule__Capabilities__BeliefAssignment_1_2_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1467:1: ( ( rule__Capabilities__BeliefAssignment_1_2_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1468:1: ( rule__Capabilities__BeliefAssignment_1_2_0_1 )
            {
             before(grammarAccess.getCapabilitiesAccess().getBeliefAssignment_1_2_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1469:1: ( rule__Capabilities__BeliefAssignment_1_2_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1469:2: rule__Capabilities__BeliefAssignment_1_2_0_1
            {
            pushFollow(FOLLOW_rule__Capabilities__BeliefAssignment_1_2_0_1_in_rule__Capabilities__Group_1_2_0__1__Impl2989);
            rule__Capabilities__BeliefAssignment_1_2_0_1();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getBeliefAssignment_1_2_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__1__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1479:1: rule__Capabilities__Group_1_2_0__2 : rule__Capabilities__Group_1_2_0__2__Impl ;
    public final void rule__Capabilities__Group_1_2_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1483:1: ( rule__Capabilities__Group_1_2_0__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1484:2: rule__Capabilities__Group_1_2_0__2__Impl
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_0__2__Impl_in_rule__Capabilities__Group_1_2_0__23019);
            rule__Capabilities__Group_1_2_0__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__2


    // $ANTLR start rule__Capabilities__Group_1_2_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1490:1: rule__Capabilities__Group_1_2_0__2__Impl : ( ';' ) ;
    public final void rule__Capabilities__Group_1_2_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1494:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1495:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1495:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1496:1: ';'
            {
             before(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_0_2()); 
            match(input,15,FOLLOW_15_in_rule__Capabilities__Group_1_2_0__2__Impl3047); 
             after(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_0__2__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1515:1: rule__Capabilities__Group_1_2_1__0 : rule__Capabilities__Group_1_2_1__0__Impl rule__Capabilities__Group_1_2_1__1 ;
    public final void rule__Capabilities__Group_1_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1519:1: ( rule__Capabilities__Group_1_2_1__0__Impl rule__Capabilities__Group_1_2_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1520:2: rule__Capabilities__Group_1_2_1__0__Impl rule__Capabilities__Group_1_2_1__1
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__0__Impl_in_rule__Capabilities__Group_1_2_1__03084);
            rule__Capabilities__Group_1_2_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__1_in_rule__Capabilities__Group_1_2_1__03087);
            rule__Capabilities__Group_1_2_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__0


    // $ANTLR start rule__Capabilities__Group_1_2_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1527:1: rule__Capabilities__Group_1_2_1__0__Impl : ( 'uses' ) ;
    public final void rule__Capabilities__Group_1_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1531:1: ( ( 'uses' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( 'uses' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( 'uses' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1533:1: 'uses'
            {
             before(grammarAccess.getCapabilitiesAccess().getUsesKeyword_1_2_1_0()); 
            match(input,19,FOLLOW_19_in_rule__Capabilities__Group_1_2_1__0__Impl3115); 
             after(grammarAccess.getCapabilitiesAccess().getUsesKeyword_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__0__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1546:1: rule__Capabilities__Group_1_2_1__1 : rule__Capabilities__Group_1_2_1__1__Impl rule__Capabilities__Group_1_2_1__2 ;
    public final void rule__Capabilities__Group_1_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1550:1: ( rule__Capabilities__Group_1_2_1__1__Impl rule__Capabilities__Group_1_2_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1551:2: rule__Capabilities__Group_1_2_1__1__Impl rule__Capabilities__Group_1_2_1__2
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__1__Impl_in_rule__Capabilities__Group_1_2_1__13146);
            rule__Capabilities__Group_1_2_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__2_in_rule__Capabilities__Group_1_2_1__13149);
            rule__Capabilities__Group_1_2_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__1


    // $ANTLR start rule__Capabilities__Group_1_2_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1558:1: rule__Capabilities__Group_1_2_1__1__Impl : ( ( rule__Capabilities__GoalAssignment_1_2_1_1 ) ) ;
    public final void rule__Capabilities__Group_1_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:1: ( ( ( rule__Capabilities__GoalAssignment_1_2_1_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1563:1: ( ( rule__Capabilities__GoalAssignment_1_2_1_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1563:1: ( ( rule__Capabilities__GoalAssignment_1_2_1_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1564:1: ( rule__Capabilities__GoalAssignment_1_2_1_1 )
            {
             before(grammarAccess.getCapabilitiesAccess().getGoalAssignment_1_2_1_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1565:1: ( rule__Capabilities__GoalAssignment_1_2_1_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1565:2: rule__Capabilities__GoalAssignment_1_2_1_1
            {
            pushFollow(FOLLOW_rule__Capabilities__GoalAssignment_1_2_1_1_in_rule__Capabilities__Group_1_2_1__1__Impl3176);
            rule__Capabilities__GoalAssignment_1_2_1_1();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getGoalAssignment_1_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__1__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1575:1: rule__Capabilities__Group_1_2_1__2 : rule__Capabilities__Group_1_2_1__2__Impl ;
    public final void rule__Capabilities__Group_1_2_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1579:1: ( rule__Capabilities__Group_1_2_1__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1580:2: rule__Capabilities__Group_1_2_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_1__2__Impl_in_rule__Capabilities__Group_1_2_1__23206);
            rule__Capabilities__Group_1_2_1__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__2


    // $ANTLR start rule__Capabilities__Group_1_2_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1586:1: rule__Capabilities__Group_1_2_1__2__Impl : ( ';' ) ;
    public final void rule__Capabilities__Group_1_2_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1590:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1591:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1591:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1592:1: ';'
            {
             before(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_1_2()); 
            match(input,15,FOLLOW_15_in_rule__Capabilities__Group_1_2_1__2__Impl3234); 
             after(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_1__2__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_2__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1611:1: rule__Capabilities__Group_1_2_2__0 : rule__Capabilities__Group_1_2_2__0__Impl rule__Capabilities__Group_1_2_2__1 ;
    public final void rule__Capabilities__Group_1_2_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1615:1: ( rule__Capabilities__Group_1_2_2__0__Impl rule__Capabilities__Group_1_2_2__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1616:2: rule__Capabilities__Group_1_2_2__0__Impl rule__Capabilities__Group_1_2_2__1
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__0__Impl_in_rule__Capabilities__Group_1_2_2__03271);
            rule__Capabilities__Group_1_2_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__1_in_rule__Capabilities__Group_1_2_2__03274);
            rule__Capabilities__Group_1_2_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__0


    // $ANTLR start rule__Capabilities__Group_1_2_2__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1623:1: rule__Capabilities__Group_1_2_2__0__Impl : ( 'applies' ) ;
    public final void rule__Capabilities__Group_1_2_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1627:1: ( ( 'applies' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1628:1: ( 'applies' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1628:1: ( 'applies' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1629:1: 'applies'
            {
             before(grammarAccess.getCapabilitiesAccess().getAppliesKeyword_1_2_2_0()); 
            match(input,20,FOLLOW_20_in_rule__Capabilities__Group_1_2_2__0__Impl3302); 
             after(grammarAccess.getCapabilitiesAccess().getAppliesKeyword_1_2_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__0__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_2__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1642:1: rule__Capabilities__Group_1_2_2__1 : rule__Capabilities__Group_1_2_2__1__Impl rule__Capabilities__Group_1_2_2__2 ;
    public final void rule__Capabilities__Group_1_2_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1646:1: ( rule__Capabilities__Group_1_2_2__1__Impl rule__Capabilities__Group_1_2_2__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1647:2: rule__Capabilities__Group_1_2_2__1__Impl rule__Capabilities__Group_1_2_2__2
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__1__Impl_in_rule__Capabilities__Group_1_2_2__13333);
            rule__Capabilities__Group_1_2_2__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__2_in_rule__Capabilities__Group_1_2_2__13336);
            rule__Capabilities__Group_1_2_2__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__1


    // $ANTLR start rule__Capabilities__Group_1_2_2__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:1: rule__Capabilities__Group_1_2_2__1__Impl : ( ( rule__Capabilities__PlanAssignment_1_2_2_1 ) ) ;
    public final void rule__Capabilities__Group_1_2_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1658:1: ( ( ( rule__Capabilities__PlanAssignment_1_2_2_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1659:1: ( ( rule__Capabilities__PlanAssignment_1_2_2_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1659:1: ( ( rule__Capabilities__PlanAssignment_1_2_2_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1660:1: ( rule__Capabilities__PlanAssignment_1_2_2_1 )
            {
             before(grammarAccess.getCapabilitiesAccess().getPlanAssignment_1_2_2_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1661:1: ( rule__Capabilities__PlanAssignment_1_2_2_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1661:2: rule__Capabilities__PlanAssignment_1_2_2_1
            {
            pushFollow(FOLLOW_rule__Capabilities__PlanAssignment_1_2_2_1_in_rule__Capabilities__Group_1_2_2__1__Impl3363);
            rule__Capabilities__PlanAssignment_1_2_2_1();
            _fsp--;


            }

             after(grammarAccess.getCapabilitiesAccess().getPlanAssignment_1_2_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__1__Impl


    // $ANTLR start rule__Capabilities__Group_1_2_2__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1671:1: rule__Capabilities__Group_1_2_2__2 : rule__Capabilities__Group_1_2_2__2__Impl ;
    public final void rule__Capabilities__Group_1_2_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1675:1: ( rule__Capabilities__Group_1_2_2__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1676:2: rule__Capabilities__Group_1_2_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Capabilities__Group_1_2_2__2__Impl_in_rule__Capabilities__Group_1_2_2__23393);
            rule__Capabilities__Group_1_2_2__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__2


    // $ANTLR start rule__Capabilities__Group_1_2_2__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1682:1: rule__Capabilities__Group_1_2_2__2__Impl : ( ';' ) ;
    public final void rule__Capabilities__Group_1_2_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1686:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1687:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1687:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1688:1: ';'
            {
             before(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_2_2()); 
            match(input,15,FOLLOW_15_in_rule__Capabilities__Group_1_2_2__2__Impl3421); 
             after(grammarAccess.getCapabilitiesAccess().getSemColonKeyword_1_2_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__Group_1_2_2__2__Impl


    // $ANTLR start rule__AgentState__Group__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1707:1: rule__AgentState__Group__0 : rule__AgentState__Group__0__Impl rule__AgentState__Group__1 ;
    public final void rule__AgentState__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1711:1: ( rule__AgentState__Group__0__Impl rule__AgentState__Group__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1712:2: rule__AgentState__Group__0__Impl rule__AgentState__Group__1
            {
            pushFollow(FOLLOW_rule__AgentState__Group__0__Impl_in_rule__AgentState__Group__03458);
            rule__AgentState__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentState__Group__1_in_rule__AgentState__Group__03461);
            rule__AgentState__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__0


    // $ANTLR start rule__AgentState__Group__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1719:1: rule__AgentState__Group__0__Impl : ( 'AgentState' ) ;
    public final void rule__AgentState__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1723:1: ( ( 'AgentState' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1724:1: ( 'AgentState' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1724:1: ( 'AgentState' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1725:1: 'AgentState'
            {
             before(grammarAccess.getAgentStateAccess().getAgentStateKeyword_0()); 
            match(input,21,FOLLOW_21_in_rule__AgentState__Group__0__Impl3489); 
             after(grammarAccess.getAgentStateAccess().getAgentStateKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__0__Impl


    // $ANTLR start rule__AgentState__Group__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1738:1: rule__AgentState__Group__1 : rule__AgentState__Group__1__Impl rule__AgentState__Group__2 ;
    public final void rule__AgentState__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1742:1: ( rule__AgentState__Group__1__Impl rule__AgentState__Group__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1743:2: rule__AgentState__Group__1__Impl rule__AgentState__Group__2
            {
            pushFollow(FOLLOW_rule__AgentState__Group__1__Impl_in_rule__AgentState__Group__13520);
            rule__AgentState__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentState__Group__2_in_rule__AgentState__Group__13523);
            rule__AgentState__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__1


    // $ANTLR start rule__AgentState__Group__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1750:1: rule__AgentState__Group__1__Impl : ( ( rule__AgentState__NameAssignment_1 ) ) ;
    public final void rule__AgentState__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1754:1: ( ( ( rule__AgentState__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1755:1: ( ( rule__AgentState__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1755:1: ( ( rule__AgentState__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1756:1: ( rule__AgentState__NameAssignment_1 )
            {
             before(grammarAccess.getAgentStateAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1757:1: ( rule__AgentState__NameAssignment_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1757:2: rule__AgentState__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__AgentState__NameAssignment_1_in_rule__AgentState__Group__1__Impl3550);
            rule__AgentState__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getAgentStateAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__1__Impl


    // $ANTLR start rule__AgentState__Group__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1767:1: rule__AgentState__Group__2 : rule__AgentState__Group__2__Impl ;
    public final void rule__AgentState__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1771:1: ( rule__AgentState__Group__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1772:2: rule__AgentState__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__AgentState__Group__2__Impl_in_rule__AgentState__Group__23580);
            rule__AgentState__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__2


    // $ANTLR start rule__AgentState__Group__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1778:1: rule__AgentState__Group__2__Impl : ( ';' ) ;
    public final void rule__AgentState__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1782:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1784:1: ';'
            {
             before(grammarAccess.getAgentStateAccess().getSemColonKeyword_2()); 
            match(input,15,FOLLOW_15_in_rule__AgentState__Group__2__Impl3608); 
             after(grammarAccess.getAgentStateAccess().getSemColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__Group__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1803:1: rule__SemanticWebAgent__Group_0__0 : rule__SemanticWebAgent__Group_0__0__Impl rule__SemanticWebAgent__Group_0__1 ;
    public final void rule__SemanticWebAgent__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1807:1: ( rule__SemanticWebAgent__Group_0__0__Impl rule__SemanticWebAgent__Group_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1808:2: rule__SemanticWebAgent__Group_0__0__Impl rule__SemanticWebAgent__Group_0__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__0__Impl_in_rule__SemanticWebAgent__Group_0__03645);
            rule__SemanticWebAgent__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__1_in_rule__SemanticWebAgent__Group_0__03648);
            rule__SemanticWebAgent__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__0


    // $ANTLR start rule__SemanticWebAgent__Group_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1815:1: rule__SemanticWebAgent__Group_0__0__Impl : ( 'SemanticWebAgent' ) ;
    public final void rule__SemanticWebAgent__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1819:1: ( ( 'SemanticWebAgent' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1820:1: ( 'SemanticWebAgent' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1820:1: ( 'SemanticWebAgent' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1821:1: 'SemanticWebAgent'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemanticWebAgentKeyword_0_0()); 
            match(input,22,FOLLOW_22_in_rule__SemanticWebAgent__Group_0__0__Impl3676); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemanticWebAgentKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1834:1: rule__SemanticWebAgent__Group_0__1 : rule__SemanticWebAgent__Group_0__1__Impl rule__SemanticWebAgent__Group_0__2 ;
    public final void rule__SemanticWebAgent__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1838:1: ( rule__SemanticWebAgent__Group_0__1__Impl rule__SemanticWebAgent__Group_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1839:2: rule__SemanticWebAgent__Group_0__1__Impl rule__SemanticWebAgent__Group_0__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__1__Impl_in_rule__SemanticWebAgent__Group_0__13707);
            rule__SemanticWebAgent__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__2_in_rule__SemanticWebAgent__Group_0__13710);
            rule__SemanticWebAgent__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__1


    // $ANTLR start rule__SemanticWebAgent__Group_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1846:1: rule__SemanticWebAgent__Group_0__1__Impl : ( ( rule__SemanticWebAgent__NameAssignment_0_1 ) ) ;
    public final void rule__SemanticWebAgent__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1850:1: ( ( ( rule__SemanticWebAgent__NameAssignment_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1851:1: ( ( rule__SemanticWebAgent__NameAssignment_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1851:1: ( ( rule__SemanticWebAgent__NameAssignment_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1852:1: ( rule__SemanticWebAgent__NameAssignment_0_1 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getNameAssignment_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1853:1: ( rule__SemanticWebAgent__NameAssignment_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1853:2: rule__SemanticWebAgent__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__NameAssignment_0_1_in_rule__SemanticWebAgent__Group_0__1__Impl3737);
            rule__SemanticWebAgent__NameAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1863:1: rule__SemanticWebAgent__Group_0__2 : rule__SemanticWebAgent__Group_0__2__Impl rule__SemanticWebAgent__Group_0__3 ;
    public final void rule__SemanticWebAgent__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1867:1: ( rule__SemanticWebAgent__Group_0__2__Impl rule__SemanticWebAgent__Group_0__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1868:2: rule__SemanticWebAgent__Group_0__2__Impl rule__SemanticWebAgent__Group_0__3
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__2__Impl_in_rule__SemanticWebAgent__Group_0__23767);
            rule__SemanticWebAgent__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__3_in_rule__SemanticWebAgent__Group_0__23770);
            rule__SemanticWebAgent__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__2


    // $ANTLR start rule__SemanticWebAgent__Group_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1875:1: rule__SemanticWebAgent__Group_0__2__Impl : ( ( rule__SemanticWebAgent__DescriptionAssignment_0_2 ) ) ;
    public final void rule__SemanticWebAgent__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1879:1: ( ( ( rule__SemanticWebAgent__DescriptionAssignment_0_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1880:1: ( ( rule__SemanticWebAgent__DescriptionAssignment_0_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1880:1: ( ( rule__SemanticWebAgent__DescriptionAssignment_0_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1881:1: ( rule__SemanticWebAgent__DescriptionAssignment_0_2 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getDescriptionAssignment_0_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1882:1: ( rule__SemanticWebAgent__DescriptionAssignment_0_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1882:2: rule__SemanticWebAgent__DescriptionAssignment_0_2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__DescriptionAssignment_0_2_in_rule__SemanticWebAgent__Group_0__2__Impl3797);
            rule__SemanticWebAgent__DescriptionAssignment_0_2();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getDescriptionAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_0__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1892:1: rule__SemanticWebAgent__Group_0__3 : rule__SemanticWebAgent__Group_0__3__Impl rule__SemanticWebAgent__Group_0__4 ;
    public final void rule__SemanticWebAgent__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1896:1: ( rule__SemanticWebAgent__Group_0__3__Impl rule__SemanticWebAgent__Group_0__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1897:2: rule__SemanticWebAgent__Group_0__3__Impl rule__SemanticWebAgent__Group_0__4
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__3__Impl_in_rule__SemanticWebAgent__Group_0__33827);
            rule__SemanticWebAgent__Group_0__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__4_in_rule__SemanticWebAgent__Group_0__33830);
            rule__SemanticWebAgent__Group_0__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__3


    // $ANTLR start rule__SemanticWebAgent__Group_0__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1904:1: rule__SemanticWebAgent__Group_0__3__Impl : ( ( rule__SemanticWebAgent__PropertiesAssignment_0_3 ) ) ;
    public final void rule__SemanticWebAgent__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1908:1: ( ( ( rule__SemanticWebAgent__PropertiesAssignment_0_3 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1909:1: ( ( rule__SemanticWebAgent__PropertiesAssignment_0_3 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1909:1: ( ( rule__SemanticWebAgent__PropertiesAssignment_0_3 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1910:1: ( rule__SemanticWebAgent__PropertiesAssignment_0_3 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getPropertiesAssignment_0_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1911:1: ( rule__SemanticWebAgent__PropertiesAssignment_0_3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1911:2: rule__SemanticWebAgent__PropertiesAssignment_0_3
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__PropertiesAssignment_0_3_in_rule__SemanticWebAgent__Group_0__3__Impl3857);
            rule__SemanticWebAgent__PropertiesAssignment_0_3();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getPropertiesAssignment_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__3__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_0__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1921:1: rule__SemanticWebAgent__Group_0__4 : rule__SemanticWebAgent__Group_0__4__Impl ;
    public final void rule__SemanticWebAgent__Group_0__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1925:1: ( rule__SemanticWebAgent__Group_0__4__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1926:2: rule__SemanticWebAgent__Group_0__4__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_0__4__Impl_in_rule__SemanticWebAgent__Group_0__43887);
            rule__SemanticWebAgent__Group_0__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__4


    // $ANTLR start rule__SemanticWebAgent__Group_0__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1932:1: rule__SemanticWebAgent__Group_0__4__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_0__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1936:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1937:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1937:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1938:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_0_4()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_0__4__Impl3915); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_0_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_0__4__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1961:1: rule__SemanticWebAgent__Group_1__0 : rule__SemanticWebAgent__Group_1__0__Impl rule__SemanticWebAgent__Group_1__1 ;
    public final void rule__SemanticWebAgent__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1965:1: ( rule__SemanticWebAgent__Group_1__0__Impl rule__SemanticWebAgent__Group_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1966:2: rule__SemanticWebAgent__Group_1__0__Impl rule__SemanticWebAgent__Group_1__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__0__Impl_in_rule__SemanticWebAgent__Group_1__03956);
            rule__SemanticWebAgent__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__1_in_rule__SemanticWebAgent__Group_1__03959);
            rule__SemanticWebAgent__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__0


    // $ANTLR start rule__SemanticWebAgent__Group_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1973:1: rule__SemanticWebAgent__Group_1__0__Impl : ( ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 ) ) ;
    public final void rule__SemanticWebAgent__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1977:1: ( ( ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1978:1: ( ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1978:1: ( ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1979:1: ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentAssignment_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1980:1: ( rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1980:2: rule__SemanticWebAgent__SemanticwebagentAssignment_1_0
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__SemanticwebagentAssignment_1_0_in_rule__SemanticWebAgent__Group_1__0__Impl3986);
            rule__SemanticWebAgent__SemanticwebagentAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1990:1: rule__SemanticWebAgent__Group_1__1 : rule__SemanticWebAgent__Group_1__1__Impl rule__SemanticWebAgent__Group_1__2 ;
    public final void rule__SemanticWebAgent__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1994:1: ( rule__SemanticWebAgent__Group_1__1__Impl rule__SemanticWebAgent__Group_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:1995:2: rule__SemanticWebAgent__Group_1__1__Impl rule__SemanticWebAgent__Group_1__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__1__Impl_in_rule__SemanticWebAgent__Group_1__14016);
            rule__SemanticWebAgent__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__2_in_rule__SemanticWebAgent__Group_1__14019);
            rule__SemanticWebAgent__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__1


    // $ANTLR start rule__SemanticWebAgent__Group_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2002:1: rule__SemanticWebAgent__Group_1__1__Impl : ( ( rule__SemanticWebAgent__Group_1_1__0 ) ) ;
    public final void rule__SemanticWebAgent__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2006:1: ( ( ( rule__SemanticWebAgent__Group_1_1__0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2007:1: ( ( rule__SemanticWebAgent__Group_1_1__0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2007:1: ( ( rule__SemanticWebAgent__Group_1_1__0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2008:1: ( rule__SemanticWebAgent__Group_1_1__0 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2009:1: ( rule__SemanticWebAgent__Group_1_1__0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2009:2: rule__SemanticWebAgent__Group_1_1__0
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__0_in_rule__SemanticWebAgent__Group_1__1__Impl4046);
            rule__SemanticWebAgent__Group_1_1__0();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2019:1: rule__SemanticWebAgent__Group_1__2 : rule__SemanticWebAgent__Group_1__2__Impl ;
    public final void rule__SemanticWebAgent__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2023:1: ( rule__SemanticWebAgent__Group_1__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2024:2: rule__SemanticWebAgent__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1__2__Impl_in_rule__SemanticWebAgent__Group_1__24076);
            rule__SemanticWebAgent__Group_1__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__2


    // $ANTLR start rule__SemanticWebAgent__Group_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2030:1: rule__SemanticWebAgent__Group_1__2__Impl : ( '}' ) ;
    public final void rule__SemanticWebAgent__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2034:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2035:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2035:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2036:1: '}'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRGhtCurlyBracketKeyword_1_2()); 
            match(input,13,FOLLOW_13_in_rule__SemanticWebAgent__Group_1__2__Impl4104); 
             after(grammarAccess.getSemanticWebAgentAccess().getRGhtCurlyBracketKeyword_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2055:1: rule__SemanticWebAgent__Group_1_1__0 : rule__SemanticWebAgent__Group_1_1__0__Impl rule__SemanticWebAgent__Group_1_1__1 ;
    public final void rule__SemanticWebAgent__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2059:1: ( rule__SemanticWebAgent__Group_1_1__0__Impl rule__SemanticWebAgent__Group_1_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2060:2: rule__SemanticWebAgent__Group_1_1__0__Impl rule__SemanticWebAgent__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__0__Impl_in_rule__SemanticWebAgent__Group_1_1__04141);
            rule__SemanticWebAgent__Group_1_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__1_in_rule__SemanticWebAgent__Group_1_1__04144);
            rule__SemanticWebAgent__Group_1_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__0


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2067:1: rule__SemanticWebAgent__Group_1_1__0__Impl : ( '{' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2071:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2072:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2072:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2073:1: '{'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getLeftCurlyBracketKeyword_1_1_0()); 
            match(input,12,FOLLOW_12_in_rule__SemanticWebAgent__Group_1_1__0__Impl4172); 
             after(grammarAccess.getSemanticWebAgentAccess().getLeftCurlyBracketKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2086:1: rule__SemanticWebAgent__Group_1_1__1 : rule__SemanticWebAgent__Group_1_1__1__Impl rule__SemanticWebAgent__Group_1_1__2 ;
    public final void rule__SemanticWebAgent__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2090:1: ( rule__SemanticWebAgent__Group_1_1__1__Impl rule__SemanticWebAgent__Group_1_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2091:2: rule__SemanticWebAgent__Group_1_1__1__Impl rule__SemanticWebAgent__Group_1_1__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__1__Impl_in_rule__SemanticWebAgent__Group_1_1__14203);
            rule__SemanticWebAgent__Group_1_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__2_in_rule__SemanticWebAgent__Group_1_1__14206);
            rule__SemanticWebAgent__Group_1_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__1


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2098:1: rule__SemanticWebAgent__Group_1_1__1__Impl : ( 'contains' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2102:1: ( ( 'contains' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2103:1: ( 'contains' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2103:1: ( 'contains' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2104:1: 'contains'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getContainsKeyword_1_1_1()); 
            match(input,23,FOLLOW_23_in_rule__SemanticWebAgent__Group_1_1__1__Impl4234); 
             after(grammarAccess.getSemanticWebAgentAccess().getContainsKeyword_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2117:1: rule__SemanticWebAgent__Group_1_1__2 : rule__SemanticWebAgent__Group_1_1__2__Impl rule__SemanticWebAgent__Group_1_1__3 ;
    public final void rule__SemanticWebAgent__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2121:1: ( rule__SemanticWebAgent__Group_1_1__2__Impl rule__SemanticWebAgent__Group_1_1__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2122:2: rule__SemanticWebAgent__Group_1_1__2__Impl rule__SemanticWebAgent__Group_1_1__3
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__2__Impl_in_rule__SemanticWebAgent__Group_1_1__24265);
            rule__SemanticWebAgent__Group_1_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__3_in_rule__SemanticWebAgent__Group_1_1__24268);
            rule__SemanticWebAgent__Group_1_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__2


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2129:1: rule__SemanticWebAgent__Group_1_1__2__Impl : ( ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2133:1: ( ( ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2134:1: ( ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2134:1: ( ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2135:1: ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgentstateAssignment_1_1_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2136:1: ( rule__SemanticWebAgent__AgentstateAssignment_1_1_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2136:2: rule__SemanticWebAgent__AgentstateAssignment_1_1_2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__AgentstateAssignment_1_1_2_in_rule__SemanticWebAgent__Group_1_1__2__Impl4295);
            rule__SemanticWebAgent__AgentstateAssignment_1_1_2();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getAgentstateAssignment_1_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2146:1: rule__SemanticWebAgent__Group_1_1__3 : rule__SemanticWebAgent__Group_1_1__3__Impl rule__SemanticWebAgent__Group_1_1__4 ;
    public final void rule__SemanticWebAgent__Group_1_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2150:1: ( rule__SemanticWebAgent__Group_1_1__3__Impl rule__SemanticWebAgent__Group_1_1__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2151:2: rule__SemanticWebAgent__Group_1_1__3__Impl rule__SemanticWebAgent__Group_1_1__4
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__3__Impl_in_rule__SemanticWebAgent__Group_1_1__34325);
            rule__SemanticWebAgent__Group_1_1__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__4_in_rule__SemanticWebAgent__Group_1_1__34328);
            rule__SemanticWebAgent__Group_1_1__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__3


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2158:1: rule__SemanticWebAgent__Group_1_1__3__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2162:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2163:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2163:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2164:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_3()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__3__Impl4356); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__3__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2177:1: rule__SemanticWebAgent__Group_1_1__4 : rule__SemanticWebAgent__Group_1_1__4__Impl rule__SemanticWebAgent__Group_1_1__5 ;
    public final void rule__SemanticWebAgent__Group_1_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2181:1: ( rule__SemanticWebAgent__Group_1_1__4__Impl rule__SemanticWebAgent__Group_1_1__5 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2182:2: rule__SemanticWebAgent__Group_1_1__4__Impl rule__SemanticWebAgent__Group_1_1__5
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__4__Impl_in_rule__SemanticWebAgent__Group_1_1__44387);
            rule__SemanticWebAgent__Group_1_1__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__5_in_rule__SemanticWebAgent__Group_1_1__44390);
            rule__SemanticWebAgent__Group_1_1__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__4


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2189:1: rule__SemanticWebAgent__Group_1_1__4__Impl : ( ( rule__SemanticWebAgent__Group_1_1_4__0 )* ) ;
    public final void rule__SemanticWebAgent__Group_1_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2193:1: ( ( ( rule__SemanticWebAgent__Group_1_1_4__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2194:1: ( ( rule__SemanticWebAgent__Group_1_1_4__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2194:1: ( ( rule__SemanticWebAgent__Group_1_1_4__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2195:1: ( rule__SemanticWebAgent__Group_1_1_4__0 )*
            {
             before(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_4()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2196:1: ( rule__SemanticWebAgent__Group_1_1_4__0 )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==18) ) {
                    int LA11_1 = input.LA(2);

                    if ( (LA11_1==RULE_ID) ) {
                        int LA11_2 = input.LA(3);

                        if ( (LA11_2==15) ) {
                            int LA11_3 = input.LA(4);

                            if ( (LA11_3==18) ) {
                                alt11=1;
                            }


                        }


                    }


                }


                switch (alt11) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2196:2: rule__SemanticWebAgent__Group_1_1_4__0
            	    {
            	    pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__0_in_rule__SemanticWebAgent__Group_1_1__4__Impl4417);
            	    rule__SemanticWebAgent__Group_1_1_4__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);

             after(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__4__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__5
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2206:1: rule__SemanticWebAgent__Group_1_1__5 : rule__SemanticWebAgent__Group_1_1__5__Impl rule__SemanticWebAgent__Group_1_1__6 ;
    public final void rule__SemanticWebAgent__Group_1_1__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2210:1: ( rule__SemanticWebAgent__Group_1_1__5__Impl rule__SemanticWebAgent__Group_1_1__6 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2211:2: rule__SemanticWebAgent__Group_1_1__5__Impl rule__SemanticWebAgent__Group_1_1__6
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__5__Impl_in_rule__SemanticWebAgent__Group_1_1__54448);
            rule__SemanticWebAgent__Group_1_1__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__6_in_rule__SemanticWebAgent__Group_1_1__54451);
            rule__SemanticWebAgent__Group_1_1__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__5


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__5__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2218:1: rule__SemanticWebAgent__Group_1_1__5__Impl : ( 'includes' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2222:1: ( ( 'includes' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2223:1: ( 'includes' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2223:1: ( 'includes' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2224:1: 'includes'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getIncludesKeyword_1_1_5()); 
            match(input,18,FOLLOW_18_in_rule__SemanticWebAgent__Group_1_1__5__Impl4479); 
             after(grammarAccess.getSemanticWebAgentAccess().getIncludesKeyword_1_1_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__5__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__6
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2237:1: rule__SemanticWebAgent__Group_1_1__6 : rule__SemanticWebAgent__Group_1_1__6__Impl rule__SemanticWebAgent__Group_1_1__7 ;
    public final void rule__SemanticWebAgent__Group_1_1__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2241:1: ( rule__SemanticWebAgent__Group_1_1__6__Impl rule__SemanticWebAgent__Group_1_1__7 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2242:2: rule__SemanticWebAgent__Group_1_1__6__Impl rule__SemanticWebAgent__Group_1_1__7
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__6__Impl_in_rule__SemanticWebAgent__Group_1_1__64510);
            rule__SemanticWebAgent__Group_1_1__6__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__7_in_rule__SemanticWebAgent__Group_1_1__64513);
            rule__SemanticWebAgent__Group_1_1__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__6


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__6__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2249:1: rule__SemanticWebAgent__Group_1_1__6__Impl : ( ( rule__SemanticWebAgent__CapAssignment_1_1_6 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2253:1: ( ( ( rule__SemanticWebAgent__CapAssignment_1_1_6 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2254:1: ( ( rule__SemanticWebAgent__CapAssignment_1_1_6 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2254:1: ( ( rule__SemanticWebAgent__CapAssignment_1_1_6 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2255:1: ( rule__SemanticWebAgent__CapAssignment_1_1_6 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapAssignment_1_1_6()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2256:1: ( rule__SemanticWebAgent__CapAssignment_1_1_6 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2256:2: rule__SemanticWebAgent__CapAssignment_1_1_6
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__CapAssignment_1_1_6_in_rule__SemanticWebAgent__Group_1_1__6__Impl4540);
            rule__SemanticWebAgent__CapAssignment_1_1_6();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getCapAssignment_1_1_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__6__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__7
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2266:1: rule__SemanticWebAgent__Group_1_1__7 : rule__SemanticWebAgent__Group_1_1__7__Impl rule__SemanticWebAgent__Group_1_1__8 ;
    public final void rule__SemanticWebAgent__Group_1_1__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2270:1: ( rule__SemanticWebAgent__Group_1_1__7__Impl rule__SemanticWebAgent__Group_1_1__8 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2271:2: rule__SemanticWebAgent__Group_1_1__7__Impl rule__SemanticWebAgent__Group_1_1__8
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__7__Impl_in_rule__SemanticWebAgent__Group_1_1__74570);
            rule__SemanticWebAgent__Group_1_1__7__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__8_in_rule__SemanticWebAgent__Group_1_1__74573);
            rule__SemanticWebAgent__Group_1_1__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__7


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__7__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2278:1: rule__SemanticWebAgent__Group_1_1__7__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2282:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2283:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2283:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2284:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_7()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__7__Impl4601); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__7__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__8
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2297:1: rule__SemanticWebAgent__Group_1_1__8 : rule__SemanticWebAgent__Group_1_1__8__Impl rule__SemanticWebAgent__Group_1_1__9 ;
    public final void rule__SemanticWebAgent__Group_1_1__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2301:1: ( rule__SemanticWebAgent__Group_1_1__8__Impl rule__SemanticWebAgent__Group_1_1__9 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2302:2: rule__SemanticWebAgent__Group_1_1__8__Impl rule__SemanticWebAgent__Group_1_1__9
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__8__Impl_in_rule__SemanticWebAgent__Group_1_1__84632);
            rule__SemanticWebAgent__Group_1_1__8__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__9_in_rule__SemanticWebAgent__Group_1_1__84635);
            rule__SemanticWebAgent__Group_1_1__9();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__8


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__8__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2309:1: rule__SemanticWebAgent__Group_1_1__8__Impl : ( ( rule__SemanticWebAgent__Group_1_1_8__0 )? ) ;
    public final void rule__SemanticWebAgent__Group_1_1__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2313:1: ( ( ( rule__SemanticWebAgent__Group_1_1_8__0 )? ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2314:1: ( ( rule__SemanticWebAgent__Group_1_1_8__0 )? )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2314:1: ( ( rule__SemanticWebAgent__Group_1_1_8__0 )? )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2315:1: ( rule__SemanticWebAgent__Group_1_1_8__0 )?
            {
             before(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_8()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2316:1: ( rule__SemanticWebAgent__Group_1_1_8__0 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==25) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2316:2: rule__SemanticWebAgent__Group_1_1_8__0
                    {
                    pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__0_in_rule__SemanticWebAgent__Group_1_1__8__Impl4662);
                    rule__SemanticWebAgent__Group_1_1_8__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__8__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__9
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2326:1: rule__SemanticWebAgent__Group_1_1__9 : rule__SemanticWebAgent__Group_1_1__9__Impl rule__SemanticWebAgent__Group_1_1__10 ;
    public final void rule__SemanticWebAgent__Group_1_1__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2330:1: ( rule__SemanticWebAgent__Group_1_1__9__Impl rule__SemanticWebAgent__Group_1_1__10 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2331:2: rule__SemanticWebAgent__Group_1_1__9__Impl rule__SemanticWebAgent__Group_1_1__10
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__9__Impl_in_rule__SemanticWebAgent__Group_1_1__94693);
            rule__SemanticWebAgent__Group_1_1__9__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__10_in_rule__SemanticWebAgent__Group_1_1__94696);
            rule__SemanticWebAgent__Group_1_1__10();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__9


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__9__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2338:1: rule__SemanticWebAgent__Group_1_1__9__Impl : ( 'plays' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2342:1: ( ( 'plays' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2343:1: ( 'plays' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2343:1: ( 'plays' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2344:1: 'plays'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getPlaysKeyword_1_1_9()); 
            match(input,24,FOLLOW_24_in_rule__SemanticWebAgent__Group_1_1__9__Impl4724); 
             after(grammarAccess.getSemanticWebAgentAccess().getPlaysKeyword_1_1_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__9__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__10
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2357:1: rule__SemanticWebAgent__Group_1_1__10 : rule__SemanticWebAgent__Group_1_1__10__Impl rule__SemanticWebAgent__Group_1_1__11 ;
    public final void rule__SemanticWebAgent__Group_1_1__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2361:1: ( rule__SemanticWebAgent__Group_1_1__10__Impl rule__SemanticWebAgent__Group_1_1__11 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2362:2: rule__SemanticWebAgent__Group_1_1__10__Impl rule__SemanticWebAgent__Group_1_1__11
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__10__Impl_in_rule__SemanticWebAgent__Group_1_1__104755);
            rule__SemanticWebAgent__Group_1_1__10__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__11_in_rule__SemanticWebAgent__Group_1_1__104758);
            rule__SemanticWebAgent__Group_1_1__11();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__10


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__10__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2369:1: rule__SemanticWebAgent__Group_1_1__10__Impl : ( ( rule__SemanticWebAgent__RoleAssignment_1_1_10 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2373:1: ( ( ( rule__SemanticWebAgent__RoleAssignment_1_1_10 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2374:1: ( ( rule__SemanticWebAgent__RoleAssignment_1_1_10 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2374:1: ( ( rule__SemanticWebAgent__RoleAssignment_1_1_10 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2375:1: ( rule__SemanticWebAgent__RoleAssignment_1_1_10 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleAssignment_1_1_10()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2376:1: ( rule__SemanticWebAgent__RoleAssignment_1_1_10 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2376:2: rule__SemanticWebAgent__RoleAssignment_1_1_10
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__RoleAssignment_1_1_10_in_rule__SemanticWebAgent__Group_1_1__10__Impl4785);
            rule__SemanticWebAgent__RoleAssignment_1_1_10();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getRoleAssignment_1_1_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__10__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__11
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2386:1: rule__SemanticWebAgent__Group_1_1__11 : rule__SemanticWebAgent__Group_1_1__11__Impl rule__SemanticWebAgent__Group_1_1__12 ;
    public final void rule__SemanticWebAgent__Group_1_1__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2390:1: ( rule__SemanticWebAgent__Group_1_1__11__Impl rule__SemanticWebAgent__Group_1_1__12 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2391:2: rule__SemanticWebAgent__Group_1_1__11__Impl rule__SemanticWebAgent__Group_1_1__12
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__11__Impl_in_rule__SemanticWebAgent__Group_1_1__114815);
            rule__SemanticWebAgent__Group_1_1__11__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__12_in_rule__SemanticWebAgent__Group_1_1__114818);
            rule__SemanticWebAgent__Group_1_1__12();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__11


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__11__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2398:1: rule__SemanticWebAgent__Group_1_1__11__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2402:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2403:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2403:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2404:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_11()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__11__Impl4846); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__11__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__12
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2417:1: rule__SemanticWebAgent__Group_1_1__12 : rule__SemanticWebAgent__Group_1_1__12__Impl ;
    public final void rule__SemanticWebAgent__Group_1_1__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2421:1: ( rule__SemanticWebAgent__Group_1_1__12__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2422:2: rule__SemanticWebAgent__Group_1_1__12__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1__12__Impl_in_rule__SemanticWebAgent__Group_1_1__124877);
            rule__SemanticWebAgent__Group_1_1__12__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__12


    // $ANTLR start rule__SemanticWebAgent__Group_1_1__12__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2428:1: rule__SemanticWebAgent__Group_1_1__12__Impl : ( ( rule__SemanticWebAgent__Group_1_1_12__0 )* ) ;
    public final void rule__SemanticWebAgent__Group_1_1__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2432:1: ( ( ( rule__SemanticWebAgent__Group_1_1_12__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: ( ( rule__SemanticWebAgent__Group_1_1_12__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: ( ( rule__SemanticWebAgent__Group_1_1_12__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2434:1: ( rule__SemanticWebAgent__Group_1_1_12__0 )*
            {
             before(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_12()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2435:1: ( rule__SemanticWebAgent__Group_1_1_12__0 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==24) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2435:2: rule__SemanticWebAgent__Group_1_1_12__0
            	    {
            	    pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__0_in_rule__SemanticWebAgent__Group_1_1__12__Impl4904);
            	    rule__SemanticWebAgent__Group_1_1_12__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getSemanticWebAgentAccess().getGroup_1_1_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1__12__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2471:1: rule__SemanticWebAgent__Group_1_1_4__0 : rule__SemanticWebAgent__Group_1_1_4__0__Impl rule__SemanticWebAgent__Group_1_1_4__1 ;
    public final void rule__SemanticWebAgent__Group_1_1_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2475:1: ( rule__SemanticWebAgent__Group_1_1_4__0__Impl rule__SemanticWebAgent__Group_1_1_4__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2476:2: rule__SemanticWebAgent__Group_1_1_4__0__Impl rule__SemanticWebAgent__Group_1_1_4__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__0__Impl_in_rule__SemanticWebAgent__Group_1_1_4__04961);
            rule__SemanticWebAgent__Group_1_1_4__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__1_in_rule__SemanticWebAgent__Group_1_1_4__04964);
            rule__SemanticWebAgent__Group_1_1_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__0


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2483:1: rule__SemanticWebAgent__Group_1_1_4__0__Impl : ( 'includes' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2487:1: ( ( 'includes' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2488:1: ( 'includes' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2488:1: ( 'includes' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2489:1: 'includes'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getIncludesKeyword_1_1_4_0()); 
            match(input,18,FOLLOW_18_in_rule__SemanticWebAgent__Group_1_1_4__0__Impl4992); 
             after(grammarAccess.getSemanticWebAgentAccess().getIncludesKeyword_1_1_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2502:1: rule__SemanticWebAgent__Group_1_1_4__1 : rule__SemanticWebAgent__Group_1_1_4__1__Impl rule__SemanticWebAgent__Group_1_1_4__2 ;
    public final void rule__SemanticWebAgent__Group_1_1_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2506:1: ( rule__SemanticWebAgent__Group_1_1_4__1__Impl rule__SemanticWebAgent__Group_1_1_4__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2507:2: rule__SemanticWebAgent__Group_1_1_4__1__Impl rule__SemanticWebAgent__Group_1_1_4__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__1__Impl_in_rule__SemanticWebAgent__Group_1_1_4__15023);
            rule__SemanticWebAgent__Group_1_1_4__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__2_in_rule__SemanticWebAgent__Group_1_1_4__15026);
            rule__SemanticWebAgent__Group_1_1_4__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__1


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2514:1: rule__SemanticWebAgent__Group_1_1_4__1__Impl : ( ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2518:1: ( ( ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2519:1: ( ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2519:1: ( ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2520:1: ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapAssignment_1_1_4_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2521:1: ( rule__SemanticWebAgent__CapAssignment_1_1_4_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2521:2: rule__SemanticWebAgent__CapAssignment_1_1_4_1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__CapAssignment_1_1_4_1_in_rule__SemanticWebAgent__Group_1_1_4__1__Impl5053);
            rule__SemanticWebAgent__CapAssignment_1_1_4_1();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getCapAssignment_1_1_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2531:1: rule__SemanticWebAgent__Group_1_1_4__2 : rule__SemanticWebAgent__Group_1_1_4__2__Impl ;
    public final void rule__SemanticWebAgent__Group_1_1_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2535:1: ( rule__SemanticWebAgent__Group_1_1_4__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:2: rule__SemanticWebAgent__Group_1_1_4__2__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_4__2__Impl_in_rule__SemanticWebAgent__Group_1_1_4__25083);
            rule__SemanticWebAgent__Group_1_1_4__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__2


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_4__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2542:1: rule__SemanticWebAgent__Group_1_1_4__2__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2546:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2547:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2547:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2548:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_4_2()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_4__2__Impl5111); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_4__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2567:1: rule__SemanticWebAgent__Group_1_1_8__0 : rule__SemanticWebAgent__Group_1_1_8__0__Impl rule__SemanticWebAgent__Group_1_1_8__1 ;
    public final void rule__SemanticWebAgent__Group_1_1_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2571:1: ( rule__SemanticWebAgent__Group_1_1_8__0__Impl rule__SemanticWebAgent__Group_1_1_8__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2572:2: rule__SemanticWebAgent__Group_1_1_8__0__Impl rule__SemanticWebAgent__Group_1_1_8__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__0__Impl_in_rule__SemanticWebAgent__Group_1_1_8__05148);
            rule__SemanticWebAgent__Group_1_1_8__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__1_in_rule__SemanticWebAgent__Group_1_1_8__05151);
            rule__SemanticWebAgent__Group_1_1_8__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__0


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2579:1: rule__SemanticWebAgent__Group_1_1_8__0__Impl : ( 'has' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2583:1: ( ( 'has' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( 'has' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( 'has' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2585:1: 'has'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getHasKeyword_1_1_8_0()); 
            match(input,25,FOLLOW_25_in_rule__SemanticWebAgent__Group_1_1_8__0__Impl5179); 
             after(grammarAccess.getSemanticWebAgentAccess().getHasKeyword_1_1_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2598:1: rule__SemanticWebAgent__Group_1_1_8__1 : rule__SemanticWebAgent__Group_1_1_8__1__Impl rule__SemanticWebAgent__Group_1_1_8__2 ;
    public final void rule__SemanticWebAgent__Group_1_1_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2602:1: ( rule__SemanticWebAgent__Group_1_1_8__1__Impl rule__SemanticWebAgent__Group_1_1_8__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2603:2: rule__SemanticWebAgent__Group_1_1_8__1__Impl rule__SemanticWebAgent__Group_1_1_8__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__1__Impl_in_rule__SemanticWebAgent__Group_1_1_8__15210);
            rule__SemanticWebAgent__Group_1_1_8__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__2_in_rule__SemanticWebAgent__Group_1_1_8__15213);
            rule__SemanticWebAgent__Group_1_1_8__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__1


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2610:1: rule__SemanticWebAgent__Group_1_1_8__1__Impl : ( ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2614:1: ( ( ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2615:1: ( ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2615:1: ( ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2616:1: ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAssignment_1_1_8_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2617:1: ( rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2617:2: rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1_in_rule__SemanticWebAgent__Group_1_1_8__1__Impl5240);
            rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAssignment_1_1_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2627:1: rule__SemanticWebAgent__Group_1_1_8__2 : rule__SemanticWebAgent__Group_1_1_8__2__Impl ;
    public final void rule__SemanticWebAgent__Group_1_1_8__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2631:1: ( rule__SemanticWebAgent__Group_1_1_8__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2632:2: rule__SemanticWebAgent__Group_1_1_8__2__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_8__2__Impl_in_rule__SemanticWebAgent__Group_1_1_8__25270);
            rule__SemanticWebAgent__Group_1_1_8__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__2


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_8__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2638:1: rule__SemanticWebAgent__Group_1_1_8__2__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_8__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2642:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2643:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2643:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2644:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_8_2()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_8__2__Impl5298); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_8_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_8__2__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2663:1: rule__SemanticWebAgent__Group_1_1_12__0 : rule__SemanticWebAgent__Group_1_1_12__0__Impl rule__SemanticWebAgent__Group_1_1_12__1 ;
    public final void rule__SemanticWebAgent__Group_1_1_12__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2667:1: ( rule__SemanticWebAgent__Group_1_1_12__0__Impl rule__SemanticWebAgent__Group_1_1_12__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2668:2: rule__SemanticWebAgent__Group_1_1_12__0__Impl rule__SemanticWebAgent__Group_1_1_12__1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__0__Impl_in_rule__SemanticWebAgent__Group_1_1_12__05335);
            rule__SemanticWebAgent__Group_1_1_12__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__1_in_rule__SemanticWebAgent__Group_1_1_12__05338);
            rule__SemanticWebAgent__Group_1_1_12__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__0


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2675:1: rule__SemanticWebAgent__Group_1_1_12__0__Impl : ( 'plays' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_12__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2679:1: ( ( 'plays' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2680:1: ( 'plays' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2680:1: ( 'plays' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2681:1: 'plays'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getPlaysKeyword_1_1_12_0()); 
            match(input,24,FOLLOW_24_in_rule__SemanticWebAgent__Group_1_1_12__0__Impl5366); 
             after(grammarAccess.getSemanticWebAgentAccess().getPlaysKeyword_1_1_12_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__0__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2694:1: rule__SemanticWebAgent__Group_1_1_12__1 : rule__SemanticWebAgent__Group_1_1_12__1__Impl rule__SemanticWebAgent__Group_1_1_12__2 ;
    public final void rule__SemanticWebAgent__Group_1_1_12__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2698:1: ( rule__SemanticWebAgent__Group_1_1_12__1__Impl rule__SemanticWebAgent__Group_1_1_12__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2699:2: rule__SemanticWebAgent__Group_1_1_12__1__Impl rule__SemanticWebAgent__Group_1_1_12__2
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__1__Impl_in_rule__SemanticWebAgent__Group_1_1_12__15397);
            rule__SemanticWebAgent__Group_1_1_12__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__2_in_rule__SemanticWebAgent__Group_1_1_12__15400);
            rule__SemanticWebAgent__Group_1_1_12__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__1


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2706:1: rule__SemanticWebAgent__Group_1_1_12__1__Impl : ( ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 ) ) ;
    public final void rule__SemanticWebAgent__Group_1_1_12__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2710:1: ( ( ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2711:1: ( ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2711:1: ( ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2712:1: ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleAssignment_1_1_12_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2713:1: ( rule__SemanticWebAgent__RoleAssignment_1_1_12_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2713:2: rule__SemanticWebAgent__RoleAssignment_1_1_12_1
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__RoleAssignment_1_1_12_1_in_rule__SemanticWebAgent__Group_1_1_12__1__Impl5427);
            rule__SemanticWebAgent__RoleAssignment_1_1_12_1();
            _fsp--;


            }

             after(grammarAccess.getSemanticWebAgentAccess().getRoleAssignment_1_1_12_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__1__Impl


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2723:1: rule__SemanticWebAgent__Group_1_1_12__2 : rule__SemanticWebAgent__Group_1_1_12__2__Impl ;
    public final void rule__SemanticWebAgent__Group_1_1_12__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2727:1: ( rule__SemanticWebAgent__Group_1_1_12__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2728:2: rule__SemanticWebAgent__Group_1_1_12__2__Impl
            {
            pushFollow(FOLLOW_rule__SemanticWebAgent__Group_1_1_12__2__Impl_in_rule__SemanticWebAgent__Group_1_1_12__25457);
            rule__SemanticWebAgent__Group_1_1_12__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__2


    // $ANTLR start rule__SemanticWebAgent__Group_1_1_12__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2734:1: rule__SemanticWebAgent__Group_1_1_12__2__Impl : ( ';' ) ;
    public final void rule__SemanticWebAgent__Group_1_1_12__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2738:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2740:1: ';'
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_12_2()); 
            match(input,15,FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_12__2__Impl5485); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemColonKeyword_1_1_12_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__Group_1_1_12__2__Impl


    // $ANTLR start rule__Role__Group_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2759:1: rule__Role__Group_0__0 : rule__Role__Group_0__0__Impl rule__Role__Group_0__1 ;
    public final void rule__Role__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2763:1: ( rule__Role__Group_0__0__Impl rule__Role__Group_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2764:2: rule__Role__Group_0__0__Impl rule__Role__Group_0__1
            {
            pushFollow(FOLLOW_rule__Role__Group_0__0__Impl_in_rule__Role__Group_0__05522);
            rule__Role__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_0__1_in_rule__Role__Group_0__05525);
            rule__Role__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__0


    // $ANTLR start rule__Role__Group_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2771:1: rule__Role__Group_0__0__Impl : ( 'Role' ) ;
    public final void rule__Role__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2775:1: ( ( 'Role' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2776:1: ( 'Role' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2776:1: ( 'Role' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2777:1: 'Role'
            {
             before(grammarAccess.getRoleAccess().getRoleKeyword_0_0()); 
            match(input,26,FOLLOW_26_in_rule__Role__Group_0__0__Impl5553); 
             after(grammarAccess.getRoleAccess().getRoleKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__0__Impl


    // $ANTLR start rule__Role__Group_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2790:1: rule__Role__Group_0__1 : rule__Role__Group_0__1__Impl rule__Role__Group_0__2 ;
    public final void rule__Role__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2794:1: ( rule__Role__Group_0__1__Impl rule__Role__Group_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2795:2: rule__Role__Group_0__1__Impl rule__Role__Group_0__2
            {
            pushFollow(FOLLOW_rule__Role__Group_0__1__Impl_in_rule__Role__Group_0__15584);
            rule__Role__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_0__2_in_rule__Role__Group_0__15587);
            rule__Role__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__1


    // $ANTLR start rule__Role__Group_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2802:1: rule__Role__Group_0__1__Impl : ( ( rule__Role__NameAssignment_0_1 ) ) ;
    public final void rule__Role__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2806:1: ( ( ( rule__Role__NameAssignment_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2807:1: ( ( rule__Role__NameAssignment_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2807:1: ( ( rule__Role__NameAssignment_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2808:1: ( rule__Role__NameAssignment_0_1 )
            {
             before(grammarAccess.getRoleAccess().getNameAssignment_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2809:1: ( rule__Role__NameAssignment_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2809:2: rule__Role__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__Role__NameAssignment_0_1_in_rule__Role__Group_0__1__Impl5614);
            rule__Role__NameAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getRoleAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__1__Impl


    // $ANTLR start rule__Role__Group_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2819:1: rule__Role__Group_0__2 : rule__Role__Group_0__2__Impl ;
    public final void rule__Role__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2823:1: ( rule__Role__Group_0__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2824:2: rule__Role__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__Role__Group_0__2__Impl_in_rule__Role__Group_0__25644);
            rule__Role__Group_0__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__2


    // $ANTLR start rule__Role__Group_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2830:1: rule__Role__Group_0__2__Impl : ( ';' ) ;
    public final void rule__Role__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2834:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2835:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2835:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2836:1: ';'
            {
             before(grammarAccess.getRoleAccess().getSemColonKeyword_0_2()); 
            match(input,15,FOLLOW_15_in_rule__Role__Group_0__2__Impl5672); 
             after(grammarAccess.getRoleAccess().getSemColonKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_0__2__Impl


    // $ANTLR start rule__Role__Group_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2855:1: rule__Role__Group_1__0 : rule__Role__Group_1__0__Impl rule__Role__Group_1__1 ;
    public final void rule__Role__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( rule__Role__Group_1__0__Impl rule__Role__Group_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2860:2: rule__Role__Group_1__0__Impl rule__Role__Group_1__1
            {
            pushFollow(FOLLOW_rule__Role__Group_1__0__Impl_in_rule__Role__Group_1__05709);
            rule__Role__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__1_in_rule__Role__Group_1__05712);
            rule__Role__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__0


    // $ANTLR start rule__Role__Group_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2867:1: rule__Role__Group_1__0__Impl : ( ( rule__Role__RoleAssignment_1_0 ) ) ;
    public final void rule__Role__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2871:1: ( ( ( rule__Role__RoleAssignment_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2872:1: ( ( rule__Role__RoleAssignment_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2872:1: ( ( rule__Role__RoleAssignment_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2873:1: ( rule__Role__RoleAssignment_1_0 )
            {
             before(grammarAccess.getRoleAccess().getRoleAssignment_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:1: ( rule__Role__RoleAssignment_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:2: rule__Role__RoleAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Role__RoleAssignment_1_0_in_rule__Role__Group_1__0__Impl5739);
            rule__Role__RoleAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getRoleAccess().getRoleAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__0__Impl


    // $ANTLR start rule__Role__Group_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2884:1: rule__Role__Group_1__1 : rule__Role__Group_1__1__Impl rule__Role__Group_1__2 ;
    public final void rule__Role__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2888:1: ( rule__Role__Group_1__1__Impl rule__Role__Group_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2889:2: rule__Role__Group_1__1__Impl rule__Role__Group_1__2
            {
            pushFollow(FOLLOW_rule__Role__Group_1__1__Impl_in_rule__Role__Group_1__15769);
            rule__Role__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__2_in_rule__Role__Group_1__15772);
            rule__Role__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__1


    // $ANTLR start rule__Role__Group_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2896:1: rule__Role__Group_1__1__Impl : ( '{' ) ;
    public final void rule__Role__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2900:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2901:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2901:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2902:1: '{'
            {
             before(grammarAccess.getRoleAccess().getLeftCurlyBracketKeyword_1_1()); 
            match(input,12,FOLLOW_12_in_rule__Role__Group_1__1__Impl5800); 
             after(grammarAccess.getRoleAccess().getLeftCurlyBracketKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__1__Impl


    // $ANTLR start rule__Role__Group_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2915:1: rule__Role__Group_1__2 : rule__Role__Group_1__2__Impl rule__Role__Group_1__3 ;
    public final void rule__Role__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2919:1: ( rule__Role__Group_1__2__Impl rule__Role__Group_1__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2920:2: rule__Role__Group_1__2__Impl rule__Role__Group_1__3
            {
            pushFollow(FOLLOW_rule__Role__Group_1__2__Impl_in_rule__Role__Group_1__25831);
            rule__Role__Group_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__3_in_rule__Role__Group_1__25834);
            rule__Role__Group_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__2


    // $ANTLR start rule__Role__Group_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2927:1: rule__Role__Group_1__2__Impl : ( 'has' ) ;
    public final void rule__Role__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2931:1: ( ( 'has' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:1: ( 'has' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:1: ( 'has' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2933:1: 'has'
            {
             before(grammarAccess.getRoleAccess().getHasKeyword_1_2()); 
            match(input,25,FOLLOW_25_in_rule__Role__Group_1__2__Impl5862); 
             after(grammarAccess.getRoleAccess().getHasKeyword_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__2__Impl


    // $ANTLR start rule__Role__Group_1__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2946:1: rule__Role__Group_1__3 : rule__Role__Group_1__3__Impl rule__Role__Group_1__4 ;
    public final void rule__Role__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2950:1: ( rule__Role__Group_1__3__Impl rule__Role__Group_1__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2951:2: rule__Role__Group_1__3__Impl rule__Role__Group_1__4
            {
            pushFollow(FOLLOW_rule__Role__Group_1__3__Impl_in_rule__Role__Group_1__35893);
            rule__Role__Group_1__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__4_in_rule__Role__Group_1__35896);
            rule__Role__Group_1__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__3


    // $ANTLR start rule__Role__Group_1__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2958:1: rule__Role__Group_1__3__Impl : ( ( rule__Role__BehAssignment_1_3 ) ) ;
    public final void rule__Role__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2962:1: ( ( ( rule__Role__BehAssignment_1_3 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2963:1: ( ( rule__Role__BehAssignment_1_3 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2963:1: ( ( rule__Role__BehAssignment_1_3 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2964:1: ( rule__Role__BehAssignment_1_3 )
            {
             before(grammarAccess.getRoleAccess().getBehAssignment_1_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2965:1: ( rule__Role__BehAssignment_1_3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2965:2: rule__Role__BehAssignment_1_3
            {
            pushFollow(FOLLOW_rule__Role__BehAssignment_1_3_in_rule__Role__Group_1__3__Impl5923);
            rule__Role__BehAssignment_1_3();
            _fsp--;


            }

             after(grammarAccess.getRoleAccess().getBehAssignment_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__3__Impl


    // $ANTLR start rule__Role__Group_1__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2975:1: rule__Role__Group_1__4 : rule__Role__Group_1__4__Impl rule__Role__Group_1__5 ;
    public final void rule__Role__Group_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2979:1: ( rule__Role__Group_1__4__Impl rule__Role__Group_1__5 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2980:2: rule__Role__Group_1__4__Impl rule__Role__Group_1__5
            {
            pushFollow(FOLLOW_rule__Role__Group_1__4__Impl_in_rule__Role__Group_1__45953);
            rule__Role__Group_1__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__5_in_rule__Role__Group_1__45956);
            rule__Role__Group_1__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__4


    // $ANTLR start rule__Role__Group_1__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2987:1: rule__Role__Group_1__4__Impl : ( ';' ) ;
    public final void rule__Role__Group_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2991:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2992:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2992:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:2993:1: ';'
            {
             before(grammarAccess.getRoleAccess().getSemColonKeyword_1_4()); 
            match(input,15,FOLLOW_15_in_rule__Role__Group_1__4__Impl5984); 
             after(grammarAccess.getRoleAccess().getSemColonKeyword_1_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__4__Impl


    // $ANTLR start rule__Role__Group_1__5
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3006:1: rule__Role__Group_1__5 : rule__Role__Group_1__5__Impl rule__Role__Group_1__6 ;
    public final void rule__Role__Group_1__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3010:1: ( rule__Role__Group_1__5__Impl rule__Role__Group_1__6 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3011:2: rule__Role__Group_1__5__Impl rule__Role__Group_1__6
            {
            pushFollow(FOLLOW_rule__Role__Group_1__5__Impl_in_rule__Role__Group_1__56015);
            rule__Role__Group_1__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1__6_in_rule__Role__Group_1__56018);
            rule__Role__Group_1__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__5


    // $ANTLR start rule__Role__Group_1__5__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3018:1: rule__Role__Group_1__5__Impl : ( ( rule__Role__Group_1_5__0 )* ) ;
    public final void rule__Role__Group_1__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3022:1: ( ( ( rule__Role__Group_1_5__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3023:1: ( ( rule__Role__Group_1_5__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3023:1: ( ( rule__Role__Group_1_5__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3024:1: ( rule__Role__Group_1_5__0 )*
            {
             before(grammarAccess.getRoleAccess().getGroup_1_5()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3025:1: ( rule__Role__Group_1_5__0 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==25) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3025:2: rule__Role__Group_1_5__0
            	    {
            	    pushFollow(FOLLOW_rule__Role__Group_1_5__0_in_rule__Role__Group_1__5__Impl6045);
            	    rule__Role__Group_1_5__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getRoleAccess().getGroup_1_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__5__Impl


    // $ANTLR start rule__Role__Group_1__6
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3035:1: rule__Role__Group_1__6 : rule__Role__Group_1__6__Impl ;
    public final void rule__Role__Group_1__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3039:1: ( rule__Role__Group_1__6__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3040:2: rule__Role__Group_1__6__Impl
            {
            pushFollow(FOLLOW_rule__Role__Group_1__6__Impl_in_rule__Role__Group_1__66076);
            rule__Role__Group_1__6__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__6


    // $ANTLR start rule__Role__Group_1__6__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3046:1: rule__Role__Group_1__6__Impl : ( '}' ) ;
    public final void rule__Role__Group_1__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3050:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3051:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3051:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3052:1: '}'
            {
             before(grammarAccess.getRoleAccess().getRGhtCurlyBracketKeyword_1_6()); 
            match(input,13,FOLLOW_13_in_rule__Role__Group_1__6__Impl6104); 
             after(grammarAccess.getRoleAccess().getRGhtCurlyBracketKeyword_1_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1__6__Impl


    // $ANTLR start rule__Role__Group_1_5__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3079:1: rule__Role__Group_1_5__0 : rule__Role__Group_1_5__0__Impl rule__Role__Group_1_5__1 ;
    public final void rule__Role__Group_1_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3083:1: ( rule__Role__Group_1_5__0__Impl rule__Role__Group_1_5__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3084:2: rule__Role__Group_1_5__0__Impl rule__Role__Group_1_5__1
            {
            pushFollow(FOLLOW_rule__Role__Group_1_5__0__Impl_in_rule__Role__Group_1_5__06149);
            rule__Role__Group_1_5__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1_5__1_in_rule__Role__Group_1_5__06152);
            rule__Role__Group_1_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__0


    // $ANTLR start rule__Role__Group_1_5__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3091:1: rule__Role__Group_1_5__0__Impl : ( 'has' ) ;
    public final void rule__Role__Group_1_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3095:1: ( ( 'has' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3096:1: ( 'has' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3096:1: ( 'has' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3097:1: 'has'
            {
             before(grammarAccess.getRoleAccess().getHasKeyword_1_5_0()); 
            match(input,25,FOLLOW_25_in_rule__Role__Group_1_5__0__Impl6180); 
             after(grammarAccess.getRoleAccess().getHasKeyword_1_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__0__Impl


    // $ANTLR start rule__Role__Group_1_5__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3110:1: rule__Role__Group_1_5__1 : rule__Role__Group_1_5__1__Impl rule__Role__Group_1_5__2 ;
    public final void rule__Role__Group_1_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3114:1: ( rule__Role__Group_1_5__1__Impl rule__Role__Group_1_5__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3115:2: rule__Role__Group_1_5__1__Impl rule__Role__Group_1_5__2
            {
            pushFollow(FOLLOW_rule__Role__Group_1_5__1__Impl_in_rule__Role__Group_1_5__16211);
            rule__Role__Group_1_5__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Role__Group_1_5__2_in_rule__Role__Group_1_5__16214);
            rule__Role__Group_1_5__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__1


    // $ANTLR start rule__Role__Group_1_5__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3122:1: rule__Role__Group_1_5__1__Impl : ( ( rule__Role__BehAssignment_1_5_1 ) ) ;
    public final void rule__Role__Group_1_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3126:1: ( ( ( rule__Role__BehAssignment_1_5_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3127:1: ( ( rule__Role__BehAssignment_1_5_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3127:1: ( ( rule__Role__BehAssignment_1_5_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3128:1: ( rule__Role__BehAssignment_1_5_1 )
            {
             before(grammarAccess.getRoleAccess().getBehAssignment_1_5_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3129:1: ( rule__Role__BehAssignment_1_5_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3129:2: rule__Role__BehAssignment_1_5_1
            {
            pushFollow(FOLLOW_rule__Role__BehAssignment_1_5_1_in_rule__Role__Group_1_5__1__Impl6241);
            rule__Role__BehAssignment_1_5_1();
            _fsp--;


            }

             after(grammarAccess.getRoleAccess().getBehAssignment_1_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__1__Impl


    // $ANTLR start rule__Role__Group_1_5__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3139:1: rule__Role__Group_1_5__2 : rule__Role__Group_1_5__2__Impl ;
    public final void rule__Role__Group_1_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3143:1: ( rule__Role__Group_1_5__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3144:2: rule__Role__Group_1_5__2__Impl
            {
            pushFollow(FOLLOW_rule__Role__Group_1_5__2__Impl_in_rule__Role__Group_1_5__26271);
            rule__Role__Group_1_5__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__2


    // $ANTLR start rule__Role__Group_1_5__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3150:1: rule__Role__Group_1_5__2__Impl : ( ';' ) ;
    public final void rule__Role__Group_1_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3154:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3155:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3155:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3156:1: ';'
            {
             before(grammarAccess.getRoleAccess().getSemColonKeyword_1_5_2()); 
            match(input,15,FOLLOW_15_in_rule__Role__Group_1_5__2__Impl6299); 
             after(grammarAccess.getRoleAccess().getSemColonKeyword_1_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__Group_1_5__2__Impl


    // $ANTLR start rule__Plan__Group_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3175:1: rule__Plan__Group_0__0 : rule__Plan__Group_0__0__Impl rule__Plan__Group_0__1 ;
    public final void rule__Plan__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3179:1: ( rule__Plan__Group_0__0__Impl rule__Plan__Group_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3180:2: rule__Plan__Group_0__0__Impl rule__Plan__Group_0__1
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__0__Impl_in_rule__Plan__Group_0__06336);
            rule__Plan__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_0__1_in_rule__Plan__Group_0__06339);
            rule__Plan__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__0


    // $ANTLR start rule__Plan__Group_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3187:1: rule__Plan__Group_0__0__Impl : ( 'Plan' ) ;
    public final void rule__Plan__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3191:1: ( ( 'Plan' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3192:1: ( 'Plan' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3192:1: ( 'Plan' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3193:1: 'Plan'
            {
             before(grammarAccess.getPlanAccess().getPlanKeyword_0_0()); 
            match(input,27,FOLLOW_27_in_rule__Plan__Group_0__0__Impl6367); 
             after(grammarAccess.getPlanAccess().getPlanKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__0__Impl


    // $ANTLR start rule__Plan__Group_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3206:1: rule__Plan__Group_0__1 : rule__Plan__Group_0__1__Impl rule__Plan__Group_0__2 ;
    public final void rule__Plan__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3210:1: ( rule__Plan__Group_0__1__Impl rule__Plan__Group_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3211:2: rule__Plan__Group_0__1__Impl rule__Plan__Group_0__2
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__1__Impl_in_rule__Plan__Group_0__16398);
            rule__Plan__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_0__2_in_rule__Plan__Group_0__16401);
            rule__Plan__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__1


    // $ANTLR start rule__Plan__Group_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3218:1: rule__Plan__Group_0__1__Impl : ( ( rule__Plan__NameAssignment_0_1 ) ) ;
    public final void rule__Plan__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3222:1: ( ( ( rule__Plan__NameAssignment_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3223:1: ( ( rule__Plan__NameAssignment_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3223:1: ( ( rule__Plan__NameAssignment_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3224:1: ( rule__Plan__NameAssignment_0_1 )
            {
             before(grammarAccess.getPlanAccess().getNameAssignment_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3225:1: ( rule__Plan__NameAssignment_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3225:2: rule__Plan__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__Plan__NameAssignment_0_1_in_rule__Plan__Group_0__1__Impl6428);
            rule__Plan__NameAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__1__Impl


    // $ANTLR start rule__Plan__Group_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3235:1: rule__Plan__Group_0__2 : rule__Plan__Group_0__2__Impl rule__Plan__Group_0__3 ;
    public final void rule__Plan__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3239:1: ( rule__Plan__Group_0__2__Impl rule__Plan__Group_0__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3240:2: rule__Plan__Group_0__2__Impl rule__Plan__Group_0__3
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__2__Impl_in_rule__Plan__Group_0__26458);
            rule__Plan__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_0__3_in_rule__Plan__Group_0__26461);
            rule__Plan__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__2


    // $ANTLR start rule__Plan__Group_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3247:1: rule__Plan__Group_0__2__Impl : ( ( rule__Plan__TypeAssignment_0_2 ) ) ;
    public final void rule__Plan__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3251:1: ( ( ( rule__Plan__TypeAssignment_0_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3252:1: ( ( rule__Plan__TypeAssignment_0_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3252:1: ( ( rule__Plan__TypeAssignment_0_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3253:1: ( rule__Plan__TypeAssignment_0_2 )
            {
             before(grammarAccess.getPlanAccess().getTypeAssignment_0_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3254:1: ( rule__Plan__TypeAssignment_0_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3254:2: rule__Plan__TypeAssignment_0_2
            {
            pushFollow(FOLLOW_rule__Plan__TypeAssignment_0_2_in_rule__Plan__Group_0__2__Impl6488);
            rule__Plan__TypeAssignment_0_2();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getTypeAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__2__Impl


    // $ANTLR start rule__Plan__Group_0__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3264:1: rule__Plan__Group_0__3 : rule__Plan__Group_0__3__Impl rule__Plan__Group_0__4 ;
    public final void rule__Plan__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3268:1: ( rule__Plan__Group_0__3__Impl rule__Plan__Group_0__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3269:2: rule__Plan__Group_0__3__Impl rule__Plan__Group_0__4
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__3__Impl_in_rule__Plan__Group_0__36518);
            rule__Plan__Group_0__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_0__4_in_rule__Plan__Group_0__36521);
            rule__Plan__Group_0__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__3


    // $ANTLR start rule__Plan__Group_0__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3276:1: rule__Plan__Group_0__3__Impl : ( ( rule__Plan__DescriptionAssignment_0_3 ) ) ;
    public final void rule__Plan__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3280:1: ( ( ( rule__Plan__DescriptionAssignment_0_3 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3281:1: ( ( rule__Plan__DescriptionAssignment_0_3 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3281:1: ( ( rule__Plan__DescriptionAssignment_0_3 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3282:1: ( rule__Plan__DescriptionAssignment_0_3 )
            {
             before(grammarAccess.getPlanAccess().getDescriptionAssignment_0_3()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3283:1: ( rule__Plan__DescriptionAssignment_0_3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3283:2: rule__Plan__DescriptionAssignment_0_3
            {
            pushFollow(FOLLOW_rule__Plan__DescriptionAssignment_0_3_in_rule__Plan__Group_0__3__Impl6548);
            rule__Plan__DescriptionAssignment_0_3();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getDescriptionAssignment_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__3__Impl


    // $ANTLR start rule__Plan__Group_0__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3293:1: rule__Plan__Group_0__4 : rule__Plan__Group_0__4__Impl rule__Plan__Group_0__5 ;
    public final void rule__Plan__Group_0__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3297:1: ( rule__Plan__Group_0__4__Impl rule__Plan__Group_0__5 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3298:2: rule__Plan__Group_0__4__Impl rule__Plan__Group_0__5
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__4__Impl_in_rule__Plan__Group_0__46578);
            rule__Plan__Group_0__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_0__5_in_rule__Plan__Group_0__46581);
            rule__Plan__Group_0__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__4


    // $ANTLR start rule__Plan__Group_0__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3305:1: rule__Plan__Group_0__4__Impl : ( ( rule__Plan__PriorityAssignment_0_4 ) ) ;
    public final void rule__Plan__Group_0__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3309:1: ( ( ( rule__Plan__PriorityAssignment_0_4 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3310:1: ( ( rule__Plan__PriorityAssignment_0_4 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3310:1: ( ( rule__Plan__PriorityAssignment_0_4 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3311:1: ( rule__Plan__PriorityAssignment_0_4 )
            {
             before(grammarAccess.getPlanAccess().getPriorityAssignment_0_4()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3312:1: ( rule__Plan__PriorityAssignment_0_4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3312:2: rule__Plan__PriorityAssignment_0_4
            {
            pushFollow(FOLLOW_rule__Plan__PriorityAssignment_0_4_in_rule__Plan__Group_0__4__Impl6608);
            rule__Plan__PriorityAssignment_0_4();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getPriorityAssignment_0_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__4__Impl


    // $ANTLR start rule__Plan__Group_0__5
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3322:1: rule__Plan__Group_0__5 : rule__Plan__Group_0__5__Impl ;
    public final void rule__Plan__Group_0__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3326:1: ( rule__Plan__Group_0__5__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3327:2: rule__Plan__Group_0__5__Impl
            {
            pushFollow(FOLLOW_rule__Plan__Group_0__5__Impl_in_rule__Plan__Group_0__56638);
            rule__Plan__Group_0__5__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__5


    // $ANTLR start rule__Plan__Group_0__5__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3333:1: rule__Plan__Group_0__5__Impl : ( ';' ) ;
    public final void rule__Plan__Group_0__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3337:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3338:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3338:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3339:1: ';'
            {
             before(grammarAccess.getPlanAccess().getSemColonKeyword_0_5()); 
            match(input,15,FOLLOW_15_in_rule__Plan__Group_0__5__Impl6666); 
             after(grammarAccess.getPlanAccess().getSemColonKeyword_0_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_0__5__Impl


    // $ANTLR start rule__Plan__Group_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3364:1: rule__Plan__Group_1__0 : rule__Plan__Group_1__0__Impl rule__Plan__Group_1__1 ;
    public final void rule__Plan__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3368:1: ( rule__Plan__Group_1__0__Impl rule__Plan__Group_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3369:2: rule__Plan__Group_1__0__Impl rule__Plan__Group_1__1
            {
            pushFollow(FOLLOW_rule__Plan__Group_1__0__Impl_in_rule__Plan__Group_1__06709);
            rule__Plan__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_1__1_in_rule__Plan__Group_1__06712);
            rule__Plan__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__0


    // $ANTLR start rule__Plan__Group_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3376:1: rule__Plan__Group_1__0__Impl : ( ( rule__Plan__PlanAssignment_1_0 ) ) ;
    public final void rule__Plan__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3380:1: ( ( ( rule__Plan__PlanAssignment_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3381:1: ( ( rule__Plan__PlanAssignment_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3381:1: ( ( rule__Plan__PlanAssignment_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3382:1: ( rule__Plan__PlanAssignment_1_0 )
            {
             before(grammarAccess.getPlanAccess().getPlanAssignment_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3383:1: ( rule__Plan__PlanAssignment_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3383:2: rule__Plan__PlanAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Plan__PlanAssignment_1_0_in_rule__Plan__Group_1__0__Impl6739);
            rule__Plan__PlanAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getPlanAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__0__Impl


    // $ANTLR start rule__Plan__Group_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3393:1: rule__Plan__Group_1__1 : rule__Plan__Group_1__1__Impl rule__Plan__Group_1__2 ;
    public final void rule__Plan__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3397:1: ( rule__Plan__Group_1__1__Impl rule__Plan__Group_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3398:2: rule__Plan__Group_1__1__Impl rule__Plan__Group_1__2
            {
            pushFollow(FOLLOW_rule__Plan__Group_1__1__Impl_in_rule__Plan__Group_1__16769);
            rule__Plan__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_1__2_in_rule__Plan__Group_1__16772);
            rule__Plan__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__1


    // $ANTLR start rule__Plan__Group_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3405:1: rule__Plan__Group_1__1__Impl : ( '{' ) ;
    public final void rule__Plan__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3409:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3410:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3410:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3411:1: '{'
            {
             before(grammarAccess.getPlanAccess().getLeftCurlyBracketKeyword_1_1()); 
            match(input,12,FOLLOW_12_in_rule__Plan__Group_1__1__Impl6800); 
             after(grammarAccess.getPlanAccess().getLeftCurlyBracketKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__1__Impl


    // $ANTLR start rule__Plan__Group_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3424:1: rule__Plan__Group_1__2 : rule__Plan__Group_1__2__Impl rule__Plan__Group_1__3 ;
    public final void rule__Plan__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3428:1: ( rule__Plan__Group_1__2__Impl rule__Plan__Group_1__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3429:2: rule__Plan__Group_1__2__Impl rule__Plan__Group_1__3
            {
            pushFollow(FOLLOW_rule__Plan__Group_1__2__Impl_in_rule__Plan__Group_1__26831);
            rule__Plan__Group_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_1__3_in_rule__Plan__Group_1__26834);
            rule__Plan__Group_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__2


    // $ANTLR start rule__Plan__Group_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3436:1: rule__Plan__Group_1__2__Impl : ( ( rule__Plan__Group_1_2__0 )* ) ;
    public final void rule__Plan__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3440:1: ( ( ( rule__Plan__Group_1_2__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3441:1: ( ( rule__Plan__Group_1_2__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3441:1: ( ( rule__Plan__Group_1_2__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3442:1: ( rule__Plan__Group_1_2__0 )*
            {
             before(grammarAccess.getPlanAccess().getGroup_1_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3443:1: ( rule__Plan__Group_1_2__0 )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==28) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3443:2: rule__Plan__Group_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Plan__Group_1_2__0_in_rule__Plan__Group_1__2__Impl6861);
            	    rule__Plan__Group_1_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

             after(grammarAccess.getPlanAccess().getGroup_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__2__Impl


    // $ANTLR start rule__Plan__Group_1__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3453:1: rule__Plan__Group_1__3 : rule__Plan__Group_1__3__Impl ;
    public final void rule__Plan__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3457:1: ( rule__Plan__Group_1__3__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3458:2: rule__Plan__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__Plan__Group_1__3__Impl_in_rule__Plan__Group_1__36892);
            rule__Plan__Group_1__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__3


    // $ANTLR start rule__Plan__Group_1__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3464:1: rule__Plan__Group_1__3__Impl : ( '}' ) ;
    public final void rule__Plan__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3468:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3469:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3469:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3470:1: '}'
            {
             before(grammarAccess.getPlanAccess().getRGhtCurlyBracketKeyword_1_3()); 
            match(input,13,FOLLOW_13_in_rule__Plan__Group_1__3__Impl6920); 
             after(grammarAccess.getPlanAccess().getRGhtCurlyBracketKeyword_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1__3__Impl


    // $ANTLR start rule__Plan__Group_1_2__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3491:1: rule__Plan__Group_1_2__0 : rule__Plan__Group_1_2__0__Impl rule__Plan__Group_1_2__1 ;
    public final void rule__Plan__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3495:1: ( rule__Plan__Group_1_2__0__Impl rule__Plan__Group_1_2__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3496:2: rule__Plan__Group_1_2__0__Impl rule__Plan__Group_1_2__1
            {
            pushFollow(FOLLOW_rule__Plan__Group_1_2__0__Impl_in_rule__Plan__Group_1_2__06959);
            rule__Plan__Group_1_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_1_2__1_in_rule__Plan__Group_1_2__06962);
            rule__Plan__Group_1_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__0


    // $ANTLR start rule__Plan__Group_1_2__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3503:1: rule__Plan__Group_1_2__0__Impl : ( 'dispatches' ) ;
    public final void rule__Plan__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3507:1: ( ( 'dispatches' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3508:1: ( 'dispatches' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3508:1: ( 'dispatches' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3509:1: 'dispatches'
            {
             before(grammarAccess.getPlanAccess().getDispatchesKeyword_1_2_0()); 
            match(input,28,FOLLOW_28_in_rule__Plan__Group_1_2__0__Impl6990); 
             after(grammarAccess.getPlanAccess().getDispatchesKeyword_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__0__Impl


    // $ANTLR start rule__Plan__Group_1_2__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3522:1: rule__Plan__Group_1_2__1 : rule__Plan__Group_1_2__1__Impl rule__Plan__Group_1_2__2 ;
    public final void rule__Plan__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3526:1: ( rule__Plan__Group_1_2__1__Impl rule__Plan__Group_1_2__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3527:2: rule__Plan__Group_1_2__1__Impl rule__Plan__Group_1_2__2
            {
            pushFollow(FOLLOW_rule__Plan__Group_1_2__1__Impl_in_rule__Plan__Group_1_2__17021);
            rule__Plan__Group_1_2__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Plan__Group_1_2__2_in_rule__Plan__Group_1_2__17024);
            rule__Plan__Group_1_2__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__1


    // $ANTLR start rule__Plan__Group_1_2__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3534:1: rule__Plan__Group_1_2__1__Impl : ( ( rule__Plan__GoalAssignment_1_2_1 ) ) ;
    public final void rule__Plan__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3538:1: ( ( ( rule__Plan__GoalAssignment_1_2_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3539:1: ( ( rule__Plan__GoalAssignment_1_2_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3539:1: ( ( rule__Plan__GoalAssignment_1_2_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3540:1: ( rule__Plan__GoalAssignment_1_2_1 )
            {
             before(grammarAccess.getPlanAccess().getGoalAssignment_1_2_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3541:1: ( rule__Plan__GoalAssignment_1_2_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3541:2: rule__Plan__GoalAssignment_1_2_1
            {
            pushFollow(FOLLOW_rule__Plan__GoalAssignment_1_2_1_in_rule__Plan__Group_1_2__1__Impl7051);
            rule__Plan__GoalAssignment_1_2_1();
            _fsp--;


            }

             after(grammarAccess.getPlanAccess().getGoalAssignment_1_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__1__Impl


    // $ANTLR start rule__Plan__Group_1_2__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3551:1: rule__Plan__Group_1_2__2 : rule__Plan__Group_1_2__2__Impl ;
    public final void rule__Plan__Group_1_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3555:1: ( rule__Plan__Group_1_2__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3556:2: rule__Plan__Group_1_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Plan__Group_1_2__2__Impl_in_rule__Plan__Group_1_2__27081);
            rule__Plan__Group_1_2__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__2


    // $ANTLR start rule__Plan__Group_1_2__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3562:1: rule__Plan__Group_1_2__2__Impl : ( ';' ) ;
    public final void rule__Plan__Group_1_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3566:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3567:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3567:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3568:1: ';'
            {
             before(grammarAccess.getPlanAccess().getSemColonKeyword_1_2_2()); 
            match(input,15,FOLLOW_15_in_rule__Plan__Group_1_2__2__Impl7109); 
             after(grammarAccess.getPlanAccess().getSemColonKeyword_1_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__Group_1_2__2__Impl


    // $ANTLR start rule__AgentType__Group__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3587:1: rule__AgentType__Group__0 : rule__AgentType__Group__0__Impl rule__AgentType__Group__1 ;
    public final void rule__AgentType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3591:1: ( rule__AgentType__Group__0__Impl rule__AgentType__Group__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3592:2: rule__AgentType__Group__0__Impl rule__AgentType__Group__1
            {
            pushFollow(FOLLOW_rule__AgentType__Group__0__Impl_in_rule__AgentType__Group__07146);
            rule__AgentType__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentType__Group__1_in_rule__AgentType__Group__07149);
            rule__AgentType__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__0


    // $ANTLR start rule__AgentType__Group__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3599:1: rule__AgentType__Group__0__Impl : ( 'AgentType' ) ;
    public final void rule__AgentType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3603:1: ( ( 'AgentType' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3604:1: ( 'AgentType' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3604:1: ( 'AgentType' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3605:1: 'AgentType'
            {
             before(grammarAccess.getAgentTypeAccess().getAgentTypeKeyword_0()); 
            match(input,29,FOLLOW_29_in_rule__AgentType__Group__0__Impl7177); 
             after(grammarAccess.getAgentTypeAccess().getAgentTypeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__0__Impl


    // $ANTLR start rule__AgentType__Group__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3618:1: rule__AgentType__Group__1 : rule__AgentType__Group__1__Impl rule__AgentType__Group__2 ;
    public final void rule__AgentType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3622:1: ( rule__AgentType__Group__1__Impl rule__AgentType__Group__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3623:2: rule__AgentType__Group__1__Impl rule__AgentType__Group__2
            {
            pushFollow(FOLLOW_rule__AgentType__Group__1__Impl_in_rule__AgentType__Group__17208);
            rule__AgentType__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__AgentType__Group__2_in_rule__AgentType__Group__17211);
            rule__AgentType__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__1


    // $ANTLR start rule__AgentType__Group__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3630:1: rule__AgentType__Group__1__Impl : ( ( rule__AgentType__NameAssignment_1 ) ) ;
    public final void rule__AgentType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3634:1: ( ( ( rule__AgentType__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3635:1: ( ( rule__AgentType__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3635:1: ( ( rule__AgentType__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3636:1: ( rule__AgentType__NameAssignment_1 )
            {
             before(grammarAccess.getAgentTypeAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3637:1: ( rule__AgentType__NameAssignment_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3637:2: rule__AgentType__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__AgentType__NameAssignment_1_in_rule__AgentType__Group__1__Impl7238);
            rule__AgentType__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getAgentTypeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__1__Impl


    // $ANTLR start rule__AgentType__Group__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3647:1: rule__AgentType__Group__2 : rule__AgentType__Group__2__Impl ;
    public final void rule__AgentType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3651:1: ( rule__AgentType__Group__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3652:2: rule__AgentType__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__AgentType__Group__2__Impl_in_rule__AgentType__Group__27268);
            rule__AgentType__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__2


    // $ANTLR start rule__AgentType__Group__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3658:1: rule__AgentType__Group__2__Impl : ( ';' ) ;
    public final void rule__AgentType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3662:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3663:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3663:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3664:1: ';'
            {
             before(grammarAccess.getAgentTypeAccess().getSemColonKeyword_2()); 
            match(input,15,FOLLOW_15_in_rule__AgentType__Group__2__Impl7296); 
             after(grammarAccess.getAgentTypeAccess().getSemColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__Group__2__Impl


    // $ANTLR start rule__Behaviour__Group_0__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3683:1: rule__Behaviour__Group_0__0 : rule__Behaviour__Group_0__0__Impl rule__Behaviour__Group_0__1 ;
    public final void rule__Behaviour__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3687:1: ( rule__Behaviour__Group_0__0__Impl rule__Behaviour__Group_0__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3688:2: rule__Behaviour__Group_0__0__Impl rule__Behaviour__Group_0__1
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_0__0__Impl_in_rule__Behaviour__Group_0__07333);
            rule__Behaviour__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_0__1_in_rule__Behaviour__Group_0__07336);
            rule__Behaviour__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__0


    // $ANTLR start rule__Behaviour__Group_0__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3695:1: rule__Behaviour__Group_0__0__Impl : ( 'Behaviour' ) ;
    public final void rule__Behaviour__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3699:1: ( ( 'Behaviour' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3700:1: ( 'Behaviour' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3700:1: ( 'Behaviour' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3701:1: 'Behaviour'
            {
             before(grammarAccess.getBehaviourAccess().getBehaviourKeyword_0_0()); 
            match(input,30,FOLLOW_30_in_rule__Behaviour__Group_0__0__Impl7364); 
             after(grammarAccess.getBehaviourAccess().getBehaviourKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__0__Impl


    // $ANTLR start rule__Behaviour__Group_0__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3714:1: rule__Behaviour__Group_0__1 : rule__Behaviour__Group_0__1__Impl rule__Behaviour__Group_0__2 ;
    public final void rule__Behaviour__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3718:1: ( rule__Behaviour__Group_0__1__Impl rule__Behaviour__Group_0__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3719:2: rule__Behaviour__Group_0__1__Impl rule__Behaviour__Group_0__2
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_0__1__Impl_in_rule__Behaviour__Group_0__17395);
            rule__Behaviour__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_0__2_in_rule__Behaviour__Group_0__17398);
            rule__Behaviour__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__1


    // $ANTLR start rule__Behaviour__Group_0__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3726:1: rule__Behaviour__Group_0__1__Impl : ( ( rule__Behaviour__NameAssignment_0_1 ) ) ;
    public final void rule__Behaviour__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3730:1: ( ( ( rule__Behaviour__NameAssignment_0_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3731:1: ( ( rule__Behaviour__NameAssignment_0_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3731:1: ( ( rule__Behaviour__NameAssignment_0_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3732:1: ( rule__Behaviour__NameAssignment_0_1 )
            {
             before(grammarAccess.getBehaviourAccess().getNameAssignment_0_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3733:1: ( rule__Behaviour__NameAssignment_0_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3733:2: rule__Behaviour__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__Behaviour__NameAssignment_0_1_in_rule__Behaviour__Group_0__1__Impl7425);
            rule__Behaviour__NameAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__1__Impl


    // $ANTLR start rule__Behaviour__Group_0__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3743:1: rule__Behaviour__Group_0__2 : rule__Behaviour__Group_0__2__Impl rule__Behaviour__Group_0__3 ;
    public final void rule__Behaviour__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3747:1: ( rule__Behaviour__Group_0__2__Impl rule__Behaviour__Group_0__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3748:2: rule__Behaviour__Group_0__2__Impl rule__Behaviour__Group_0__3
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_0__2__Impl_in_rule__Behaviour__Group_0__27455);
            rule__Behaviour__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_0__3_in_rule__Behaviour__Group_0__27458);
            rule__Behaviour__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__2


    // $ANTLR start rule__Behaviour__Group_0__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3755:1: rule__Behaviour__Group_0__2__Impl : ( ( rule__Behaviour__ResidentAssignment_0_2 ) ) ;
    public final void rule__Behaviour__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3759:1: ( ( ( rule__Behaviour__ResidentAssignment_0_2 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3760:1: ( ( rule__Behaviour__ResidentAssignment_0_2 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3760:1: ( ( rule__Behaviour__ResidentAssignment_0_2 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3761:1: ( rule__Behaviour__ResidentAssignment_0_2 )
            {
             before(grammarAccess.getBehaviourAccess().getResidentAssignment_0_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3762:1: ( rule__Behaviour__ResidentAssignment_0_2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3762:2: rule__Behaviour__ResidentAssignment_0_2
            {
            pushFollow(FOLLOW_rule__Behaviour__ResidentAssignment_0_2_in_rule__Behaviour__Group_0__2__Impl7485);
            rule__Behaviour__ResidentAssignment_0_2();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getResidentAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__2__Impl


    // $ANTLR start rule__Behaviour__Group_0__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3772:1: rule__Behaviour__Group_0__3 : rule__Behaviour__Group_0__3__Impl ;
    public final void rule__Behaviour__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3776:1: ( rule__Behaviour__Group_0__3__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3777:2: rule__Behaviour__Group_0__3__Impl
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_0__3__Impl_in_rule__Behaviour__Group_0__37515);
            rule__Behaviour__Group_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__3


    // $ANTLR start rule__Behaviour__Group_0__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3783:1: rule__Behaviour__Group_0__3__Impl : ( ';' ) ;
    public final void rule__Behaviour__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3787:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3788:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3788:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3789:1: ';'
            {
             before(grammarAccess.getBehaviourAccess().getSemColonKeyword_0_3()); 
            match(input,15,FOLLOW_15_in_rule__Behaviour__Group_0__3__Impl7543); 
             after(grammarAccess.getBehaviourAccess().getSemColonKeyword_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_0__3__Impl


    // $ANTLR start rule__Behaviour__Group_1__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3810:1: rule__Behaviour__Group_1__0 : rule__Behaviour__Group_1__0__Impl rule__Behaviour__Group_1__1 ;
    public final void rule__Behaviour__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3814:1: ( rule__Behaviour__Group_1__0__Impl rule__Behaviour__Group_1__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3815:2: rule__Behaviour__Group_1__0__Impl rule__Behaviour__Group_1__1
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__0__Impl_in_rule__Behaviour__Group_1__07582);
            rule__Behaviour__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__1_in_rule__Behaviour__Group_1__07585);
            rule__Behaviour__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__0


    // $ANTLR start rule__Behaviour__Group_1__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3822:1: rule__Behaviour__Group_1__0__Impl : ( ( rule__Behaviour__BehAssignment_1_0 ) ) ;
    public final void rule__Behaviour__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3826:1: ( ( ( rule__Behaviour__BehAssignment_1_0 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3827:1: ( ( rule__Behaviour__BehAssignment_1_0 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3827:1: ( ( rule__Behaviour__BehAssignment_1_0 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3828:1: ( rule__Behaviour__BehAssignment_1_0 )
            {
             before(grammarAccess.getBehaviourAccess().getBehAssignment_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3829:1: ( rule__Behaviour__BehAssignment_1_0 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3829:2: rule__Behaviour__BehAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Behaviour__BehAssignment_1_0_in_rule__Behaviour__Group_1__0__Impl7612);
            rule__Behaviour__BehAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getBehAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__0__Impl


    // $ANTLR start rule__Behaviour__Group_1__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3839:1: rule__Behaviour__Group_1__1 : rule__Behaviour__Group_1__1__Impl rule__Behaviour__Group_1__2 ;
    public final void rule__Behaviour__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3843:1: ( rule__Behaviour__Group_1__1__Impl rule__Behaviour__Group_1__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3844:2: rule__Behaviour__Group_1__1__Impl rule__Behaviour__Group_1__2
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__1__Impl_in_rule__Behaviour__Group_1__17642);
            rule__Behaviour__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__2_in_rule__Behaviour__Group_1__17645);
            rule__Behaviour__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__1


    // $ANTLR start rule__Behaviour__Group_1__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3851:1: rule__Behaviour__Group_1__1__Impl : ( '{' ) ;
    public final void rule__Behaviour__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3855:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3856:1: ( '{' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3856:1: ( '{' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3857:1: '{'
            {
             before(grammarAccess.getBehaviourAccess().getLeftCurlyBracketKeyword_1_1()); 
            match(input,12,FOLLOW_12_in_rule__Behaviour__Group_1__1__Impl7673); 
             after(grammarAccess.getBehaviourAccess().getLeftCurlyBracketKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__1__Impl


    // $ANTLR start rule__Behaviour__Group_1__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3870:1: rule__Behaviour__Group_1__2 : rule__Behaviour__Group_1__2__Impl rule__Behaviour__Group_1__3 ;
    public final void rule__Behaviour__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3874:1: ( rule__Behaviour__Group_1__2__Impl rule__Behaviour__Group_1__3 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3875:2: rule__Behaviour__Group_1__2__Impl rule__Behaviour__Group_1__3
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__2__Impl_in_rule__Behaviour__Group_1__27704);
            rule__Behaviour__Group_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__3_in_rule__Behaviour__Group_1__27707);
            rule__Behaviour__Group_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__2


    // $ANTLR start rule__Behaviour__Group_1__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3882:1: rule__Behaviour__Group_1__2__Impl : ( ( rule__Behaviour__Group_1_2__0 )* ) ;
    public final void rule__Behaviour__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3886:1: ( ( ( rule__Behaviour__Group_1_2__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3887:1: ( ( rule__Behaviour__Group_1_2__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3887:1: ( ( rule__Behaviour__Group_1_2__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3888:1: ( rule__Behaviour__Group_1_2__0 )*
            {
             before(grammarAccess.getBehaviourAccess().getGroup_1_2()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3889:1: ( rule__Behaviour__Group_1_2__0 )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==32) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3889:2: rule__Behaviour__Group_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Behaviour__Group_1_2__0_in_rule__Behaviour__Group_1__2__Impl7734);
            	    rule__Behaviour__Group_1_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);

             after(grammarAccess.getBehaviourAccess().getGroup_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__2__Impl


    // $ANTLR start rule__Behaviour__Group_1__3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3899:1: rule__Behaviour__Group_1__3 : rule__Behaviour__Group_1__3__Impl rule__Behaviour__Group_1__4 ;
    public final void rule__Behaviour__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3903:1: ( rule__Behaviour__Group_1__3__Impl rule__Behaviour__Group_1__4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3904:2: rule__Behaviour__Group_1__3__Impl rule__Behaviour__Group_1__4
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__3__Impl_in_rule__Behaviour__Group_1__37765);
            rule__Behaviour__Group_1__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__4_in_rule__Behaviour__Group_1__37768);
            rule__Behaviour__Group_1__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__3


    // $ANTLR start rule__Behaviour__Group_1__3__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3911:1: rule__Behaviour__Group_1__3__Impl : ( 'composed_of' ) ;
    public final void rule__Behaviour__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3915:1: ( ( 'composed_of' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3916:1: ( 'composed_of' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3916:1: ( 'composed_of' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3917:1: 'composed_of'
            {
             before(grammarAccess.getBehaviourAccess().getComposed_ofKeyword_1_3()); 
            match(input,31,FOLLOW_31_in_rule__Behaviour__Group_1__3__Impl7796); 
             after(grammarAccess.getBehaviourAccess().getComposed_ofKeyword_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__3__Impl


    // $ANTLR start rule__Behaviour__Group_1__4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3930:1: rule__Behaviour__Group_1__4 : rule__Behaviour__Group_1__4__Impl rule__Behaviour__Group_1__5 ;
    public final void rule__Behaviour__Group_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3934:1: ( rule__Behaviour__Group_1__4__Impl rule__Behaviour__Group_1__5 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3935:2: rule__Behaviour__Group_1__4__Impl rule__Behaviour__Group_1__5
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__4__Impl_in_rule__Behaviour__Group_1__47827);
            rule__Behaviour__Group_1__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__5_in_rule__Behaviour__Group_1__47830);
            rule__Behaviour__Group_1__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__4


    // $ANTLR start rule__Behaviour__Group_1__4__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3942:1: rule__Behaviour__Group_1__4__Impl : ( ( rule__Behaviour__BehAssignment_1_4 ) ) ;
    public final void rule__Behaviour__Group_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3946:1: ( ( ( rule__Behaviour__BehAssignment_1_4 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3947:1: ( ( rule__Behaviour__BehAssignment_1_4 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3947:1: ( ( rule__Behaviour__BehAssignment_1_4 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3948:1: ( rule__Behaviour__BehAssignment_1_4 )
            {
             before(grammarAccess.getBehaviourAccess().getBehAssignment_1_4()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3949:1: ( rule__Behaviour__BehAssignment_1_4 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3949:2: rule__Behaviour__BehAssignment_1_4
            {
            pushFollow(FOLLOW_rule__Behaviour__BehAssignment_1_4_in_rule__Behaviour__Group_1__4__Impl7857);
            rule__Behaviour__BehAssignment_1_4();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getBehAssignment_1_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__4__Impl


    // $ANTLR start rule__Behaviour__Group_1__5
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3959:1: rule__Behaviour__Group_1__5 : rule__Behaviour__Group_1__5__Impl rule__Behaviour__Group_1__6 ;
    public final void rule__Behaviour__Group_1__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3963:1: ( rule__Behaviour__Group_1__5__Impl rule__Behaviour__Group_1__6 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3964:2: rule__Behaviour__Group_1__5__Impl rule__Behaviour__Group_1__6
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__5__Impl_in_rule__Behaviour__Group_1__57887);
            rule__Behaviour__Group_1__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__6_in_rule__Behaviour__Group_1__57890);
            rule__Behaviour__Group_1__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__5


    // $ANTLR start rule__Behaviour__Group_1__5__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3971:1: rule__Behaviour__Group_1__5__Impl : ( ';' ) ;
    public final void rule__Behaviour__Group_1__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3975:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3976:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3976:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3977:1: ';'
            {
             before(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_5()); 
            match(input,15,FOLLOW_15_in_rule__Behaviour__Group_1__5__Impl7918); 
             after(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__5__Impl


    // $ANTLR start rule__Behaviour__Group_1__6
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3990:1: rule__Behaviour__Group_1__6 : rule__Behaviour__Group_1__6__Impl rule__Behaviour__Group_1__7 ;
    public final void rule__Behaviour__Group_1__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3994:1: ( rule__Behaviour__Group_1__6__Impl rule__Behaviour__Group_1__7 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:3995:2: rule__Behaviour__Group_1__6__Impl rule__Behaviour__Group_1__7
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__6__Impl_in_rule__Behaviour__Group_1__67949);
            rule__Behaviour__Group_1__6__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__7_in_rule__Behaviour__Group_1__67952);
            rule__Behaviour__Group_1__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__6


    // $ANTLR start rule__Behaviour__Group_1__6__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4002:1: rule__Behaviour__Group_1__6__Impl : ( ( rule__Behaviour__Group_1_6__0 )* ) ;
    public final void rule__Behaviour__Group_1__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4006:1: ( ( ( rule__Behaviour__Group_1_6__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4007:1: ( ( rule__Behaviour__Group_1_6__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4007:1: ( ( rule__Behaviour__Group_1_6__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4008:1: ( rule__Behaviour__Group_1_6__0 )*
            {
             before(grammarAccess.getBehaviourAccess().getGroup_1_6()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4009:1: ( rule__Behaviour__Group_1_6__0 )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==31) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4009:2: rule__Behaviour__Group_1_6__0
            	    {
            	    pushFollow(FOLLOW_rule__Behaviour__Group_1_6__0_in_rule__Behaviour__Group_1__6__Impl7979);
            	    rule__Behaviour__Group_1_6__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

             after(grammarAccess.getBehaviourAccess().getGroup_1_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__6__Impl


    // $ANTLR start rule__Behaviour__Group_1__7
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4019:1: rule__Behaviour__Group_1__7 : rule__Behaviour__Group_1__7__Impl rule__Behaviour__Group_1__8 ;
    public final void rule__Behaviour__Group_1__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4023:1: ( rule__Behaviour__Group_1__7__Impl rule__Behaviour__Group_1__8 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4024:2: rule__Behaviour__Group_1__7__Impl rule__Behaviour__Group_1__8
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__7__Impl_in_rule__Behaviour__Group_1__78010);
            rule__Behaviour__Group_1__7__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1__8_in_rule__Behaviour__Group_1__78013);
            rule__Behaviour__Group_1__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__7


    // $ANTLR start rule__Behaviour__Group_1__7__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4031:1: rule__Behaviour__Group_1__7__Impl : ( ( rule__Behaviour__Group_1_7__0 )* ) ;
    public final void rule__Behaviour__Group_1__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4035:1: ( ( ( rule__Behaviour__Group_1_7__0 )* ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4036:1: ( ( rule__Behaviour__Group_1_7__0 )* )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4036:1: ( ( rule__Behaviour__Group_1_7__0 )* )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4037:1: ( rule__Behaviour__Group_1_7__0 )*
            {
             before(grammarAccess.getBehaviourAccess().getGroup_1_7()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4038:1: ( rule__Behaviour__Group_1_7__0 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( (LA18_0==32) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4038:2: rule__Behaviour__Group_1_7__0
            	    {
            	    pushFollow(FOLLOW_rule__Behaviour__Group_1_7__0_in_rule__Behaviour__Group_1__7__Impl8040);
            	    rule__Behaviour__Group_1_7__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getBehaviourAccess().getGroup_1_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__7__Impl


    // $ANTLR start rule__Behaviour__Group_1__8
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4048:1: rule__Behaviour__Group_1__8 : rule__Behaviour__Group_1__8__Impl ;
    public final void rule__Behaviour__Group_1__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4052:1: ( rule__Behaviour__Group_1__8__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4053:2: rule__Behaviour__Group_1__8__Impl
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1__8__Impl_in_rule__Behaviour__Group_1__88071);
            rule__Behaviour__Group_1__8__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__8


    // $ANTLR start rule__Behaviour__Group_1__8__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4059:1: rule__Behaviour__Group_1__8__Impl : ( '}' ) ;
    public final void rule__Behaviour__Group_1__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4063:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4064:1: ( '}' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4064:1: ( '}' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4065:1: '}'
            {
             before(grammarAccess.getBehaviourAccess().getRGhtCurlyBracketKeyword_1_8()); 
            match(input,13,FOLLOW_13_in_rule__Behaviour__Group_1__8__Impl8099); 
             after(grammarAccess.getBehaviourAccess().getRGhtCurlyBracketKeyword_1_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1__8__Impl


    // $ANTLR start rule__Behaviour__Group_1_2__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4096:1: rule__Behaviour__Group_1_2__0 : rule__Behaviour__Group_1_2__0__Impl rule__Behaviour__Group_1_2__1 ;
    public final void rule__Behaviour__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4100:1: ( rule__Behaviour__Group_1_2__0__Impl rule__Behaviour__Group_1_2__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4101:2: rule__Behaviour__Group_1_2__0__Impl rule__Behaviour__Group_1_2__1
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_2__0__Impl_in_rule__Behaviour__Group_1_2__08148);
            rule__Behaviour__Group_1_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_2__1_in_rule__Behaviour__Group_1_2__08151);
            rule__Behaviour__Group_1_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__0


    // $ANTLR start rule__Behaviour__Group_1_2__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4108:1: rule__Behaviour__Group_1_2__0__Impl : ( 'executes' ) ;
    public final void rule__Behaviour__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4112:1: ( ( 'executes' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4113:1: ( 'executes' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4113:1: ( 'executes' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4114:1: 'executes'
            {
             before(grammarAccess.getBehaviourAccess().getExecutesKeyword_1_2_0()); 
            match(input,32,FOLLOW_32_in_rule__Behaviour__Group_1_2__0__Impl8179); 
             after(grammarAccess.getBehaviourAccess().getExecutesKeyword_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__0__Impl


    // $ANTLR start rule__Behaviour__Group_1_2__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4127:1: rule__Behaviour__Group_1_2__1 : rule__Behaviour__Group_1_2__1__Impl rule__Behaviour__Group_1_2__2 ;
    public final void rule__Behaviour__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4131:1: ( rule__Behaviour__Group_1_2__1__Impl rule__Behaviour__Group_1_2__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4132:2: rule__Behaviour__Group_1_2__1__Impl rule__Behaviour__Group_1_2__2
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_2__1__Impl_in_rule__Behaviour__Group_1_2__18210);
            rule__Behaviour__Group_1_2__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_2__2_in_rule__Behaviour__Group_1_2__18213);
            rule__Behaviour__Group_1_2__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__1


    // $ANTLR start rule__Behaviour__Group_1_2__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4139:1: rule__Behaviour__Group_1_2__1__Impl : ( ( rule__Behaviour__PlanAssignment_1_2_1 ) ) ;
    public final void rule__Behaviour__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4143:1: ( ( ( rule__Behaviour__PlanAssignment_1_2_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4144:1: ( ( rule__Behaviour__PlanAssignment_1_2_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4144:1: ( ( rule__Behaviour__PlanAssignment_1_2_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4145:1: ( rule__Behaviour__PlanAssignment_1_2_1 )
            {
             before(grammarAccess.getBehaviourAccess().getPlanAssignment_1_2_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4146:1: ( rule__Behaviour__PlanAssignment_1_2_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4146:2: rule__Behaviour__PlanAssignment_1_2_1
            {
            pushFollow(FOLLOW_rule__Behaviour__PlanAssignment_1_2_1_in_rule__Behaviour__Group_1_2__1__Impl8240);
            rule__Behaviour__PlanAssignment_1_2_1();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getPlanAssignment_1_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__1__Impl


    // $ANTLR start rule__Behaviour__Group_1_2__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4156:1: rule__Behaviour__Group_1_2__2 : rule__Behaviour__Group_1_2__2__Impl ;
    public final void rule__Behaviour__Group_1_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4160:1: ( rule__Behaviour__Group_1_2__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4161:2: rule__Behaviour__Group_1_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_2__2__Impl_in_rule__Behaviour__Group_1_2__28270);
            rule__Behaviour__Group_1_2__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__2


    // $ANTLR start rule__Behaviour__Group_1_2__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4167:1: rule__Behaviour__Group_1_2__2__Impl : ( ';' ) ;
    public final void rule__Behaviour__Group_1_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4171:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4172:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4172:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4173:1: ';'
            {
             before(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_2_2()); 
            match(input,15,FOLLOW_15_in_rule__Behaviour__Group_1_2__2__Impl8298); 
             after(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_2__2__Impl


    // $ANTLR start rule__Behaviour__Group_1_6__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4192:1: rule__Behaviour__Group_1_6__0 : rule__Behaviour__Group_1_6__0__Impl rule__Behaviour__Group_1_6__1 ;
    public final void rule__Behaviour__Group_1_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4196:1: ( rule__Behaviour__Group_1_6__0__Impl rule__Behaviour__Group_1_6__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4197:2: rule__Behaviour__Group_1_6__0__Impl rule__Behaviour__Group_1_6__1
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_6__0__Impl_in_rule__Behaviour__Group_1_6__08335);
            rule__Behaviour__Group_1_6__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_6__1_in_rule__Behaviour__Group_1_6__08338);
            rule__Behaviour__Group_1_6__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__0


    // $ANTLR start rule__Behaviour__Group_1_6__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4204:1: rule__Behaviour__Group_1_6__0__Impl : ( 'composed_of' ) ;
    public final void rule__Behaviour__Group_1_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4208:1: ( ( 'composed_of' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4209:1: ( 'composed_of' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4209:1: ( 'composed_of' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4210:1: 'composed_of'
            {
             before(grammarAccess.getBehaviourAccess().getComposed_ofKeyword_1_6_0()); 
            match(input,31,FOLLOW_31_in_rule__Behaviour__Group_1_6__0__Impl8366); 
             after(grammarAccess.getBehaviourAccess().getComposed_ofKeyword_1_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__0__Impl


    // $ANTLR start rule__Behaviour__Group_1_6__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4223:1: rule__Behaviour__Group_1_6__1 : rule__Behaviour__Group_1_6__1__Impl rule__Behaviour__Group_1_6__2 ;
    public final void rule__Behaviour__Group_1_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4227:1: ( rule__Behaviour__Group_1_6__1__Impl rule__Behaviour__Group_1_6__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4228:2: rule__Behaviour__Group_1_6__1__Impl rule__Behaviour__Group_1_6__2
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_6__1__Impl_in_rule__Behaviour__Group_1_6__18397);
            rule__Behaviour__Group_1_6__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_6__2_in_rule__Behaviour__Group_1_6__18400);
            rule__Behaviour__Group_1_6__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__1


    // $ANTLR start rule__Behaviour__Group_1_6__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4235:1: rule__Behaviour__Group_1_6__1__Impl : ( ( rule__Behaviour__BehAssignment_1_6_1 ) ) ;
    public final void rule__Behaviour__Group_1_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4239:1: ( ( ( rule__Behaviour__BehAssignment_1_6_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4240:1: ( ( rule__Behaviour__BehAssignment_1_6_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4240:1: ( ( rule__Behaviour__BehAssignment_1_6_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4241:1: ( rule__Behaviour__BehAssignment_1_6_1 )
            {
             before(grammarAccess.getBehaviourAccess().getBehAssignment_1_6_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4242:1: ( rule__Behaviour__BehAssignment_1_6_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4242:2: rule__Behaviour__BehAssignment_1_6_1
            {
            pushFollow(FOLLOW_rule__Behaviour__BehAssignment_1_6_1_in_rule__Behaviour__Group_1_6__1__Impl8427);
            rule__Behaviour__BehAssignment_1_6_1();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getBehAssignment_1_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__1__Impl


    // $ANTLR start rule__Behaviour__Group_1_6__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4252:1: rule__Behaviour__Group_1_6__2 : rule__Behaviour__Group_1_6__2__Impl ;
    public final void rule__Behaviour__Group_1_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4256:1: ( rule__Behaviour__Group_1_6__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4257:2: rule__Behaviour__Group_1_6__2__Impl
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_6__2__Impl_in_rule__Behaviour__Group_1_6__28457);
            rule__Behaviour__Group_1_6__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__2


    // $ANTLR start rule__Behaviour__Group_1_6__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4263:1: rule__Behaviour__Group_1_6__2__Impl : ( ';' ) ;
    public final void rule__Behaviour__Group_1_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4267:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4268:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4268:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4269:1: ';'
            {
             before(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_6_2()); 
            match(input,15,FOLLOW_15_in_rule__Behaviour__Group_1_6__2__Impl8485); 
             after(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_6__2__Impl


    // $ANTLR start rule__Behaviour__Group_1_7__0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4288:1: rule__Behaviour__Group_1_7__0 : rule__Behaviour__Group_1_7__0__Impl rule__Behaviour__Group_1_7__1 ;
    public final void rule__Behaviour__Group_1_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4292:1: ( rule__Behaviour__Group_1_7__0__Impl rule__Behaviour__Group_1_7__1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4293:2: rule__Behaviour__Group_1_7__0__Impl rule__Behaviour__Group_1_7__1
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_7__0__Impl_in_rule__Behaviour__Group_1_7__08522);
            rule__Behaviour__Group_1_7__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_7__1_in_rule__Behaviour__Group_1_7__08525);
            rule__Behaviour__Group_1_7__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__0


    // $ANTLR start rule__Behaviour__Group_1_7__0__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4300:1: rule__Behaviour__Group_1_7__0__Impl : ( 'executes' ) ;
    public final void rule__Behaviour__Group_1_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4304:1: ( ( 'executes' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4305:1: ( 'executes' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4305:1: ( 'executes' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4306:1: 'executes'
            {
             before(grammarAccess.getBehaviourAccess().getExecutesKeyword_1_7_0()); 
            match(input,32,FOLLOW_32_in_rule__Behaviour__Group_1_7__0__Impl8553); 
             after(grammarAccess.getBehaviourAccess().getExecutesKeyword_1_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__0__Impl


    // $ANTLR start rule__Behaviour__Group_1_7__1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4319:1: rule__Behaviour__Group_1_7__1 : rule__Behaviour__Group_1_7__1__Impl rule__Behaviour__Group_1_7__2 ;
    public final void rule__Behaviour__Group_1_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4323:1: ( rule__Behaviour__Group_1_7__1__Impl rule__Behaviour__Group_1_7__2 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4324:2: rule__Behaviour__Group_1_7__1__Impl rule__Behaviour__Group_1_7__2
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_7__1__Impl_in_rule__Behaviour__Group_1_7__18584);
            rule__Behaviour__Group_1_7__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Behaviour__Group_1_7__2_in_rule__Behaviour__Group_1_7__18587);
            rule__Behaviour__Group_1_7__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__1


    // $ANTLR start rule__Behaviour__Group_1_7__1__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4331:1: rule__Behaviour__Group_1_7__1__Impl : ( ( rule__Behaviour__PlanAssignment_1_7_1 ) ) ;
    public final void rule__Behaviour__Group_1_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4335:1: ( ( ( rule__Behaviour__PlanAssignment_1_7_1 ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4336:1: ( ( rule__Behaviour__PlanAssignment_1_7_1 ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4336:1: ( ( rule__Behaviour__PlanAssignment_1_7_1 ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4337:1: ( rule__Behaviour__PlanAssignment_1_7_1 )
            {
             before(grammarAccess.getBehaviourAccess().getPlanAssignment_1_7_1()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4338:1: ( rule__Behaviour__PlanAssignment_1_7_1 )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4338:2: rule__Behaviour__PlanAssignment_1_7_1
            {
            pushFollow(FOLLOW_rule__Behaviour__PlanAssignment_1_7_1_in_rule__Behaviour__Group_1_7__1__Impl8614);
            rule__Behaviour__PlanAssignment_1_7_1();
            _fsp--;


            }

             after(grammarAccess.getBehaviourAccess().getPlanAssignment_1_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__1__Impl


    // $ANTLR start rule__Behaviour__Group_1_7__2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4348:1: rule__Behaviour__Group_1_7__2 : rule__Behaviour__Group_1_7__2__Impl ;
    public final void rule__Behaviour__Group_1_7__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4352:1: ( rule__Behaviour__Group_1_7__2__Impl )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4353:2: rule__Behaviour__Group_1_7__2__Impl
            {
            pushFollow(FOLLOW_rule__Behaviour__Group_1_7__2__Impl_in_rule__Behaviour__Group_1_7__28644);
            rule__Behaviour__Group_1_7__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__2


    // $ANTLR start rule__Behaviour__Group_1_7__2__Impl
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4359:1: rule__Behaviour__Group_1_7__2__Impl : ( ';' ) ;
    public final void rule__Behaviour__Group_1_7__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4363:1: ( ( ';' ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4364:1: ( ';' )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4364:1: ( ';' )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4365:1: ';'
            {
             before(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_7_2()); 
            match(input,15,FOLLOW_15_in_rule__Behaviour__Group_1_7__2__Impl8672); 
             after(grammarAccess.getBehaviourAccess().getSemColonKeyword_1_7_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__Group_1_7__2__Impl


    // $ANTLR start rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4385:1: rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0 : ( ruleSemanticWebAgent ) ;
    public final void rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4389:1: ( ( ruleSemanticWebAgent ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4390:1: ( ruleSemanticWebAgent )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4390:1: ( ruleSemanticWebAgent )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4391:1: ruleSemanticWebAgent
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_2_0_0_0()); 
            pushFollow(FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_08714);
            ruleSemanticWebAgent();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_2_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0


    // $ANTLR start rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4400:1: rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1 : ( ruleCapabilities ) ;
    public final void rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4404:1: ( ( ruleCapabilities ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4405:1: ( ruleCapabilities )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4405:1: ( ruleCapabilities )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4406:1: ruleCapabilities
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_2_0_1_0()); 
            pushFollow(FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_18745);
            ruleCapabilities();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_2_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1


    // $ANTLR start rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4415:1: rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0 : ( ruleCapabilities ) ;
    public final void rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4419:1: ( ( ruleCapabilities ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4420:1: ( ruleCapabilities )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4420:1: ( ruleCapabilities )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4421:1: ruleCapabilities
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_2_1_0_0()); 
            pushFollow(FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_08776);
            ruleCapabilities();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_2_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0


    // $ANTLR start rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4430:1: rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1 : ( ruleSemanticWebAgent ) ;
    public final void rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4434:1: ( ( ruleSemanticWebAgent ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4435:1: ( ruleSemanticWebAgent )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4435:1: ( ruleSemanticWebAgent )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4436:1: ruleSemanticWebAgent
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_2_1_1_0()); 
            pushFollow(FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_18807);
            ruleSemanticWebAgent();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1


    // $ANTLR start rule__AgentInternalViewpoint__BeliefAssignment_3_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4445:1: rule__AgentInternalViewpoint__BeliefAssignment_3_0 : ( ruleBelief ) ;
    public final void rule__AgentInternalViewpoint__BeliefAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4449:1: ( ( ruleBelief ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4450:1: ( ruleBelief )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4450:1: ( ruleBelief )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4451:1: ruleBelief
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getBeliefBeliefParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleBelief_in_rule__AgentInternalViewpoint__BeliefAssignment_3_08838);
            ruleBelief();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getBeliefBeliefParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__BeliefAssignment_3_0


    // $ANTLR start rule__AgentInternalViewpoint__GoalAssignment_3_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4460:1: rule__AgentInternalViewpoint__GoalAssignment_3_1 : ( ruleGoal ) ;
    public final void rule__AgentInternalViewpoint__GoalAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4464:1: ( ( ruleGoal ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4465:1: ( ruleGoal )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4465:1: ( ruleGoal )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4466:1: ruleGoal
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getGoalGoalParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleGoal_in_rule__AgentInternalViewpoint__GoalAssignment_3_18869);
            ruleGoal();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getGoalGoalParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__GoalAssignment_3_1


    // $ANTLR start rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4475:1: rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2 : ( ruleCapabilities ) ;
    public final void rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4479:1: ( ( ruleCapabilities ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4480:1: ( ruleCapabilities )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4480:1: ( ruleCapabilities )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4481:1: ruleCapabilities
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_3_2_0()); 
            pushFollow(FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_3_28900);
            ruleCapabilities();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getCapabilitiesCapabilitiesParserRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2


    // $ANTLR start rule__AgentInternalViewpoint__AgentstateAssignment_3_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4490:1: rule__AgentInternalViewpoint__AgentstateAssignment_3_3 : ( ruleAgentState ) ;
    public final void rule__AgentInternalViewpoint__AgentstateAssignment_3_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4494:1: ( ( ruleAgentState ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4495:1: ( ruleAgentState )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4495:1: ( ruleAgentState )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4496:1: ruleAgentState
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getAgentstateAgentStateParserRuleCall_3_3_0()); 
            pushFollow(FOLLOW_ruleAgentState_in_rule__AgentInternalViewpoint__AgentstateAssignment_3_38931);
            ruleAgentState();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getAgentstateAgentStateParserRuleCall_3_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__AgentstateAssignment_3_3


    // $ANTLR start rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4505:1: rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4 : ( ruleSemanticWebAgent ) ;
    public final void rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4509:1: ( ( ruleSemanticWebAgent ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4510:1: ( ruleSemanticWebAgent )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4510:1: ( ruleSemanticWebAgent )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4511:1: ruleSemanticWebAgent
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_3_4_0()); 
            pushFollow(FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_48962);
            ruleSemanticWebAgent();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getSemanticwebagentSemanticWebAgentParserRuleCall_3_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4


    // $ANTLR start rule__AgentInternalViewpoint__RoleAssignment_3_5
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4520:1: rule__AgentInternalViewpoint__RoleAssignment_3_5 : ( ruleRole ) ;
    public final void rule__AgentInternalViewpoint__RoleAssignment_3_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4524:1: ( ( ruleRole ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4525:1: ( ruleRole )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4525:1: ( ruleRole )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4526:1: ruleRole
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getRoleRoleParserRuleCall_3_5_0()); 
            pushFollow(FOLLOW_ruleRole_in_rule__AgentInternalViewpoint__RoleAssignment_3_58993);
            ruleRole();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getRoleRoleParserRuleCall_3_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__RoleAssignment_3_5


    // $ANTLR start rule__AgentInternalViewpoint__PlanAssignment_3_6
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4535:1: rule__AgentInternalViewpoint__PlanAssignment_3_6 : ( rulePlan ) ;
    public final void rule__AgentInternalViewpoint__PlanAssignment_3_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4539:1: ( ( rulePlan ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4540:1: ( rulePlan )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4540:1: ( rulePlan )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4541:1: rulePlan
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getPlanPlanParserRuleCall_3_6_0()); 
            pushFollow(FOLLOW_rulePlan_in_rule__AgentInternalViewpoint__PlanAssignment_3_69024);
            rulePlan();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getPlanPlanParserRuleCall_3_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__PlanAssignment_3_6


    // $ANTLR start rule__AgentInternalViewpoint__AgenttypeAssignment_3_7
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4550:1: rule__AgentInternalViewpoint__AgenttypeAssignment_3_7 : ( ruleAgentType ) ;
    public final void rule__AgentInternalViewpoint__AgenttypeAssignment_3_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4554:1: ( ( ruleAgentType ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4555:1: ( ruleAgentType )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4555:1: ( ruleAgentType )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4556:1: ruleAgentType
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getAgenttypeAgentTypeParserRuleCall_3_7_0()); 
            pushFollow(FOLLOW_ruleAgentType_in_rule__AgentInternalViewpoint__AgenttypeAssignment_3_79055);
            ruleAgentType();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getAgenttypeAgentTypeParserRuleCall_3_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__AgenttypeAssignment_3_7


    // $ANTLR start rule__AgentInternalViewpoint__BehaviourAssignment_3_8
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4565:1: rule__AgentInternalViewpoint__BehaviourAssignment_3_8 : ( ruleBehaviour ) ;
    public final void rule__AgentInternalViewpoint__BehaviourAssignment_3_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4569:1: ( ( ruleBehaviour ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4570:1: ( ruleBehaviour )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4570:1: ( ruleBehaviour )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4571:1: ruleBehaviour
            {
             before(grammarAccess.getAgentInternalViewpointAccess().getBehaviourBehaviourParserRuleCall_3_8_0()); 
            pushFollow(FOLLOW_ruleBehaviour_in_rule__AgentInternalViewpoint__BehaviourAssignment_3_89086);
            ruleBehaviour();
            _fsp--;

             after(grammarAccess.getAgentInternalViewpointAccess().getBehaviourBehaviourParserRuleCall_3_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentInternalViewpoint__BehaviourAssignment_3_8


    // $ANTLR start rule__Belief__NameAssignment_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4580:1: rule__Belief__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Belief__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4584:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4585:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4585:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4586:1: RULE_ID
            {
             before(grammarAccess.getBeliefAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Belief__NameAssignment_19117); 
             after(grammarAccess.getBeliefAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__NameAssignment_1


    // $ANTLR start rule__Belief__DescriptionAssignment_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4595:1: rule__Belief__DescriptionAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Belief__DescriptionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4599:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4600:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4600:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4601:1: RULE_STRING
            {
             before(grammarAccess.getBeliefAccess().getDescriptionSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Belief__DescriptionAssignment_29148); 
             after(grammarAccess.getBeliefAccess().getDescriptionSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__DescriptionAssignment_2


    // $ANTLR start rule__Belief__DynamicAssignment_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4610:1: rule__Belief__DynamicAssignment_3 : ( RULE_INT ) ;
    public final void rule__Belief__DynamicAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4614:1: ( ( RULE_INT ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4615:1: ( RULE_INT )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4615:1: ( RULE_INT )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4616:1: RULE_INT
            {
             before(grammarAccess.getBeliefAccess().getDynamicINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Belief__DynamicAssignment_39179); 
             after(grammarAccess.getBeliefAccess().getDynamicINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Belief__DynamicAssignment_3


    // $ANTLR start rule__Goal__NameAssignment_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4625:1: rule__Goal__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Goal__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4629:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4630:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4630:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4631:1: RULE_ID
            {
             before(grammarAccess.getGoalAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Goal__NameAssignment_19210); 
             after(grammarAccess.getGoalAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__NameAssignment_1


    // $ANTLR start rule__Goal__DescriptionAssignment_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4640:1: rule__Goal__DescriptionAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Goal__DescriptionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4644:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4645:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4645:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4646:1: RULE_STRING
            {
             before(grammarAccess.getGoalAccess().getDescriptionSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Goal__DescriptionAssignment_29241); 
             after(grammarAccess.getGoalAccess().getDescriptionSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__DescriptionAssignment_2


    // $ANTLR start rule__Goal__RecurAssignment_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4655:1: rule__Goal__RecurAssignment_3 : ( RULE_INT ) ;
    public final void rule__Goal__RecurAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4659:1: ( ( RULE_INT ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4660:1: ( RULE_INT )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4660:1: ( RULE_INT )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4661:1: RULE_INT
            {
             before(grammarAccess.getGoalAccess().getRecurINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Goal__RecurAssignment_39272); 
             after(grammarAccess.getGoalAccess().getRecurINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Goal__RecurAssignment_3


    // $ANTLR start rule__Capabilities__NameAssignment_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4670:1: rule__Capabilities__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__Capabilities__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4674:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4675:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4675:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4676:1: RULE_ID
            {
             before(grammarAccess.getCapabilitiesAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Capabilities__NameAssignment_0_19303); 
             after(grammarAccess.getCapabilitiesAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__NameAssignment_0_1


    // $ANTLR start rule__Capabilities__DescriptionAssignment_0_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4685:1: rule__Capabilities__DescriptionAssignment_0_2 : ( RULE_STRING ) ;
    public final void rule__Capabilities__DescriptionAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4689:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4690:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4690:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4691:1: RULE_STRING
            {
             before(grammarAccess.getCapabilitiesAccess().getDescriptionSTRINGTerminalRuleCall_0_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Capabilities__DescriptionAssignment_0_29334); 
             after(grammarAccess.getCapabilitiesAccess().getDescriptionSTRINGTerminalRuleCall_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__DescriptionAssignment_0_2


    // $ANTLR start rule__Capabilities__CapAssignment_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4700:1: rule__Capabilities__CapAssignment_1_0 : ( ( RULE_ID ) ) ;
    public final void rule__Capabilities__CapAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4704:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4705:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4705:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4706:1: ( RULE_ID )
            {
             before(grammarAccess.getCapabilitiesAccess().getCapCapabilitiesCrossReference_1_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4707:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4708:1: RULE_ID
            {
             before(grammarAccess.getCapabilitiesAccess().getCapCapabilitiesIDTerminalRuleCall_1_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Capabilities__CapAssignment_1_09369); 
             after(grammarAccess.getCapabilitiesAccess().getCapCapabilitiesIDTerminalRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getCapabilitiesAccess().getCapCapabilitiesCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__CapAssignment_1_0


    // $ANTLR start rule__Capabilities__BeliefAssignment_1_2_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4719:1: rule__Capabilities__BeliefAssignment_1_2_0_1 : ( ( RULE_ID ) ) ;
    public final void rule__Capabilities__BeliefAssignment_1_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4723:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4724:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4724:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4725:1: ( RULE_ID )
            {
             before(grammarAccess.getCapabilitiesAccess().getBeliefBeliefCrossReference_1_2_0_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4726:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4727:1: RULE_ID
            {
             before(grammarAccess.getCapabilitiesAccess().getBeliefBeliefIDTerminalRuleCall_1_2_0_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Capabilities__BeliefAssignment_1_2_0_19408); 
             after(grammarAccess.getCapabilitiesAccess().getBeliefBeliefIDTerminalRuleCall_1_2_0_1_0_1()); 

            }

             after(grammarAccess.getCapabilitiesAccess().getBeliefBeliefCrossReference_1_2_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__BeliefAssignment_1_2_0_1


    // $ANTLR start rule__Capabilities__GoalAssignment_1_2_1_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4738:1: rule__Capabilities__GoalAssignment_1_2_1_1 : ( ( RULE_ID ) ) ;
    public final void rule__Capabilities__GoalAssignment_1_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4742:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4743:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4743:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4744:1: ( RULE_ID )
            {
             before(grammarAccess.getCapabilitiesAccess().getGoalGoalCrossReference_1_2_1_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4745:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4746:1: RULE_ID
            {
             before(grammarAccess.getCapabilitiesAccess().getGoalGoalIDTerminalRuleCall_1_2_1_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Capabilities__GoalAssignment_1_2_1_19447); 
             after(grammarAccess.getCapabilitiesAccess().getGoalGoalIDTerminalRuleCall_1_2_1_1_0_1()); 

            }

             after(grammarAccess.getCapabilitiesAccess().getGoalGoalCrossReference_1_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__GoalAssignment_1_2_1_1


    // $ANTLR start rule__Capabilities__PlanAssignment_1_2_2_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4757:1: rule__Capabilities__PlanAssignment_1_2_2_1 : ( ( RULE_ID ) ) ;
    public final void rule__Capabilities__PlanAssignment_1_2_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4761:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4762:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4762:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4763:1: ( RULE_ID )
            {
             before(grammarAccess.getCapabilitiesAccess().getPlanPlanCrossReference_1_2_2_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4764:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4765:1: RULE_ID
            {
             before(grammarAccess.getCapabilitiesAccess().getPlanPlanIDTerminalRuleCall_1_2_2_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Capabilities__PlanAssignment_1_2_2_19486); 
             after(grammarAccess.getCapabilitiesAccess().getPlanPlanIDTerminalRuleCall_1_2_2_1_0_1()); 

            }

             after(grammarAccess.getCapabilitiesAccess().getPlanPlanCrossReference_1_2_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Capabilities__PlanAssignment_1_2_2_1


    // $ANTLR start rule__AgentState__NameAssignment_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4776:1: rule__AgentState__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__AgentState__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4780:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4781:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4781:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4782:1: RULE_ID
            {
             before(grammarAccess.getAgentStateAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AgentState__NameAssignment_19521); 
             after(grammarAccess.getAgentStateAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentState__NameAssignment_1


    // $ANTLR start rule__SemanticWebAgent__NameAssignment_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4791:1: rule__SemanticWebAgent__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__SemanticWebAgent__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4795:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4796:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4796:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4797:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__NameAssignment_0_19552); 
             after(grammarAccess.getSemanticWebAgentAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__NameAssignment_0_1


    // $ANTLR start rule__SemanticWebAgent__DescriptionAssignment_0_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4806:1: rule__SemanticWebAgent__DescriptionAssignment_0_2 : ( RULE_STRING ) ;
    public final void rule__SemanticWebAgent__DescriptionAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4810:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4811:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4811:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4812:1: RULE_STRING
            {
             before(grammarAccess.getSemanticWebAgentAccess().getDescriptionSTRINGTerminalRuleCall_0_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__SemanticWebAgent__DescriptionAssignment_0_29583); 
             after(grammarAccess.getSemanticWebAgentAccess().getDescriptionSTRINGTerminalRuleCall_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__DescriptionAssignment_0_2


    // $ANTLR start rule__SemanticWebAgent__PropertiesAssignment_0_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4821:1: rule__SemanticWebAgent__PropertiesAssignment_0_3 : ( RULE_STRING ) ;
    public final void rule__SemanticWebAgent__PropertiesAssignment_0_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4825:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4826:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4826:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4827:1: RULE_STRING
            {
             before(grammarAccess.getSemanticWebAgentAccess().getPropertiesSTRINGTerminalRuleCall_0_3_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__SemanticWebAgent__PropertiesAssignment_0_39614); 
             after(grammarAccess.getSemanticWebAgentAccess().getPropertiesSTRINGTerminalRuleCall_0_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__PropertiesAssignment_0_3


    // $ANTLR start rule__SemanticWebAgent__SemanticwebagentAssignment_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4836:1: rule__SemanticWebAgent__SemanticwebagentAssignment_1_0 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__SemanticwebagentAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4840:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4841:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4841:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4842:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentSemanticWebAgentCrossReference_1_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4843:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4844:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentSemanticWebAgentIDTerminalRuleCall_1_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__SemanticwebagentAssignment_1_09649); 
             after(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentSemanticWebAgentIDTerminalRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getSemanticwebagentSemanticWebAgentCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__SemanticwebagentAssignment_1_0


    // $ANTLR start rule__SemanticWebAgent__AgentstateAssignment_1_1_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4855:1: rule__SemanticWebAgent__AgentstateAssignment_1_1_2 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__AgentstateAssignment_1_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4859:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4860:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4860:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4861:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgentstateAgentStateCrossReference_1_1_2_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4862:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4863:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgentstateAgentStateIDTerminalRuleCall_1_1_2_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__AgentstateAssignment_1_1_29688); 
             after(grammarAccess.getSemanticWebAgentAccess().getAgentstateAgentStateIDTerminalRuleCall_1_1_2_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getAgentstateAgentStateCrossReference_1_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__AgentstateAssignment_1_1_2


    // $ANTLR start rule__SemanticWebAgent__CapAssignment_1_1_4_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4874:1: rule__SemanticWebAgent__CapAssignment_1_1_4_1 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__CapAssignment_1_1_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4878:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4879:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4879:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4880:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesCrossReference_1_1_4_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4881:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4882:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesIDTerminalRuleCall_1_1_4_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__CapAssignment_1_1_4_19727); 
             after(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesIDTerminalRuleCall_1_1_4_1_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesCrossReference_1_1_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__CapAssignment_1_1_4_1


    // $ANTLR start rule__SemanticWebAgent__CapAssignment_1_1_6
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4893:1: rule__SemanticWebAgent__CapAssignment_1_1_6 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__CapAssignment_1_1_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4897:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4898:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4898:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4899:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesCrossReference_1_1_6_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4900:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4901:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesIDTerminalRuleCall_1_1_6_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__CapAssignment_1_1_69766); 
             after(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesIDTerminalRuleCall_1_1_6_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getCapCapabilitiesCrossReference_1_1_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__CapAssignment_1_1_6


    // $ANTLR start rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4912:1: rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4916:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4917:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4917:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4918:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAgentTypeCrossReference_1_1_8_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4919:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4920:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAgentTypeIDTerminalRuleCall_1_1_8_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_19805); 
             after(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAgentTypeIDTerminalRuleCall_1_1_8_1_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getAgenttypeAgentTypeCrossReference_1_1_8_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1


    // $ANTLR start rule__SemanticWebAgent__RoleAssignment_1_1_10
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4931:1: rule__SemanticWebAgent__RoleAssignment_1_1_10 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__RoleAssignment_1_1_10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4935:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4936:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4936:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4937:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleRoleCrossReference_1_1_10_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4938:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4939:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleRoleIDTerminalRuleCall_1_1_10_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__RoleAssignment_1_1_109844); 
             after(grammarAccess.getSemanticWebAgentAccess().getRoleRoleIDTerminalRuleCall_1_1_10_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getRoleRoleCrossReference_1_1_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__RoleAssignment_1_1_10


    // $ANTLR start rule__SemanticWebAgent__RoleAssignment_1_1_12_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4950:1: rule__SemanticWebAgent__RoleAssignment_1_1_12_1 : ( ( RULE_ID ) ) ;
    public final void rule__SemanticWebAgent__RoleAssignment_1_1_12_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4954:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4955:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4955:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4956:1: ( RULE_ID )
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleRoleCrossReference_1_1_12_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4957:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4958:1: RULE_ID
            {
             before(grammarAccess.getSemanticWebAgentAccess().getRoleRoleIDTerminalRuleCall_1_1_12_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SemanticWebAgent__RoleAssignment_1_1_12_19883); 
             after(grammarAccess.getSemanticWebAgentAccess().getRoleRoleIDTerminalRuleCall_1_1_12_1_0_1()); 

            }

             after(grammarAccess.getSemanticWebAgentAccess().getRoleRoleCrossReference_1_1_12_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__SemanticWebAgent__RoleAssignment_1_1_12_1


    // $ANTLR start rule__Role__NameAssignment_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4969:1: rule__Role__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__Role__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4973:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4974:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4974:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4975:1: RULE_ID
            {
             before(grammarAccess.getRoleAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Role__NameAssignment_0_19918); 
             after(grammarAccess.getRoleAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__NameAssignment_0_1


    // $ANTLR start rule__Role__RoleAssignment_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4984:1: rule__Role__RoleAssignment_1_0 : ( ( RULE_ID ) ) ;
    public final void rule__Role__RoleAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4988:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4989:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4989:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4990:1: ( RULE_ID )
            {
             before(grammarAccess.getRoleAccess().getRoleRoleCrossReference_1_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4991:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:4992:1: RULE_ID
            {
             before(grammarAccess.getRoleAccess().getRoleRoleIDTerminalRuleCall_1_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Role__RoleAssignment_1_09953); 
             after(grammarAccess.getRoleAccess().getRoleRoleIDTerminalRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getRoleAccess().getRoleRoleCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__RoleAssignment_1_0


    // $ANTLR start rule__Role__BehAssignment_1_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5003:1: rule__Role__BehAssignment_1_3 : ( ( RULE_ID ) ) ;
    public final void rule__Role__BehAssignment_1_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5007:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5008:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5008:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5009:1: ( RULE_ID )
            {
             before(grammarAccess.getRoleAccess().getBehBehaviourCrossReference_1_3_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5010:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5011:1: RULE_ID
            {
             before(grammarAccess.getRoleAccess().getBehBehaviourIDTerminalRuleCall_1_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Role__BehAssignment_1_39992); 
             after(grammarAccess.getRoleAccess().getBehBehaviourIDTerminalRuleCall_1_3_0_1()); 

            }

             after(grammarAccess.getRoleAccess().getBehBehaviourCrossReference_1_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__BehAssignment_1_3


    // $ANTLR start rule__Role__BehAssignment_1_5_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5022:1: rule__Role__BehAssignment_1_5_1 : ( ( RULE_ID ) ) ;
    public final void rule__Role__BehAssignment_1_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5026:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5027:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5027:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5028:1: ( RULE_ID )
            {
             before(grammarAccess.getRoleAccess().getBehBehaviourCrossReference_1_5_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5029:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5030:1: RULE_ID
            {
             before(grammarAccess.getRoleAccess().getBehBehaviourIDTerminalRuleCall_1_5_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Role__BehAssignment_1_5_110031); 
             after(grammarAccess.getRoleAccess().getBehBehaviourIDTerminalRuleCall_1_5_1_0_1()); 

            }

             after(grammarAccess.getRoleAccess().getBehBehaviourCrossReference_1_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Role__BehAssignment_1_5_1


    // $ANTLR start rule__Plan__NameAssignment_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5041:1: rule__Plan__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__Plan__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5045:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5046:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5046:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5047:1: RULE_ID
            {
             before(grammarAccess.getPlanAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Plan__NameAssignment_0_110066); 
             after(grammarAccess.getPlanAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__NameAssignment_0_1


    // $ANTLR start rule__Plan__TypeAssignment_0_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5056:1: rule__Plan__TypeAssignment_0_2 : ( RULE_STRING ) ;
    public final void rule__Plan__TypeAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5060:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5061:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5061:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5062:1: RULE_STRING
            {
             before(grammarAccess.getPlanAccess().getTypeSTRINGTerminalRuleCall_0_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Plan__TypeAssignment_0_210097); 
             after(grammarAccess.getPlanAccess().getTypeSTRINGTerminalRuleCall_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__TypeAssignment_0_2


    // $ANTLR start rule__Plan__DescriptionAssignment_0_3
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5071:1: rule__Plan__DescriptionAssignment_0_3 : ( RULE_STRING ) ;
    public final void rule__Plan__DescriptionAssignment_0_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5075:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5076:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5076:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5077:1: RULE_STRING
            {
             before(grammarAccess.getPlanAccess().getDescriptionSTRINGTerminalRuleCall_0_3_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Plan__DescriptionAssignment_0_310128); 
             after(grammarAccess.getPlanAccess().getDescriptionSTRINGTerminalRuleCall_0_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__DescriptionAssignment_0_3


    // $ANTLR start rule__Plan__PriorityAssignment_0_4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5086:1: rule__Plan__PriorityAssignment_0_4 : ( RULE_INT ) ;
    public final void rule__Plan__PriorityAssignment_0_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5090:1: ( ( RULE_INT ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5091:1: ( RULE_INT )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5091:1: ( RULE_INT )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5092:1: RULE_INT
            {
             before(grammarAccess.getPlanAccess().getPriorityINTTerminalRuleCall_0_4_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Plan__PriorityAssignment_0_410159); 
             after(grammarAccess.getPlanAccess().getPriorityINTTerminalRuleCall_0_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__PriorityAssignment_0_4


    // $ANTLR start rule__Plan__PlanAssignment_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5101:1: rule__Plan__PlanAssignment_1_0 : ( ( RULE_ID ) ) ;
    public final void rule__Plan__PlanAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5105:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5106:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5106:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5107:1: ( RULE_ID )
            {
             before(grammarAccess.getPlanAccess().getPlanPlanCrossReference_1_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5108:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5109:1: RULE_ID
            {
             before(grammarAccess.getPlanAccess().getPlanPlanIDTerminalRuleCall_1_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Plan__PlanAssignment_1_010194); 
             after(grammarAccess.getPlanAccess().getPlanPlanIDTerminalRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getPlanAccess().getPlanPlanCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__PlanAssignment_1_0


    // $ANTLR start rule__Plan__GoalAssignment_1_2_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5120:1: rule__Plan__GoalAssignment_1_2_1 : ( ( RULE_ID ) ) ;
    public final void rule__Plan__GoalAssignment_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5124:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5125:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5125:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5126:1: ( RULE_ID )
            {
             before(grammarAccess.getPlanAccess().getGoalGoalCrossReference_1_2_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5127:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5128:1: RULE_ID
            {
             before(grammarAccess.getPlanAccess().getGoalGoalIDTerminalRuleCall_1_2_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Plan__GoalAssignment_1_2_110233); 
             after(grammarAccess.getPlanAccess().getGoalGoalIDTerminalRuleCall_1_2_1_0_1()); 

            }

             after(grammarAccess.getPlanAccess().getGoalGoalCrossReference_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Plan__GoalAssignment_1_2_1


    // $ANTLR start rule__AgentType__NameAssignment_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5139:1: rule__AgentType__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__AgentType__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5143:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5144:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5144:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5145:1: RULE_ID
            {
             before(grammarAccess.getAgentTypeAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AgentType__NameAssignment_110268); 
             after(grammarAccess.getAgentTypeAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__AgentType__NameAssignment_1


    // $ANTLR start rule__Behaviour__NameAssignment_0_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5154:1: rule__Behaviour__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__Behaviour__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5158:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5159:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5159:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5160:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__NameAssignment_0_110299); 
             after(grammarAccess.getBehaviourAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__NameAssignment_0_1


    // $ANTLR start rule__Behaviour__ResidentAssignment_0_2
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5169:1: rule__Behaviour__ResidentAssignment_0_2 : ( RULE_INT ) ;
    public final void rule__Behaviour__ResidentAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5173:1: ( ( RULE_INT ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5174:1: ( RULE_INT )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5174:1: ( RULE_INT )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5175:1: RULE_INT
            {
             before(grammarAccess.getBehaviourAccess().getResidentINTTerminalRuleCall_0_2_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Behaviour__ResidentAssignment_0_210330); 
             after(grammarAccess.getBehaviourAccess().getResidentINTTerminalRuleCall_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__ResidentAssignment_0_2


    // $ANTLR start rule__Behaviour__BehAssignment_1_0
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5184:1: rule__Behaviour__BehAssignment_1_0 : ( ( RULE_ID ) ) ;
    public final void rule__Behaviour__BehAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5188:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5189:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5189:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5190:1: ( RULE_ID )
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_0_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5191:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5192:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_010365); 
             after(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_0_0_1()); 

            }

             after(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__BehAssignment_1_0


    // $ANTLR start rule__Behaviour__PlanAssignment_1_2_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5203:1: rule__Behaviour__PlanAssignment_1_2_1 : ( ( RULE_ID ) ) ;
    public final void rule__Behaviour__PlanAssignment_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5207:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5208:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5208:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5209:1: ( RULE_ID )
            {
             before(grammarAccess.getBehaviourAccess().getPlanPlanCrossReference_1_2_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5210:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5211:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getPlanPlanIDTerminalRuleCall_1_2_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__PlanAssignment_1_2_110404); 
             after(grammarAccess.getBehaviourAccess().getPlanPlanIDTerminalRuleCall_1_2_1_0_1()); 

            }

             after(grammarAccess.getBehaviourAccess().getPlanPlanCrossReference_1_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__PlanAssignment_1_2_1


    // $ANTLR start rule__Behaviour__BehAssignment_1_4
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5222:1: rule__Behaviour__BehAssignment_1_4 : ( ( RULE_ID ) ) ;
    public final void rule__Behaviour__BehAssignment_1_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5226:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5227:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5227:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5228:1: ( RULE_ID )
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_4_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5229:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5230:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_4_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_410443); 
             after(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_4_0_1()); 

            }

             after(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__BehAssignment_1_4


    // $ANTLR start rule__Behaviour__BehAssignment_1_6_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5241:1: rule__Behaviour__BehAssignment_1_6_1 : ( ( RULE_ID ) ) ;
    public final void rule__Behaviour__BehAssignment_1_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5245:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5246:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5246:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5247:1: ( RULE_ID )
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_6_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5248:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5249:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_6_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_6_110482); 
             after(grammarAccess.getBehaviourAccess().getBehBehaviourIDTerminalRuleCall_1_6_1_0_1()); 

            }

             after(grammarAccess.getBehaviourAccess().getBehBehaviourCrossReference_1_6_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__BehAssignment_1_6_1


    // $ANTLR start rule__Behaviour__PlanAssignment_1_7_1
    // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5260:1: rule__Behaviour__PlanAssignment_1_7_1 : ( ( RULE_ID ) ) ;
    public final void rule__Behaviour__PlanAssignment_1_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5264:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5265:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5265:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5266:1: ( RULE_ID )
            {
             before(grammarAccess.getBehaviourAccess().getPlanPlanCrossReference_1_7_1_0()); 
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5267:1: ( RULE_ID )
            // ../org.xtext.example.mydsl3.ui/src-gen/org/xtext/example/mydsl3/ui/contentassist/antlr/internal/InternalMyDsl.g:5268:1: RULE_ID
            {
             before(grammarAccess.getBehaviourAccess().getPlanPlanIDTerminalRuleCall_1_7_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Behaviour__PlanAssignment_1_7_110521); 
             after(grammarAccess.getBehaviourAccess().getPlanPlanIDTerminalRuleCall_1_7_1_0_1()); 

            }

             after(grammarAccess.getBehaviourAccess().getPlanPlanCrossReference_1_7_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Behaviour__PlanAssignment_1_7_1


 

    public static final BitSet FOLLOW_ruleAgentInternalViewpoint_in_entryRuleAgentInternalViewpoint61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAgentInternalViewpoint68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__0_in_ruleAgentInternalViewpoint94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBelief_in_entryRuleBelief121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBelief128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__0_in_ruleBelief154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGoal_in_entryRuleGoal181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGoal188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__0_in_ruleGoal214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCapabilities_in_entryRuleCapabilities241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCapabilities248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Alternatives_in_ruleCapabilities274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAgentState_in_entryRuleAgentState301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAgentState308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentState__Group__0_in_ruleAgentState334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemanticWebAgent_in_entryRuleSemanticWebAgent361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSemanticWebAgent368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Alternatives_in_ruleSemanticWebAgent394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRole_in_entryRuleRole421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRole428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Alternatives_in_ruleRole454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlan_in_entryRulePlan481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlan488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Alternatives_in_rulePlan514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAgentType_in_entryRuleAgentType541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAgentType548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentType__Group__0_in_ruleAgentType574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBehaviour_in_entryRuleBehaviour601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBehaviour608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Alternatives_in_ruleBehaviour634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_0__0_in_rule__AgentInternalViewpoint__Alternatives_2670 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_1__0_in_rule__AgentInternalViewpoint__Alternatives_2688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__BeliefAssignment_3_0_in_rule__AgentInternalViewpoint__Alternatives_3721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__GoalAssignment_3_1_in_rule__AgentInternalViewpoint__Alternatives_3739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_3_2_in_rule__AgentInternalViewpoint__Alternatives_3757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__AgentstateAssignment_3_3_in_rule__AgentInternalViewpoint__Alternatives_3775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_4_in_rule__AgentInternalViewpoint__Alternatives_3793 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__RoleAssignment_3_5_in_rule__AgentInternalViewpoint__Alternatives_3811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__PlanAssignment_3_6_in_rule__AgentInternalViewpoint__Alternatives_3829 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__AgenttypeAssignment_3_7_in_rule__AgentInternalViewpoint__Alternatives_3847 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__BehaviourAssignment_3_8_in_rule__AgentInternalViewpoint__Alternatives_3865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__0_in_rule__Capabilities__Alternatives898 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__0_in_rule__Capabilities__Alternatives916 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__0_in_rule__Capabilities__Alternatives_1_2949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__0_in_rule__Capabilities__Alternatives_1_2967 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__0_in_rule__Capabilities__Alternatives_1_2985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__0_in_rule__SemanticWebAgent__Alternatives1018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__0_in_rule__SemanticWebAgent__Alternatives1036 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_0__0_in_rule__Role__Alternatives1069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__0_in_rule__Role__Alternatives1087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__0_in_rule__Plan__Alternatives1120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__0_in_rule__Plan__Alternatives1138 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__0_in_rule__Behaviour__Alternatives1171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__0_in_rule__Behaviour__Alternatives1189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__0__Impl_in_rule__AgentInternalViewpoint__Group__01220 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__1_in_rule__AgentInternalViewpoint__Group__01223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__AgentInternalViewpoint__Group__0__Impl1251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__1__Impl_in_rule__AgentInternalViewpoint__Group__11282 = new BitSet(new long[]{0x0000000000420010L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__2_in_rule__AgentInternalViewpoint__Group__11285 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__AgentInternalViewpoint__Group__1__Impl1313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__2__Impl_in_rule__AgentInternalViewpoint__Group__21344 = new BitSet(new long[]{0x000000006C636010L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__3_in_rule__AgentInternalViewpoint__Group__21347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Alternatives_2_in_rule__AgentInternalViewpoint__Group__2__Impl1374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__3__Impl_in_rule__AgentInternalViewpoint__Group__31404 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__4_in_rule__AgentInternalViewpoint__Group__31407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Alternatives_3_in_rule__AgentInternalViewpoint__Group__3__Impl1434 = new BitSet(new long[]{0x000000006C634012L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group__4__Impl_in_rule__AgentInternalViewpoint__Group__41465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__AgentInternalViewpoint__Group__4__Impl1493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_0__0__Impl_in_rule__AgentInternalViewpoint__Group_2_0__01534 = new BitSet(new long[]{0x0000000000020010L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_0__1_in_rule__AgentInternalViewpoint__Group_2_0__01537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_0_in_rule__AgentInternalViewpoint__Group_2_0__0__Impl1564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_0__1__Impl_in_rule__AgentInternalViewpoint__Group_2_0__11594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_1_in_rule__AgentInternalViewpoint__Group_2_0__1__Impl1621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_1__0__Impl_in_rule__AgentInternalViewpoint__Group_2_1__01655 = new BitSet(new long[]{0x0000000000400010L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_1__1_in_rule__AgentInternalViewpoint__Group_2_1__01658 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_0_in_rule__AgentInternalViewpoint__Group_2_1__0__Impl1685 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__Group_2_1__1__Impl_in_rule__AgentInternalViewpoint__Group_2_1__11715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_1_in_rule__AgentInternalViewpoint__Group_2_1__1__Impl1742 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__0__Impl_in_rule__Belief__Group__01776 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Belief__Group__1_in_rule__Belief__Group__01779 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Belief__Group__0__Impl1807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__1__Impl_in_rule__Belief__Group__11838 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Belief__Group__2_in_rule__Belief__Group__11841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__NameAssignment_1_in_rule__Belief__Group__1__Impl1868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__2__Impl_in_rule__Belief__Group__21898 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Belief__Group__3_in_rule__Belief__Group__21901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__DescriptionAssignment_2_in_rule__Belief__Group__2__Impl1928 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__3__Impl_in_rule__Belief__Group__31958 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Belief__Group__4_in_rule__Belief__Group__31961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__DynamicAssignment_3_in_rule__Belief__Group__3__Impl1988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Belief__Group__4__Impl_in_rule__Belief__Group__42018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Belief__Group__4__Impl2046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__0__Impl_in_rule__Goal__Group__02087 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Goal__Group__1_in_rule__Goal__Group__02090 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Goal__Group__0__Impl2118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__1__Impl_in_rule__Goal__Group__12149 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Goal__Group__2_in_rule__Goal__Group__12152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__NameAssignment_1_in_rule__Goal__Group__1__Impl2179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__2__Impl_in_rule__Goal__Group__22209 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Goal__Group__3_in_rule__Goal__Group__22212 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__DescriptionAssignment_2_in_rule__Goal__Group__2__Impl2239 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__3__Impl_in_rule__Goal__Group__32269 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Goal__Group__4_in_rule__Goal__Group__32272 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__RecurAssignment_3_in_rule__Goal__Group__3__Impl2299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Goal__Group__4__Impl_in_rule__Goal__Group__42329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Goal__Group__4__Impl2357 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__0__Impl_in_rule__Capabilities__Group_0__02398 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__1_in_rule__Capabilities__Group_0__02401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Capabilities__Group_0__0__Impl2429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__1__Impl_in_rule__Capabilities__Group_0__12460 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__2_in_rule__Capabilities__Group_0__12463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__NameAssignment_0_1_in_rule__Capabilities__Group_0__1__Impl2490 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__2__Impl_in_rule__Capabilities__Group_0__22520 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__3_in_rule__Capabilities__Group_0__22523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__DescriptionAssignment_0_2_in_rule__Capabilities__Group_0__2__Impl2550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_0__3__Impl_in_rule__Capabilities__Group_0__32580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Capabilities__Group_0__3__Impl2608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__0__Impl_in_rule__Capabilities__Group_1__02647 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__1_in_rule__Capabilities__Group_1__02650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__CapAssignment_1_0_in_rule__Capabilities__Group_1__0__Impl2677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__1__Impl_in_rule__Capabilities__Group_1__12707 = new BitSet(new long[]{0x00000000001C2000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__2_in_rule__Capabilities__Group_1__12710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Capabilities__Group_1__1__Impl2738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__2__Impl_in_rule__Capabilities__Group_1__22769 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__3_in_rule__Capabilities__Group_1__22772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Alternatives_1_2_in_rule__Capabilities__Group_1__2__Impl2799 = new BitSet(new long[]{0x00000000001C0002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1__3__Impl_in_rule__Capabilities__Group_1__32830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Capabilities__Group_1__3__Impl2858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__0__Impl_in_rule__Capabilities__Group_1_2_0__02897 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__1_in_rule__Capabilities__Group_1_2_0__02900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Capabilities__Group_1_2_0__0__Impl2928 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__1__Impl_in_rule__Capabilities__Group_1_2_0__12959 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__2_in_rule__Capabilities__Group_1_2_0__12962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__BeliefAssignment_1_2_0_1_in_rule__Capabilities__Group_1_2_0__1__Impl2989 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_0__2__Impl_in_rule__Capabilities__Group_1_2_0__23019 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Capabilities__Group_1_2_0__2__Impl3047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__0__Impl_in_rule__Capabilities__Group_1_2_1__03084 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__1_in_rule__Capabilities__Group_1_2_1__03087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Capabilities__Group_1_2_1__0__Impl3115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__1__Impl_in_rule__Capabilities__Group_1_2_1__13146 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__2_in_rule__Capabilities__Group_1_2_1__13149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__GoalAssignment_1_2_1_1_in_rule__Capabilities__Group_1_2_1__1__Impl3176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_1__2__Impl_in_rule__Capabilities__Group_1_2_1__23206 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Capabilities__Group_1_2_1__2__Impl3234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__0__Impl_in_rule__Capabilities__Group_1_2_2__03271 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__1_in_rule__Capabilities__Group_1_2_2__03274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Capabilities__Group_1_2_2__0__Impl3302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__1__Impl_in_rule__Capabilities__Group_1_2_2__13333 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__2_in_rule__Capabilities__Group_1_2_2__13336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__PlanAssignment_1_2_2_1_in_rule__Capabilities__Group_1_2_2__1__Impl3363 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Capabilities__Group_1_2_2__2__Impl_in_rule__Capabilities__Group_1_2_2__23393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Capabilities__Group_1_2_2__2__Impl3421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentState__Group__0__Impl_in_rule__AgentState__Group__03458 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__AgentState__Group__1_in_rule__AgentState__Group__03461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__AgentState__Group__0__Impl3489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentState__Group__1__Impl_in_rule__AgentState__Group__13520 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__AgentState__Group__2_in_rule__AgentState__Group__13523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentState__NameAssignment_1_in_rule__AgentState__Group__1__Impl3550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentState__Group__2__Impl_in_rule__AgentState__Group__23580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__AgentState__Group__2__Impl3608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__0__Impl_in_rule__SemanticWebAgent__Group_0__03645 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__1_in_rule__SemanticWebAgent__Group_0__03648 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__SemanticWebAgent__Group_0__0__Impl3676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__1__Impl_in_rule__SemanticWebAgent__Group_0__13707 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__2_in_rule__SemanticWebAgent__Group_0__13710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__NameAssignment_0_1_in_rule__SemanticWebAgent__Group_0__1__Impl3737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__2__Impl_in_rule__SemanticWebAgent__Group_0__23767 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__3_in_rule__SemanticWebAgent__Group_0__23770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__DescriptionAssignment_0_2_in_rule__SemanticWebAgent__Group_0__2__Impl3797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__3__Impl_in_rule__SemanticWebAgent__Group_0__33827 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__4_in_rule__SemanticWebAgent__Group_0__33830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__PropertiesAssignment_0_3_in_rule__SemanticWebAgent__Group_0__3__Impl3857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_0__4__Impl_in_rule__SemanticWebAgent__Group_0__43887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_0__4__Impl3915 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__0__Impl_in_rule__SemanticWebAgent__Group_1__03956 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__1_in_rule__SemanticWebAgent__Group_1__03959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__SemanticwebagentAssignment_1_0_in_rule__SemanticWebAgent__Group_1__0__Impl3986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__1__Impl_in_rule__SemanticWebAgent__Group_1__14016 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__2_in_rule__SemanticWebAgent__Group_1__14019 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__0_in_rule__SemanticWebAgent__Group_1__1__Impl4046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1__2__Impl_in_rule__SemanticWebAgent__Group_1__24076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__SemanticWebAgent__Group_1__2__Impl4104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__0__Impl_in_rule__SemanticWebAgent__Group_1_1__04141 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__1_in_rule__SemanticWebAgent__Group_1_1__04144 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__SemanticWebAgent__Group_1_1__0__Impl4172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__1__Impl_in_rule__SemanticWebAgent__Group_1_1__14203 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__2_in_rule__SemanticWebAgent__Group_1_1__14206 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__SemanticWebAgent__Group_1_1__1__Impl4234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__2__Impl_in_rule__SemanticWebAgent__Group_1_1__24265 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__3_in_rule__SemanticWebAgent__Group_1_1__24268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__AgentstateAssignment_1_1_2_in_rule__SemanticWebAgent__Group_1_1__2__Impl4295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__3__Impl_in_rule__SemanticWebAgent__Group_1_1__34325 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__4_in_rule__SemanticWebAgent__Group_1_1__34328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__3__Impl4356 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__4__Impl_in_rule__SemanticWebAgent__Group_1_1__44387 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__5_in_rule__SemanticWebAgent__Group_1_1__44390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__0_in_rule__SemanticWebAgent__Group_1_1__4__Impl4417 = new BitSet(new long[]{0x0000000000040002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__5__Impl_in_rule__SemanticWebAgent__Group_1_1__54448 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__6_in_rule__SemanticWebAgent__Group_1_1__54451 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__SemanticWebAgent__Group_1_1__5__Impl4479 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__6__Impl_in_rule__SemanticWebAgent__Group_1_1__64510 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__7_in_rule__SemanticWebAgent__Group_1_1__64513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__CapAssignment_1_1_6_in_rule__SemanticWebAgent__Group_1_1__6__Impl4540 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__7__Impl_in_rule__SemanticWebAgent__Group_1_1__74570 = new BitSet(new long[]{0x0000000003000000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__8_in_rule__SemanticWebAgent__Group_1_1__74573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__7__Impl4601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__8__Impl_in_rule__SemanticWebAgent__Group_1_1__84632 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__9_in_rule__SemanticWebAgent__Group_1_1__84635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__0_in_rule__SemanticWebAgent__Group_1_1__8__Impl4662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__9__Impl_in_rule__SemanticWebAgent__Group_1_1__94693 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__10_in_rule__SemanticWebAgent__Group_1_1__94696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__SemanticWebAgent__Group_1_1__9__Impl4724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__10__Impl_in_rule__SemanticWebAgent__Group_1_1__104755 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__11_in_rule__SemanticWebAgent__Group_1_1__104758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__RoleAssignment_1_1_10_in_rule__SemanticWebAgent__Group_1_1__10__Impl4785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__11__Impl_in_rule__SemanticWebAgent__Group_1_1__114815 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__12_in_rule__SemanticWebAgent__Group_1_1__114818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1__11__Impl4846 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1__12__Impl_in_rule__SemanticWebAgent__Group_1_1__124877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__0_in_rule__SemanticWebAgent__Group_1_1__12__Impl4904 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__0__Impl_in_rule__SemanticWebAgent__Group_1_1_4__04961 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__1_in_rule__SemanticWebAgent__Group_1_1_4__04964 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__SemanticWebAgent__Group_1_1_4__0__Impl4992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__1__Impl_in_rule__SemanticWebAgent__Group_1_1_4__15023 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__2_in_rule__SemanticWebAgent__Group_1_1_4__15026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__CapAssignment_1_1_4_1_in_rule__SemanticWebAgent__Group_1_1_4__1__Impl5053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_4__2__Impl_in_rule__SemanticWebAgent__Group_1_1_4__25083 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_4__2__Impl5111 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__0__Impl_in_rule__SemanticWebAgent__Group_1_1_8__05148 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__1_in_rule__SemanticWebAgent__Group_1_1_8__05151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__SemanticWebAgent__Group_1_1_8__0__Impl5179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__1__Impl_in_rule__SemanticWebAgent__Group_1_1_8__15210 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__2_in_rule__SemanticWebAgent__Group_1_1_8__15213 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_1_in_rule__SemanticWebAgent__Group_1_1_8__1__Impl5240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_8__2__Impl_in_rule__SemanticWebAgent__Group_1_1_8__25270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_8__2__Impl5298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__0__Impl_in_rule__SemanticWebAgent__Group_1_1_12__05335 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__1_in_rule__SemanticWebAgent__Group_1_1_12__05338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__SemanticWebAgent__Group_1_1_12__0__Impl5366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__1__Impl_in_rule__SemanticWebAgent__Group_1_1_12__15397 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__2_in_rule__SemanticWebAgent__Group_1_1_12__15400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__RoleAssignment_1_1_12_1_in_rule__SemanticWebAgent__Group_1_1_12__1__Impl5427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SemanticWebAgent__Group_1_1_12__2__Impl_in_rule__SemanticWebAgent__Group_1_1_12__25457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__SemanticWebAgent__Group_1_1_12__2__Impl5485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_0__0__Impl_in_rule__Role__Group_0__05522 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Role__Group_0__1_in_rule__Role__Group_0__05525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Role__Group_0__0__Impl5553 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_0__1__Impl_in_rule__Role__Group_0__15584 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Role__Group_0__2_in_rule__Role__Group_0__15587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__NameAssignment_0_1_in_rule__Role__Group_0__1__Impl5614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_0__2__Impl_in_rule__Role__Group_0__25644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Role__Group_0__2__Impl5672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__0__Impl_in_rule__Role__Group_1__05709 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Role__Group_1__1_in_rule__Role__Group_1__05712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__RoleAssignment_1_0_in_rule__Role__Group_1__0__Impl5739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__1__Impl_in_rule__Role__Group_1__15769 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__Role__Group_1__2_in_rule__Role__Group_1__15772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Role__Group_1__1__Impl5800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__2__Impl_in_rule__Role__Group_1__25831 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Role__Group_1__3_in_rule__Role__Group_1__25834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Role__Group_1__2__Impl5862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__3__Impl_in_rule__Role__Group_1__35893 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Role__Group_1__4_in_rule__Role__Group_1__35896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__BehAssignment_1_3_in_rule__Role__Group_1__3__Impl5923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__4__Impl_in_rule__Role__Group_1__45953 = new BitSet(new long[]{0x0000000002002000L});
    public static final BitSet FOLLOW_rule__Role__Group_1__5_in_rule__Role__Group_1__45956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Role__Group_1__4__Impl5984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__5__Impl_in_rule__Role__Group_1__56015 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Role__Group_1__6_in_rule__Role__Group_1__56018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__0_in_rule__Role__Group_1__5__Impl6045 = new BitSet(new long[]{0x0000000002000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1__6__Impl_in_rule__Role__Group_1__66076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Role__Group_1__6__Impl6104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__0__Impl_in_rule__Role__Group_1_5__06149 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__1_in_rule__Role__Group_1_5__06152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Role__Group_1_5__0__Impl6180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__1__Impl_in_rule__Role__Group_1_5__16211 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__2_in_rule__Role__Group_1_5__16214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__BehAssignment_1_5_1_in_rule__Role__Group_1_5__1__Impl6241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Role__Group_1_5__2__Impl_in_rule__Role__Group_1_5__26271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Role__Group_1_5__2__Impl6299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__0__Impl_in_rule__Plan__Group_0__06336 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__1_in_rule__Plan__Group_0__06339 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Plan__Group_0__0__Impl6367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__1__Impl_in_rule__Plan__Group_0__16398 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__2_in_rule__Plan__Group_0__16401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__NameAssignment_0_1_in_rule__Plan__Group_0__1__Impl6428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__2__Impl_in_rule__Plan__Group_0__26458 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__3_in_rule__Plan__Group_0__26461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__TypeAssignment_0_2_in_rule__Plan__Group_0__2__Impl6488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__3__Impl_in_rule__Plan__Group_0__36518 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__4_in_rule__Plan__Group_0__36521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__DescriptionAssignment_0_3_in_rule__Plan__Group_0__3__Impl6548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__4__Impl_in_rule__Plan__Group_0__46578 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__5_in_rule__Plan__Group_0__46581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__PriorityAssignment_0_4_in_rule__Plan__Group_0__4__Impl6608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_0__5__Impl_in_rule__Plan__Group_0__56638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Plan__Group_0__5__Impl6666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__0__Impl_in_rule__Plan__Group_1__06709 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__1_in_rule__Plan__Group_1__06712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__PlanAssignment_1_0_in_rule__Plan__Group_1__0__Impl6739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__1__Impl_in_rule__Plan__Group_1__16769 = new BitSet(new long[]{0x0000000010002000L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__2_in_rule__Plan__Group_1__16772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Plan__Group_1__1__Impl6800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__2__Impl_in_rule__Plan__Group_1__26831 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__3_in_rule__Plan__Group_1__26834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__0_in_rule__Plan__Group_1__2__Impl6861 = new BitSet(new long[]{0x0000000010000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1__3__Impl_in_rule__Plan__Group_1__36892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Plan__Group_1__3__Impl6920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__0__Impl_in_rule__Plan__Group_1_2__06959 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__1_in_rule__Plan__Group_1_2__06962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Plan__Group_1_2__0__Impl6990 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__1__Impl_in_rule__Plan__Group_1_2__17021 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__2_in_rule__Plan__Group_1_2__17024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__GoalAssignment_1_2_1_in_rule__Plan__Group_1_2__1__Impl7051 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Plan__Group_1_2__2__Impl_in_rule__Plan__Group_1_2__27081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Plan__Group_1_2__2__Impl7109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentType__Group__0__Impl_in_rule__AgentType__Group__07146 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__AgentType__Group__1_in_rule__AgentType__Group__07149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__AgentType__Group__0__Impl7177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentType__Group__1__Impl_in_rule__AgentType__Group__17208 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__AgentType__Group__2_in_rule__AgentType__Group__17211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentType__NameAssignment_1_in_rule__AgentType__Group__1__Impl7238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AgentType__Group__2__Impl_in_rule__AgentType__Group__27268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__AgentType__Group__2__Impl7296 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__0__Impl_in_rule__Behaviour__Group_0__07333 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__1_in_rule__Behaviour__Group_0__07336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Behaviour__Group_0__0__Impl7364 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__1__Impl_in_rule__Behaviour__Group_0__17395 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__2_in_rule__Behaviour__Group_0__17398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__NameAssignment_0_1_in_rule__Behaviour__Group_0__1__Impl7425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__2__Impl_in_rule__Behaviour__Group_0__27455 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__3_in_rule__Behaviour__Group_0__27458 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__ResidentAssignment_0_2_in_rule__Behaviour__Group_0__2__Impl7485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_0__3__Impl_in_rule__Behaviour__Group_0__37515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Behaviour__Group_0__3__Impl7543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__0__Impl_in_rule__Behaviour__Group_1__07582 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__1_in_rule__Behaviour__Group_1__07585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__BehAssignment_1_0_in_rule__Behaviour__Group_1__0__Impl7612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__1__Impl_in_rule__Behaviour__Group_1__17642 = new BitSet(new long[]{0x0000000180000000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__2_in_rule__Behaviour__Group_1__17645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Behaviour__Group_1__1__Impl7673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__2__Impl_in_rule__Behaviour__Group_1__27704 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__3_in_rule__Behaviour__Group_1__27707 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__0_in_rule__Behaviour__Group_1__2__Impl7734 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__3__Impl_in_rule__Behaviour__Group_1__37765 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__4_in_rule__Behaviour__Group_1__37768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Behaviour__Group_1__3__Impl7796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__4__Impl_in_rule__Behaviour__Group_1__47827 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__5_in_rule__Behaviour__Group_1__47830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__BehAssignment_1_4_in_rule__Behaviour__Group_1__4__Impl7857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__5__Impl_in_rule__Behaviour__Group_1__57887 = new BitSet(new long[]{0x0000000180002000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__6_in_rule__Behaviour__Group_1__57890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Behaviour__Group_1__5__Impl7918 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__6__Impl_in_rule__Behaviour__Group_1__67949 = new BitSet(new long[]{0x0000000100002000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__7_in_rule__Behaviour__Group_1__67952 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__0_in_rule__Behaviour__Group_1__6__Impl7979 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__7__Impl_in_rule__Behaviour__Group_1__78010 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__8_in_rule__Behaviour__Group_1__78013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__0_in_rule__Behaviour__Group_1__7__Impl8040 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1__8__Impl_in_rule__Behaviour__Group_1__88071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Behaviour__Group_1__8__Impl8099 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__0__Impl_in_rule__Behaviour__Group_1_2__08148 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__1_in_rule__Behaviour__Group_1_2__08151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Behaviour__Group_1_2__0__Impl8179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__1__Impl_in_rule__Behaviour__Group_1_2__18210 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__2_in_rule__Behaviour__Group_1_2__18213 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__PlanAssignment_1_2_1_in_rule__Behaviour__Group_1_2__1__Impl8240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_2__2__Impl_in_rule__Behaviour__Group_1_2__28270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Behaviour__Group_1_2__2__Impl8298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__0__Impl_in_rule__Behaviour__Group_1_6__08335 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__1_in_rule__Behaviour__Group_1_6__08338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Behaviour__Group_1_6__0__Impl8366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__1__Impl_in_rule__Behaviour__Group_1_6__18397 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__2_in_rule__Behaviour__Group_1_6__18400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__BehAssignment_1_6_1_in_rule__Behaviour__Group_1_6__1__Impl8427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_6__2__Impl_in_rule__Behaviour__Group_1_6__28457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Behaviour__Group_1_6__2__Impl8485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__0__Impl_in_rule__Behaviour__Group_1_7__08522 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__1_in_rule__Behaviour__Group_1_7__08525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Behaviour__Group_1_7__0__Impl8553 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__1__Impl_in_rule__Behaviour__Group_1_7__18584 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__2_in_rule__Behaviour__Group_1_7__18587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__PlanAssignment_1_7_1_in_rule__Behaviour__Group_1_7__1__Impl8614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Behaviour__Group_1_7__2__Impl_in_rule__Behaviour__Group_1_7__28644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Behaviour__Group_1_7__2__Impl8672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_0_08714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_0_18745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_2_1_08776 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_2_1_18807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBelief_in_rule__AgentInternalViewpoint__BeliefAssignment_3_08838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGoal_in_rule__AgentInternalViewpoint__GoalAssignment_3_18869 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCapabilities_in_rule__AgentInternalViewpoint__CapabilitiesAssignment_3_28900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAgentState_in_rule__AgentInternalViewpoint__AgentstateAssignment_3_38931 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemanticWebAgent_in_rule__AgentInternalViewpoint__SemanticwebagentAssignment_3_48962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRole_in_rule__AgentInternalViewpoint__RoleAssignment_3_58993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlan_in_rule__AgentInternalViewpoint__PlanAssignment_3_69024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAgentType_in_rule__AgentInternalViewpoint__AgenttypeAssignment_3_79055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBehaviour_in_rule__AgentInternalViewpoint__BehaviourAssignment_3_89086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Belief__NameAssignment_19117 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Belief__DescriptionAssignment_29148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Belief__DynamicAssignment_39179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Goal__NameAssignment_19210 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Goal__DescriptionAssignment_29241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Goal__RecurAssignment_39272 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Capabilities__NameAssignment_0_19303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Capabilities__DescriptionAssignment_0_29334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Capabilities__CapAssignment_1_09369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Capabilities__BeliefAssignment_1_2_0_19408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Capabilities__GoalAssignment_1_2_1_19447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Capabilities__PlanAssignment_1_2_2_19486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__AgentState__NameAssignment_19521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__NameAssignment_0_19552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__SemanticWebAgent__DescriptionAssignment_0_29583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__SemanticWebAgent__PropertiesAssignment_0_39614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__SemanticwebagentAssignment_1_09649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__AgentstateAssignment_1_1_29688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__CapAssignment_1_1_4_19727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__CapAssignment_1_1_69766 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__AgenttypeAssignment_1_1_8_19805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__RoleAssignment_1_1_109844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__SemanticWebAgent__RoleAssignment_1_1_12_19883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Role__NameAssignment_0_19918 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Role__RoleAssignment_1_09953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Role__BehAssignment_1_39992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Role__BehAssignment_1_5_110031 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Plan__NameAssignment_0_110066 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Plan__TypeAssignment_0_210097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Plan__DescriptionAssignment_0_310128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Plan__PriorityAssignment_0_410159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Plan__PlanAssignment_1_010194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Plan__GoalAssignment_1_2_110233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__AgentType__NameAssignment_110268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__NameAssignment_0_110299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Behaviour__ResidentAssignment_0_210330 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_010365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__PlanAssignment_1_2_110404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_410443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__BehAssignment_1_6_110482 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Behaviour__PlanAssignment_1_7_110521 = new BitSet(new long[]{0x0000000000000002L});

}