From 71110128d74650ebea13f7e0374730dc3fa9ec38 Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Wed, 18 Dec 2013 09:26:53 +0000 Subject: [PATCH] missing files for Xtext v2.4.0 git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13994 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../AbstractStaLangProposalProvider.java | 2 +- .../PartialStaLangContentAssistParser.java | 1 - .../descartes/mm/adaptation/sta/StaLang.xmi | 1411 +++++++++++++++++ .../antlr/internal/InternalStaLang.tokens | 102 +- 4 files changed, 1463 insertions(+), 53 deletions(-) create mode 100644 edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/StaLang.xmi diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/AbstractStaLangProposalProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/AbstractStaLangProposalProvider.java index 572c5a72..0c620479 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/AbstractStaLangProposalProvider.java +++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/AbstractStaLangProposalProvider.java @@ -9,7 +9,7 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; /** - * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}. + * Represents a generated, default implementation of interface {@link IProposalProvider}. * Methods are dynamically dispatched on the first parameter, i.e., you can override them * with a more concrete subtype. */ diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/antlr/PartialStaLangContentAssistParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/antlr/PartialStaLangContentAssistParser.java index dcdc559e..5118ad39 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/antlr/PartialStaLangContentAssistParser.java +++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/ui/contentassist/antlr/PartialStaLangContentAssistParser.java @@ -15,7 +15,6 @@ import org.eclipse.xtext.util.PolymorphicDispatcher; /** * @author Sebastian Zarnekow - Initial contribution and API */ -@SuppressWarnings("restriction") public class PartialStaLangContentAssistParser extends StaLangParser implements IPartialContentAssistParser { private AbstractRule rule; diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/StaLang.xmi b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/StaLang.xmi new file mode 100644 index 00000000..382d6475 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/StaLang.xmi @@ -0,0 +1,1411 @@ +<?xml version="1.0" encoding="ASCII"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> + <xtext:Grammar name="edu.kit.ipd.descartes.mm.adaptation.sta.StaLang" usedGrammars="/1"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> + <ePackage href="http://www.descartes-research.net/metamodel/adaptation/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="perfdatarepo"> + <ePackage href="http://www.descartes-research.net/metamodel/perfdata/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="core"> + <ePackage href="http://www.descartes-research.net/metamodel/core/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="adaptationpoints"> + <ePackage href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:ParserRule" name="AdaptationProcess"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationProcess"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" cardinality="*" feature="importDeclaration" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Keyword" value="AdaptationProcess"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parameters"/> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/> + </elements> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="goal"/> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="goal" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + <elements xsi:type="xtext:Keyword" value="actions"/> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="tactics"/> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="tactics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="tactics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="strategies"/> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="strategies" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="strategies" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AdaptationPoint"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//AdaptationPoint"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AbstractControlFlowElement"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="VariationType"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//VariationType"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EString"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Tactic"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Tactic"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="Tactic"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="implementedPlan"/> + <elements xsi:type="xtext:Assignment" feature="implementedPlan" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="input"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="output"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="outputParam" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Action"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Action"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="Action"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="operation"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="adaptationActionOperation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/> + </elements> + <elements xsi:type="xtext:Keyword" value="referredAdaptationPoint"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="referredAdaptationPoint" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//AdaptationPoint"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="input"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="output"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="outputParam" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Strategy"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Strategy"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="objective"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="objective" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Objective"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="triggeringEvent"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="triggeringEvents" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + <elements xsi:type="xtext:Keyword" value="tactics"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="tactics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="tactics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + <elements xsi:type="xtext:Keyword" cardinality="?" value="weightingFunction"/> + <elements xsi:type="xtext:Assignment" feature="weightingFunction" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.29"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Parameter"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="type"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="type" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="value"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="OverallGoal"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//OverallGoal"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="description"/> + <elements xsi:type="xtext:Assignment" feature="description" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="objectives"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="objectives" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="objectives" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ImportDeclaration"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//ImportDeclaration"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ImportDeclaration"/> + <elements xsi:type="xtext:Assignment" feature="importURI" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AdaptationPlan"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationPlan"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="steps" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="steps" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="StartAction"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StartAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StartAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="StartAction"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="StopAction"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StopAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StopAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="StopAction"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="LoopAction"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//LoopAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="LoopAction"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="repeat"/> + <elements xsi:type="xtext:Keyword" value="counter"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="counter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="body" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BranchAction"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//BranchAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="BranchAction"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="if"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Keyword" value="context"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="context" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Keyword" value="condition"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="condition" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + <elements xsi:type="xtext:Keyword" value="then"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="conditionTrueBranch" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + <elements xsi:type="xtext:Keyword" value="else"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="conditionFalseBranch" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ActionReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//ActionReference"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ActionReference"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Keyword" value="refersTo"/> + <elements xsi:type="xtext:Assignment" feature="refersTo" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Action"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AdaptationActionOperation"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationActionOperation"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="adaptationOperationDirection" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="adaptationOperationScope" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ModelVariableConfigurationRange"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//ModelVariableConfigurationRange"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ModelVariableConfigurationRange"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="minValue"/> + <elements xsi:type="xtext:Assignment" feature="minValue" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value="maxValue"/> + <elements xsi:type="xtext:Assignment" feature="maxValue" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value="adaptableEntity"/> + <elements xsi:type="xtext:Assignment" feature="adaptableEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//AdaptableEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ModelEntityConfigurationRange"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//ModelEntityConfigurationRange"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ModelEntityConfigurationRange"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="adaptableEntity"/> + <elements xsi:type="xtext:Assignment" feature="adaptableEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="variationPossibility"/> + <elements xsi:type="xtext:Assignment" feature="variationPossibility" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EDouble"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> + <elements xsi:type="xtext:RuleCall" cardinality="?" rule="/1/@rules.1"/> + <elements xsi:type="xtext:Keyword" value="."/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="E"/> + <elements xsi:type="xtext:Keyword" value="e"/> + </elements> + <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="PropertyRange"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//PropertyRange"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="PropertyRange"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="minValueConstraint"/> + <elements xsi:type="xtext:Assignment" feature="minValueConstraint" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/> + </elements> + <elements xsi:type="xtext:Keyword" value="maxValueConstraint"/> + <elements xsi:type="xtext:Assignment" feature="maxValueConstraint" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="SetOfConfigurations"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//SetOfConfigurations"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="SetOfConfigurations"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="variants"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="variants" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="variants" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Keyword" value="valueConstraint"/> + <elements xsi:type="xtext:Assignment" feature="valueConstraint" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="OclConstraint"> + <type metamodel="/0/@metamodelDeclarations.4"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//OclConstraint"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="OclConstraint"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="oclString"/> + <elements xsi:type="xtext:Assignment" feature="oclString" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="AdaptationScope"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/NOT_SET"/> + <literal value="NOT_SET"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/THIS"/> + <literal value="THIS"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/LEAST_UTILIZED_FIRST"/> + <literal value="LEAST_UTILIZED_FIRST"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/MOST_UTILIZED_FIRST"/> + <literal value="MOST_UTILIZED_FIRST"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/RANDOM"/> + <literal value="RANDOM"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationScope/ALL"/> + <literal value="ALL"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="AdaptationDirection"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationDirection"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationDirection/NOT_SET"/> + <literal value="NOT_SET"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationDirection/INCREASE"/> + <literal value="INCREASE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationDirection/DECREASE"/> + <literal value="DECREASE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationDirection/MIGRATE"/> + <literal value="MIGRATE"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Objective"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Objective"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="specification"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Assignment" feature="specifications" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </elements> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="specifications" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="specifications" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Event"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Event"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="WeightedTactic"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightedTactic"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="tactic"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="usedTactic" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Tactic"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="default"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="defaultWeight" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="current"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="currentWeight" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="lastImpact"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="lastImpact" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Impact"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="WeightingFunction"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightingFunction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Keyword" value="weightingFunctionImplementation"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Assignment" feature="weightingFunctionImplementation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="weightedMetrics"/> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="weightedMetrics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.38"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="weightedMetrics" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.38"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Specification"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Specification"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="Specification"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Keyword" cardinality="?" value="metricType"/> + <elements xsi:type="xtext:Assignment" feature="metricType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Keyword" cardinality="?" value="relationalOperator"/> + <elements xsi:type="xtext:Assignment" feature="relationalOperator" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Keyword" cardinality="?" value="value"/> + <elements xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="MetricType"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="MetricType"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="RelationalOperator"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/EQUAL"/> + <literal value="=="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/NOT_EQUAL"/> + <literal value="!="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/GREATER"/> + <literal value=">"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/GREATER_EQUAL"/> + <literal value=">="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/LESS"/> + <literal value="<"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/LESS_EQUAL"/> + <literal value="<="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/EQUAL"/> + <literal value="EQUAL"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/NOT_EQUAL"/> + <literal value="NOT_EQUAL"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/GREATER"/> + <literal value="GREATER"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/GREATER_EQUAL"/> + <literal value="GREATER_EQUAL"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/LESS"/> + <literal value="LESS"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/adaptation/0.1#//RelationalOperator/LESS_EQUAL"/> + <literal value="LESS_EQUAL"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Impact"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Impact"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Impact"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="before"/> + <elements xsi:type="xtext:Assignment" feature="before" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="after"/> + <elements xsi:type="xtext:Assignment" feature="after" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Result"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Result"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="timestamp"/> + <elements xsi:type="xtext:Assignment" feature="timestamp" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.35"/> + </elements> + <elements xsi:type="xtext:Keyword" value="metricValues"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="metricValues" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="metricValues" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EDate"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> + </type> + <alternatives xsi:type="xtext:Keyword" value="EDate"/> + </rules> + <rules xsi:type="xtext:ParserRule" name="MetricValue"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricValue"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="MetricValue"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="value"/> + <elements xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value="measuredEntity"/> + <elements xsi:type="xtext:Assignment" feature="measuredEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MeasuredEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="metricType"/> + <elements xsi:type="xtext:Assignment" feature="metricType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="MeasuredEntity"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MeasuredEntity"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="MeasuredEntity"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="metricTypes"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="metricTypes" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="metricTypes" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="WeightedMetric"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightedMetric"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="WeightedMetric"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="[id:"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Keyword" value="]"/> + </elements> + <elements xsi:type="xtext:Keyword" value="="/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="metricType"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="metricType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="weight"/> + <elements xsi:type="xtext:Keyword" value="="/> + </elements> + <elements xsi:type="xtext:Assignment" feature="weight" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + </xtext:Grammar> + <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:TerminalRule" name="ID"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + </elements> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + <elements xsi:type="xtext:CharacterRange"> + <left value="0"/> + <right value="9"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="INT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </type> + <alternatives xsi:type="xtext:CharacterRange" cardinality="+"> + <left value="0"/> + <right value="9"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="STRING"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="""/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="""/> + </elements> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="'"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="'"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="/*"/> + <elements xsi:type="xtext:UntilToken"> + <terminal xsi:type="xtext:Keyword" value="*/"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="//"/> + <elements xsi:type="xtext:NegatedToken" cardinality="*"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="WS"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives" cardinality="+"> + <elements xsi:type="xtext:Keyword" value=" "/> + <elements xsi:type="xtext:Keyword" value="	"/> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Wildcard"/> + </rules> + </xtext:Grammar> +</xmi:XMI> diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/parser/antlr/internal/InternalStaLang.tokens b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/parser/antlr/internal/InternalStaLang.tokens index 0799b94e..b0a1ec04 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/parser/antlr/internal/InternalStaLang.tokens +++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/sta/parser/antlr/internal/InternalStaLang.tokens @@ -103,101 +103,101 @@ T__37=37 T__38=38 T__39=39 RULE_WS=9 -'EQUAL'=103 '>='=100 -'counter'=45 '=='=97 -'then'=50 'type'=36 -'>'=99 -'NOT_EQUAL'=104 'e'=64 -'weightingFunction'=35 'value'=37 -'maxValue'=57 'minValueConstraint'=66 -'LESS_EQUAL'=108 -'.'=62 'tactic'=74 -'adaptableEntity'=58 -'LEAST_UTILIZED_FIRST'=90 'OclConstraint'=71 'objectives'=39 -'SetOfConfigurations'=68 -'else'=51 'condition'=49 -'LESS'=107 -'weightingFunctionImplementation'=78 'RANDOM'=92 'referredAdaptationPoint'=32 '{'=14 'MIGRATE'=96 'goal'=18 -'Specification'=80 'THIS'=89 -'EDate'=83 -'if'=47 -'triggeringEvent'=34 -'('=27 ':'=16 -'-'=61 -','=17 +'('=27 +'triggeringEvent'=34 'tactics'=20 'default'=75 -'input'=25 ']'=13 -'INCREASE'=94 'ImportDeclaration'=40 -'context'=48 -'implementedPlan'=24 -'ActionReference'=52 'refersTo'=53 -'GREATER'=105 +'ActionReference'=52 'output'=29 -'WeightedMetric'=86 'variationPossibility'=60 'oclString'=72 'valueConstraint'=70 -'DECREASE'=95 -'MOST_UTILIZED_FIRST'=91 'StopAction'=42 +'DECREASE'=95 'weightedMetrics'=79 -'repeat'=44 -'ModelVariableConfigurationRange'=54 -'metricType'=81 -'lastImpact'=77 'BranchAction'=46 +'lastImpact'=77 +'metricType'=81 '='=26 -'ModelEntityConfigurationRange'=59 -'Tactic'=23 -')'=28 -'strategies'=21 -'StartAction'=41 -'operation'=31 -'specification'=73 'parameters'=15 -'}'=22 'NOT_SET'=88 'LoopAction'=43 'minValue'=56 'objective'=33 -'actions'=19 'GREATER_EQUAL'=106 -'current'=76 -'weight'=87 -'maxValueConstraint'=67 -'description'=38 -'relationalOperator'=82 'measuredEntity'=85 'AdaptationProcess'=11 -'<='=102 'Action'=30 +'<='=102 'PropertyRange'=65 '!='=98 '<'=101 'name'=55 -'ALL'=93 'E'=63 +'counter'=45 +'EQUAL'=103 +'then'=50 +'>'=99 +'NOT_EQUAL'=104 +'weightingFunction'=35 +'maxValue'=57 +'LESS_EQUAL'=108 +'.'=62 +'adaptableEntity'=58 +'LEAST_UTILIZED_FIRST'=90 +'else'=51 +'SetOfConfigurations'=68 +'LESS'=107 +'weightingFunctionImplementation'=78 +'Specification'=80 +'if'=47 +'EDate'=83 +'-'=61 +','=17 +'input'=25 +'INCREASE'=94 +'context'=48 +'implementedPlan'=24 +'GREATER'=105 +'WeightedMetric'=86 +'MOST_UTILIZED_FIRST'=91 +'ModelVariableConfigurationRange'=54 +'repeat'=44 +'ModelEntityConfigurationRange'=59 +'Tactic'=23 +')'=28 +'StartAction'=41 +'strategies'=21 +'operation'=31 +'specification'=73 +'}'=22 +'actions'=19 +'current'=76 +'description'=38 +'maxValueConstraint'=67 +'weight'=87 +'relationalOperator'=82 +'ALL'=93 'MetricValue'=84 '[id:'=12 'variants'=69 -- GitLab