diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/misc/StaLangExample.stalang b/edu.kit.ipd.descartes.mm.adaptation.sta/misc/StaLangExample.stalang new file mode 100644 index 0000000000000000000000000000000000000000..7d50acd6e339e2497a8ec45e57c73e49fdb9ce7d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.adaptation.sta/misc/StaLangExample.stalang @@ -0,0 +1,62 @@ +// this is a comment + +// place imports here, e.g. +// import uri + +AdaptationProcess ExampleProcessName { + + goal + description "A verbose description of the goal of the adaptation process so that + anyone can understand the purpose of the modeled adaptation process" + objectives: + Objective Objective1Name specification "A string specifying the objective 1" + Objective Objective2Name specification "A string specifying the objective 2" + + actions: + Action Action1Name operationType SCALE_OUT { + // optional input output parameters + input param1Name, param3Name + output param3Name + referredAdaptationPoint ref:xyz1 // I have no clue so far how to refer to external model instances + } + Action Action2Name operationType SCALE_IN { + // optional parameters + referredAdaptationPoint ref:xyz2 // I have no clue so far how to refer to external model instances + } + + tactics: + Tactic Tactic1Name { + // optional input output parameters + input param1Name, param3Name + output param3Name + implementedPlan{StartAction, Action1Name, ... Action2Name, StopAction} + } + Tactic Tactic2Name { + // optional input output parameters + implementedPlan{ + StartAction, + // Some other actions + StopAction + } + } + + strategies: + Strategy Strategy1Name { + objective Objective1Name + triggeringEvents Event EventXYName + tactics { + WeightedTactic usedTactic Tactic1Name 1.3 1.0 ref:LastImpactXY1, + WeightedTactic usedTactic Tactic2Name 2.1 2.0 ref:LastImpactXY2 + } + weightingFunction WeightingFunction1Name { + WeightedMetric 1.9 ref:ResponseTimeMetric1 + WeightedMetric 2.3 ref:UtilizationMetric1 + } + } + + // definition of parameters should be optional + parameters: + Parameter param1Name + Parameter param2Name + Parameter param3Name +} \ No newline at end of file