Skip to content
Snippets Groups Projects
Commit 45f9ccfc authored by Steffen Slavetinsky's avatar Steffen Slavetinsky
Browse files

removed examples

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13867 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent 69f42282
No related branches found
No related tags found
No related merge requests found
// Example file for a STA process, revision 2
// this is a comment
// place imports here, e.g.
// import refname1 "uri://path/file.name"
// import refname2 "uri://path/file2.name"
AdaptationProcess ExampleProcessName [optional.id] { // ids are optional and thus displayed in grey
// Order of the main sections:
// goal, actions, tactics, strategies, parameters.
// the parameters section is optional, see below.
// Reason for this order is logical succession. Actions are used in tactics, tactics in strategies, etc.
// General considerations:
// 'xyz:' starts a new section. Examples: goal:, strategies:
// ':' is followed by a list of elements. Example: action1 [optional.id] {}, action2 ...
// '{}' is like a 'constructor' like the 'new' keyword in Java
// '=' is an assignment of a value or a list of values to a property
// '()' contains a list of values that belong together. If there is only one value, the brackets are optional
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 = (
########################### assumed that it would be easier without "
Objective1Name { specification = (MetricTypeA, "<=", 500) },
Objective2Name { specification = ((MetricTypeB, ">", 0.5), (MetricTypeC, ">", 0.6)) }
)
actions:
Action1Name [optional.id] {
operation = (SCALE_OUT, THIS) // Same as AdaptationActionOperation. First direction, then scope
referredAdaptationPoint = refname1:element.xyz1
// optional input output parameters go here
input = (param1Name, param3Name)
output = (param3Name)
},
Action2Name {
operation = (SCALE_IN, RANDOM)
referredAdaptationPoint = refname1:element.xyz2
// no parameters
}
tactics:
Tactic1Name [optional.id] {
#################################################################
implementedPlan = !!planName!! (StartAction, Action1Name, ...,
Action2Name, StopAction)
// optional input output parameters
input = (param1Name, param3Name)
output = param3Name
},
Tactic2Name... {
implementedPlan = ( StartAction, ...
repeat counter = param1Name ( // LoopAction
StartAction, ..., StopAction
),
########################################################### what to do with successor?
if (context=refToSomeEntity, condition="SomeOclString") // BranchAction
then (//AdaptationPlanX)
else (//AdaptationPlanY),
StopAction
)
}
strategies:
Strategy1Name [optional.id] {
########################################################### Objective specification is not optional
objective = Objective1Name
triggeringEvent = EventXYName // Note: rename 'triggeringEvents' to
// 'triggeringEvent' in the metamodel
tactics = (
########################################################### weighted Tactic name is not optional
weightedTactic1Name = (tactic=Tactic1Name, default=1.3, current=1.0),
weightedTactic2Name = (tactic=Tactic2Name, default=2.1, current=2.0)
)
####################################### weightingFunction optional can be written simply as weightingFunction1Name = (...)
weightingFunction = (
weightingFunctionImplementation = "SomeStringPointingToAClass"
weightedMetrics = ((metricType=refname2:ResponseTimeMetric1, weight=1.9),
(metricType=refname2:UtilizationMetric1, weight=2.3))
)
},
Strategy2Name...
// definition of parameters is optional, only required if parameters are used by tactics or actions
parameters:
####################################### types may have to get parsed later on because of type string of Value
param1Name { type="Double", value=0.34 }, // value field is optional since it might
param2Name { type="somethingElse" }, // be unknown when specifying the process
param3Name { type="Integer", value=0}
}
\ 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