Skip to content
Snippets Groups Projects
Commit 6a2d4625 authored by Nikolaus Huber's avatar Nikolaus Huber
Browse files

integration of metamodel changes

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11490 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent 810a2794
No related branches found
No related tags found
No related merge requests found
...@@ -3,60 +3,71 @@ ...@@ -3,60 +3,71 @@
// place imports here, e.g. // place imports here, e.g.
// import uri // import uri
// Summary of operators
// '=' is an assignment
// ':' starts a list (e.g.: elementA, elementB, elementC)
AdaptationProcess ExampleProcessName { AdaptationProcess ExampleProcessName {
goal goal
description "A verbose description of the goal of the adaptation process so that // '=' is an assignment, i.e., a text is assigned to myDescription
Description myDescription = "A verbose description of the goal of the adaptation process so that
anyone can understand the purpose of the modeled adaptation process" anyone can understand the purpose of the modeled adaptation process"
objectives: objectives: // ':' starts a list
Objective Objective1Name specification "A string specifying the objective 1" Objective Objective1Name = "A string specifying the objective 1",
Objective Objective2Name specification "A string specifying the objective 2" Objective Objective2Name = "A string specifying the objective 2"
actions: actions:
Action Action1Name operationType SCALE_OUT { Action Action1Name operationType SCALE_OUT {
// optional input output parameters // optional input output parameters
input param1Name, param3Name input: param1Name, param2Name
output param3Name output: param3Name
referredAdaptationPoint ref:xyz1 // I have no clue so far how to refer to external model instances referredAdaptationPoint ref:xyz1 THIS INCREASE // I have no clue so far how to refer to external model instances
// THIS and INCREASE are values for AdaptationScope and AdaptationDirection
} }
// Alternative notation for an Action (possible in Xtext?):
// param3Name Action1Name(param1Name, param2Name) {referredAdaptationPoint ref:xyz1, THIS, SCALE_UP}
Action Action2Name operationType SCALE_IN { Action Action2Name operationType SCALE_IN {
// optional parameters // optional parameters
referredAdaptationPoint ref:xyz2 // I have no clue so far how to refer to external model instances referredAdaptationPoint ref:xyz2 RANDOM MIGRATE// I have no clue so far how to refer to external model instances
} }
tactics: tactics:
Tactic Tactic1Name { Tactic Tactic1Name {
// optional input output parameters // optional input output parameters
input param1Name, param3Name input: param1Name, param2Name
output param3Name output: param3Name
implementedPlan{StartAction, Action1Name, ... Action2Name, StopAction} implementedPlan: StartAction, Action1Name, ... Action2Name, StopAction
} }
// Alternative notation for a Tactic:
// param3Name Tactic1Name(param1Name, param2Name) {StartAction, Action1Name, ... Action2Name, StopAction}
Tactic Tactic2Name { Tactic Tactic2Name {
// optional input output parameters // optional input output parameters
implementedPlan{ implementedPlan:
StartAction, StartAction,
// Some other actions // Some other actions
StopAction StopAction
}
} }
strategies: strategies:
Strategy Strategy1Name { Strategy Strategy1Name {
objective Objective1Name objective=Objective1Name
triggeringEvents Event EventXYName triggeringEvents=EventXYName
tactics { tactics:
WeightedTactic usedTactic Tactic1Name 1.3 1.0 ref:LastImpactXY1, WeightedTactic1Name=Tactic1Name 1.3 1.0 ref:LastImpactXY1,
WeightedTactic usedTactic Tactic2Name 2.1 2.0 ref:LastImpactXY2 WeightedTactic2Name=Tactic2Name 2.1 2.0 ref:LastImpactXY2
}
weightingFunction WeightingFunction1Name { weightingFunction WeightingFunction1Name {
WeightedMetric 1.9 ref:ResponseTimeMetric1 WeightedMetric1Name = 1.9 ref:ResponseTimeMetric1
WeightedMetric 2.3 ref:UtilizationMetric1 WeightedMetric2Name = 2.3 ref:UtilizationMetric1
} }
} }
// definition of parameters should be optional // definition of parameters should be optional
parameters: parameters:
Parameter param1Name ParamTypeA param1Name,
Parameter param2Name ParamTypeB param2Name,
Parameter param3Name ParamTypeC param3Name
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment