From 49cae78198bd456554d3b472e5d207351b18ec3d Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Wed, 8 May 2013 09:31:41 +0000
Subject: [PATCH] integrated metamodel changes

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11479 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../mm/adaptation/StaAdaptationLanguage.xtext | 42 +++++++++++++------
 1 file changed, 30 insertions(+), 12 deletions(-)

diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
index e414476a..90d32c91 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
@@ -1,5 +1,5 @@
 // automatically generated by Xtext
-grammar edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage with org.eclipse.xtext.common.Terminals
+grammar org.xtext.example.mydsl.Temp with org.eclipse.xtext.common.Terminals
 
 import "platform:/resource/edu.kit.ipd.descartes.mm.adaptation/model/adaptation.ecore"
 import "http://www.eclipse.org/emf/2002/Ecore" as ecore
@@ -12,8 +12,8 @@ AdaptationProcess returns AdaptationProcess:
 	id=EString
 	'{'
 		'name' name=EString
-		'actions' '{' actions+=Action ( "," actions+=Action)* '}'
 		'tactics' '{' tactics+=Tactic ( "," tactics+=Tactic)* '}' 
+		'actions' '{' actions+=Action ( "," actions+=Action)* '}' 
 		'strategies' '{' strategies+=Strategy ( "," strategies+=Strategy)* '}' 
 		('parameters' '{' parameters+=Parameter ( "," parameters+=Parameter)* '}' )?
 		'goal' goal=OverallGoal
@@ -32,10 +32,12 @@ AdaptationPoint returns adaptationpoints::AdaptationPoint:
 
 
 
+
 AbstractControlFlowElement returns AbstractControlFlowElement:
 	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
 
 
+
 VariationType returns adaptationpoints::VariationType:
 	PropertyRange | SetOfConfigurations;
 
@@ -46,7 +48,6 @@ VariationType returns adaptationpoints::VariationType:
 
 
 
-
 EString returns ecore::EString:
 	STRING | ID;
 
@@ -65,10 +66,10 @@ Action returns Action:
 	id=EString
 	'{'
 		'name' name=EString
-		'operationType' operationType=OperationType
 		('outputParam' outputParam=[Parameter|EString])?
 		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
 		'referredAdaptationPoint' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+		'adaptationActionOperation' adaptationActionOperation=AdaptationActionOperation
 	'}';
 
 Strategy returns Strategy:
@@ -139,7 +140,9 @@ BranchAction returns BranchAction:
 		('condition' condition=EString)?
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
 		('successor' successor=[AbstractControlFlowElement|EString])?
-		'branches' '{' branches+=AdaptationPlan ( "," branches+=AdaptationPlan)* '}' 
+		('context' context=[core::Entity|EString])?
+		'conditionTrueBranch' conditionTrueBranch=AdaptationPlan
+		'conditionFalseBranch' conditionFalseBranch=AdaptationPlan
 	'}';
 
 ActionReference returns ActionReference:
@@ -154,8 +157,12 @@ ActionReference returns ActionReference:
 EInt returns ecore::EInt:
 	'-'? INT;
 
-OperationType returns adaptationpoints::OperationType:
-	'OperationType' /* TODO: implement this rule and an appropriate IValueConverter */;
+AdaptationActionOperation returns AdaptationActionOperation:
+	'AdaptationActionOperation'
+	'{'
+		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
+		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
+	'}';
 
 ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
 	'ModelVariableConfigurationRange'
@@ -189,20 +196,22 @@ PropertyRange returns adaptationpoints::PropertyRange:
 SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
 	'SetOfConfigurations'
 	'{'
-		('variants' '(' variants+=[ecore::EObject|EString] ( "," variants+=[ecore::EObject|EString])* ')' )?
+		('variants' '(' variants+=[core::Entity|EString] ( "," variants+=[core::Entity|EString])* ')' )?
 		'valueConstraint' valueConstraint=OclConstraint
 	'}';
 
 OclConstraint returns adaptationpoints::OclConstraint:
 	'OclConstraint'
+	name=EString
 	'{'
 		'oclString' oclString=EString
 	'}';
 
-EObject returns ecore::EObject:
-	{ecore::EObject}
-	'EObject'
-	;
+AdaptationScope returns AdaptationScope:
+	'AdaptationScope' /* TODO: implement this rule and an appropriate IValueConverter */;
+
+AdaptationDirection returns AdaptationDirection:
+	'AdaptationDirection' /* TODO: implement this rule and an appropriate IValueConverter */;
 
 Objective returns Objective:
 	'Objective'
@@ -265,9 +274,18 @@ MetricValue returns perfdatarepo::MetricValue:
 	'{'
 		'name' name=EString
 		'value' value=EDouble
+		'measuredEntity' measuredEntity=[perfdatarepo::MeasuredEntity|EString]
 		'metricType' metricType=[perfdatarepo::MetricType|EString]
 	'}';
 
+MeasuredEntity returns perfdatarepo::MeasuredEntity:
+	'MeasuredEntity'
+	id=EString
+	'{'
+		'name' name=EString
+		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
+	'}';
+
 MetricType returns perfdatarepo::MetricType:
 	'MetricType'
 	id=EString
-- 
GitLab