The root elements that consists of all scaling policies under analysis for a given cloud application. The SPD is an Entity (PCM), it has a unique identifier and it has a name.
References |
||
|---|---|---|
Name |
Properties |
Documentation |
scalingPolicies
|
Cardinality: [1..*]
Containment
|
The set of scaling policies under analysis for the given cloud application model. |
targetGroups
|
T: TargetGroup
Cardinality: [1..*]
Containment
|
|
A scaling policy determines the complete information for scaling a parituclar target. Each ScalingPolicy is an Entity (PCM), it has a unique identifier and it has a name.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
active
|
T: EBoolean
Cardinality: [0..1]
| |
References |
||
|---|---|---|
Name |
Properties |
Documentation |
adjustmentType
|
Cardinality: [1..1]
Containment
|
|
policyConstraints
|
Cardinality: [0..*]
Containment
|
|
scalingTrigger
|
Cardinality: [1..1]
Containment
|
|
targetGroup
|
T: TargetGroup
Cardinality: [1..1]
|
|
References |
||
|---|---|---|
Name |
Properties |
Documentation |
PCM_ResourceEnvironment
|
Cardinality: [0..1]
|
|
References |
||
|---|---|---|
Name |
Properties |
Documentation |
unitAssembly
|
Cardinality: [0..1]
|
The unitAssembly is used to point to the ServiceGroup in PCM. It is used also for disinguishing between different service groups. A prerequisite is that the unit assembly is already connected in a Service Group structure in PCM. |
A TargetGroup defines a management group in SPD. It is both uniqely identified as well as it has a name, thus it extends from the Entity class of the PCM.
References |
||
|---|---|---|
Name |
Properties |
Documentation |
targetConstraints
|
Cardinality: [0..*]
Containment
|
|
The AbsoluteAdjustment denotes that the group is adjusted to a goal value.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
goalValue
|
T: EInt
Cardinality: [1..1]
Default: 0
| The goalValue determines the target number of elements for a particular group, e.g., a value 5 means that the group will have 5 elements. |
An AdjustmentType determines how the target group is adjusted upon the firing of a trigger.
The RelativeAdjustment denotes that the group is adjusted relatively to the current number of elements. The RelativeAdjustment contains two parameters: the percentageGrowthValue and the minAdjustmentValue. The percentageGrowthValue determines the change (increase/decrease) of the current capacity as a percentage value. The minAdjustmentValue determines the minimal change of the current capacity.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
minAdjustmentValue
|
T: EInt
Cardinality: [1..1]
Default: 0
| A minimum adjustment value in case the percentage is 0. |
percentageGrowthValue
|
T: EInt
Cardinality: [1..1]
Default: 100
| The percantage value of adjustment e.g., a value of 10 denotes that 10% should be added to the existing capacity. |
The StepAdjustment denotes that the group is adjusted by adding or removing a fixed amount of elements.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
stepValue
|
T: EInt
Cardinality: [1..1]
Default: 0
| The stepValue describes how many elements in the group should be added or removed. For example, a vallue of -1 determines that one element should be removed from the group. |
Enum for the following aggregation methods: MIN, MAX, AVERAGE, SUM that are relevant for different triggers.
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| AVERAGE | 0 | |
| MAX | 1 | |
| MIN | 2 | |
| MEDIAN | 3 | |
| SUM | 4 | |
A BaseTrigger is a class of ScalingTrigger that works on a Stimulus (that entails the information gathered from the environment) and an ExpectedValue. Once the Stimulus 'matches' the ExpectedValue the trigger fires and an adjustment to the model is made. The matching of Stimulus with an ExpectedValue is determined by the subclasses. This can entail simple analysis through relational operators or more advanced transformation/aggregation of the Stimulus and the ExpectedValue.
References |
||
|---|---|---|
Name |
Properties |
Documentation |
expectedValue
|
Cardinality: [1..1]
Containment
|
|
stimulus
|
T: Stimulus
Cardinality: [1..1]
Containment
|
|
A ComposedTrigger composes two or more ScalingTriggers through a logical operator (i.e., AND, OR, XOR). This enables the defintion of composed triggers which encapsulate more advanced conditions on the state to fire the trigger.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
logicalOperator
|
Cardinality: [0..1]
| |
References |
||
|---|---|---|
Name |
Properties |
Documentation |
scalingtrigger
|
Cardinality: [2..*]
Containment
|
|
Enum for the type of HDD usage: READ, WRITE
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| READ | 0 | |
| WRITE | 1 | |
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| AND | 0 | |
| OR | 1 | |
| XOR | 2 | |
Enum for the following Network Usage types: SEND, RECEIVE which are relevant to distinuish the type of use for a network resource.
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| SEND | 0 | |
| RECEIVE | 1 | |
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| LessThan | 0 | |
| GreaterThan | 1 | |
| EqualTo | 2 | |
| LessThanOrEqualTo | 3 | |
| GreaterThanOrEqualTo | 4 | |
The ScalingTrigger is a core concept in SPD. It entails both the information that is fetched from the simulation and models as well as the type of analysis that is performed on that information. It is uniquely identified as it extends from Idenfier (PCM).
The SimpleFireOnTrend trigger is a more advanced trigger that aggregates values and determines a trend and fires whenever this trend is as an expectedTrend value.
The SimpleFireOnValue trigger the most simplistic BaseTrigger that works on the fed stimulus through a relational operator with an expected value. In case 'LessThen' is specified then the the trigger will fire upon stiumuls < expectedValue.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
relationalOperator
|
Cardinality: [0..1]
| |
Literals |
||
|---|---|---|
Name |
Value |
Documentation |
| Increasing | 0 | |
| Decreasing | 1 | |
| NonIncreasing | 2 | |
| NonDecreasing | 3 | |
The CoolDown constraint defines a quiescence period in which the target group is not enacted by the policy. In addition one can specify the maximum number of scaling operations that can occur in the defined quiescence period. Contrary to the IntervalConstraint, the CooldownConstraint determines the future enactment of the policy after an adjustment has happened.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
cooldownTime
|
T: EDouble
Cardinality: [1..1]
| |
maxScalingOperations
|
T: EInt
Cardinality: [1..1]
Default: 0
| |
The IntervalConstraint identifies fixed intervals in which a policy enacts adjustments. Contrary to the CooldownConstraint, the IntervalConstraint predefines the enactment of the policy in time.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
intervalDuration
|
T: EDouble
Cardinality: [1..1]
| The duration in which no enactment by the policy occurs. |
offset
|
T: EDouble
Cardinality: [1..1]
| The offset determines a period of time from which the interval constraint should begin. |
repeat
|
T: EBoolean
Cardinality: [0..1]
Default: false
| The repeat property determines whether the interval constraint should repeat throughout the simulation or is applied once, which is the default case (false). |
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
maxSize
|
T: EInt
Cardinality: [1..1]
| |
minSize
|
T: EInt
Cardinality: [1..1]
| |
Thrashing constraint is used to constraint the thrashing of resources i.e. increase and decrease of resources. The constraint is defined by the minimum amount of time where no two decicions with adjustments in two oposite directions can occur.
Attributes |
||
|---|---|---|
Name |
Properties |
Documentation |
minimumTimeNoThrashing
|
T: EDouble
Cardinality: [0..1]
| |