spd package
SPD
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.
Supertype:Entity
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 |
ScalingPolicy
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.
Supertype:Entity
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] |
spd.targets package
CompetingConsumersGroup
Supertype:TargetGroup
ElasticInfrastructure
Supertype:TargetGroup
References | ||
---|---|---|
Name | Properties | Documentation |
PCM_ResourceEnvironment | Cardinality: [0..1] |
ServiceGroup
Supertype:TargetGroup
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. |
TargetGroup
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.
Supertype:Entity
References | ||
---|---|---|
Name | Properties | Documentation |
targetConstraints | Cardinality: [0..*] Containment |
spd.adjustments package
AbsoluteAdjustment
The AbsoluteAdjustment denotes that the group is adjusted to a goal value.
Supertype:AdjustmentType
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. |
AdjustmentType
An AdjustmentType determines how the target group is adjusted upon the firing of a trigger.
RelativeAdjustment
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.
Supertype:AdjustmentType
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. |
StepAdjustment
The StepAdjustment denotes that the group is adjusted by adding or removing a fixed amount of elements.
Supertype:AdjustmentType
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. |
spd.constraints package
AbstractConstraint
Supertype:Identifier
StateBasedContraint
Supertype:AbstractConstraint
TemporalConstraint
Supertype:AbstractConstraint
spd.triggers package
AGGREGATIONMETHOD
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 |
BaseTrigger
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.
Supertype:ScalingTrigger
References | ||
---|---|---|
Name | Properties | Documentation |
expectedValue | Cardinality: [1..1] Containment | |
stimulus | T: Stimulus Cardinality: [1..1] Containment |
ComposedTrigger
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.
Supertype:ScalingTrigger
Attributes | ||
---|---|---|
Name | Properties | Documentation |
logicalOperator | Cardinality: [0..1] |
References | ||
---|---|---|
Name | Properties | Documentation |
scalingtrigger | Cardinality: [2..*] Containment |
HDDUSAGETYPE
Enum for the type of HDD usage: READ, WRITE
Literals | ||
---|---|---|
Name | Value | Documentation |
READ | 0 | |
WRITE | 1 |
LogicalOperator
Literals | ||
---|---|---|
Name | Value | Documentation |
AND | 0 | |
OR | 1 | |
XOR | 2 |
NETWORKUSAGETYPE
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 |
RelationalOperator
Literals | ||
---|---|---|
Name | Value | Documentation |
LessThan | 0 | |
GreaterThan | 1 | |
EqualTo | 2 | |
LessThanOrEqualTo | 3 | |
GreaterThanOrEqualTo | 4 |
ScalingTrigger
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).
Supertype:Identifier
SimpleFireOnTrend
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.
Supertype:BaseTrigger
SimpleFireOnValue
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.
Supertype:BaseTrigger
Attributes | ||
---|---|---|
Name | Properties | Documentation |
relationalOperator | Cardinality: [0..1] |
TrendPattern
Literals | ||
---|---|---|
Name | Value | Documentation |
Increasing | 0 | |
Decreasing | 1 | |
NonIncreasing | 2 | |
NonDecreasing | 3 |
spd.constraints.policy package
CooldownConstraint
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.
Supertypes:PolicyConstraint, TemporalConstraint
Attributes | ||
---|---|---|
Name | Properties | Documentation |
cooldownTime | T: EDouble Cardinality: [1..1] | |
maxScalingOperations | T: EInt Cardinality: [1..1] Default: 0 |
IntervalConstraint
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.
Supertypes:PolicyConstraint, TemporalConstraint
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). |
PolicyConstraint
Supertype:AbstractConstraint
spd.constraints.target package
TargetConstraint
Supertype:AbstractConstraint
TargetGroupSizeConstraint
Supertypes:StateBasedContraint, TargetConstraint
Attributes | ||
---|---|---|
Name | Properties | Documentation |
maxSize | T: EInt Cardinality: [1..1] | |
minSize | T: EInt Cardinality: [1..1] |
ThrashingConstraint
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.
Supertypes:TargetConstraint, TemporalConstraint
Attributes | ||
---|---|---|
Name | Properties | Documentation |
minimumTimeNoThrashing | T: EDouble Cardinality: [0..1] |