-
Nikolaus Huber authored
git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11232 9e42b895-fcda-4063-8a3b-11be15eb1bbd
Nikolaus Huber authoredgit-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11232 9e42b895-fcda-4063-8a3b-11be15eb1bbd
PushPullAdaptationProcess.xmi 9.03 KiB
<?xml version="1.0" encoding="ASCII"?>
<adaptation:AdaptationProcess
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adaptation="http://www.descartes-research.net/metamodel/adaptation/0.1"
xmlns:adaptationpoints="http://www.descartes-research.net/metamodel/adaptationpoints/0.1"
xmlns:resourcelandscape="http://www.descartes-research.net/metamodel/resourcelandscape/0.1"
id="_07SqMKaFEeKsaqdh-1smGw"
name="PushPullAdaptationProcess">
<tactics id="2341234"
name="increaseResources">
<implementedPlan
id="qweqweqwe"
name="IncreaseResourcesAdaptationPlan">
<steps
xsi:type="adaptation:StartAction"
id="2342623434"
successor="33eadsea"/>
<steps
xsi:type="adaptation:BranchAction"
id="33eadsea"
predecessor="2342623434"
successor="6423423423"
condition="RuntimeEnvironment.allInstances()->select( re | re.template = self.template )->exists(re | re.configSpec.oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->forAll(nrOfParProcUnits.number < 4)) and RuntimeEnvironment.allInstances()->select( re | re.template = self.template )->forAll(re | re.template.templateConfig.oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->forAll(nrOfParProcUnits.number < 4))">
<context
xsi:type="resourcelandscape:RuntimeEnvironment"
href="AcamarCluster.xmi#12"/>
<conditionTrueBranch
id="efasfasd"
name="increaseCores">
<steps
xsi:type="adaptation:ActionReference"
id="35634534"
predecessor="321321"
successor="345fdas"
refersTo="2"/>
<steps
xsi:type="adaptation:StartAction"
id="321321"
successor="35634534"/>
<steps
xsi:type="adaptation:StopAction"
id="345fdas"
predecessor="35634534"/>
</conditionTrueBranch>
<conditionFalseBranch
id="adsgsadas"
name="increaseServers">
<steps
xsi:type="adaptation:ActionReference"
id="453412341241"
predecessor="e123134"
successor="e63412"
refersTo="41123123"/>
<steps
xsi:type="adaptation:StartAction"
id="e123134"
successor="453412341241"/>
<steps
xsi:type="adaptation:StopAction"
id="e63412"
predecessor="453412341241"/>
</conditionFalseBranch>
</steps>
<steps
xsi:type="adaptation:StopAction"
id="6423423423"
predecessor="33eadsea"/>
</implementedPlan>
</tactics>
<tactics id="123123"
name="gracefullyDecreaseResources">
<implementedPlan
id="123123123"
name="DecreaseResourcesAdaptationPlan">
<steps
xsi:type="adaptation:StartAction"
id="321"
successor="branchDecrease"/>
<steps
xsi:type="adaptation:BranchAction"
id="branchDecrease"
predecessor="321"
successor="432"
condition="RuntimeEnvironment.allInstances()->select( re | re.template = self.template and not re.configSpec->isEmpty())->exists(re | re.configSpec.oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->forAll(nrOfParProcUnits.number > 2))">
<context
xsi:type="resourcelandscape:RuntimeEnvironment"
href="AcamarCluster.xmi#12"/>
<conditionTrueBranch
id="_k0FLAICyEeKnieBrE9C24w"
name="decreaseCores">
<steps
xsi:type="adaptation:ActionReference"
id="decreaseVirtualCpu"
predecessor="_q13HQICyEeKnieBrE9C24w"
successor="_rJvFgYCyEeKnieBrE9C24w"
refersTo="345242342"/>
<steps
xsi:type="adaptation:StartAction"
id="_q13HQICyEeKnieBrE9C24w"
successor="decreaseVirtualCpu"/>
<steps
xsi:type="adaptation:StopAction"
id="_rJvFgYCyEeKnieBrE9C24w"
predecessor="decreaseVirtualCpu"/>
</conditionTrueBranch>
<conditionFalseBranch
id="_nZJv1oCyEeKnieBrE9C24w"
name="decreaseServers">
<steps
xsi:type="adaptation:ActionReference"
id="decreaseServers"
predecessor="_xUQHAICyEeKnieBrE9C24w"
successor="_xx9WsYCyEeKnieBrE9C24w"
refersTo="1287127123"/>
<steps
xsi:type="adaptation:StartAction"
id="_xUQHAICyEeKnieBrE9C24w"
successor="decreaseServers"/>
<steps
xsi:type="adaptation:StopAction"
id="_xx9WsYCyEeKnieBrE9C24w"
predecessor="decreaseServers"/>
</conditionFalseBranch>
</steps>
<steps
xsi:type="adaptation:StopAction"
id="432"
predecessor="branchDecrease"/>
</implementedPlan>
</tactics>
<actions id="2"
name="addVCPU">
<referredAdaptationPoint
xsi:type="adaptationpoints:ModelVariableConfigurationRange"
href="AdaptationPoints.xmi#238746123"/>
<adaptationActionOperation
adaptationOperationScope="RANDOM"
adaptationOperationDirection="INCREASE"/>
</actions>
<actions id="345242342"
name="removeCPU">
<referredAdaptationPoint
xsi:type="adaptationpoints:ModelVariableConfigurationRange"
href="AdaptationPoints.xmi#238746123"/>
<adaptationActionOperation
adaptationOperationScope="RANDOM"
adaptationOperationDirection="DECREASE"/>
</actions>
<actions id="41123123"
name="addAppServer">
<referredAdaptationPoint
xsi:type="adaptationpoints:ModelEntityConfigurationRange"
href="AdaptationPoints.xmi#12312412412"/>
<adaptationActionOperation
adaptationOperationScope="RANDOM"
adaptationOperationDirection="INCREASE"/>
</actions>
<actions id="1287127123"
name="removeAppServer">
<referredAdaptationPoint
xsi:type="adaptationpoints:ModelEntityConfigurationRange"
href="AdaptationPoints.xmi#12312412412"/>
<adaptationActionOperation
adaptationOperationScope="RANDOM"
adaptationOperationDirection="DECREASE"/>
</actions>
<strategies
id="s1"
name="PUSH">
<triggeringEvents
id="12345"
name="SlaViolatedEvent"/>
<tactics
id="wt1"
name="weightedTacticIncreaseResources"
usedTactic="2341234"
currentWeight="100.0"
defaultWeight="100.0"/>
<weightingFunction
id="wf1"
name="weightedSum">
<weightedMetrics
id="_TzHMgGVXEeK4L53_AeGtGA"
name="utilizationMetricWeight"
weight="1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#2"/>
</weightedMetrics>
<weightedMetrics
id="_QKf6YGllEeKYrN0mFHpJCQ"
name="goldCustomerResponseTimeWeight"
weight="-2.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#3"/>
</weightedMetrics>
<weightedMetrics
id="_UBs1cGllEeKYrN0mFHpJCQ"
name="silverCustomerResponseTimeWeight"
weight="-1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#4"/>
</weightedMetrics>
</weightingFunction>
</strategies>
<strategies
id="_Cg--ZYAnEeKW2vVcg5ekRw"
name="PULL">
<triggeringEvents
id="_H_MTgIAnEeKW2vVcg5ekRw"
name="ScheduledMaintenanceEvent"/>
<tactics
id="_Tk5LUYAnEeKW2vVcg5ekRw"
name="weightedTacticDecreaseResources"
usedTactic="123123"
currentWeight="100.0"
defaultWeight="100.0"/>
<weightingFunction
id="wf1"
name="weightedSum">
<weightedMetrics
id="_TzHMgGVXEeK4L53_AeGtGA1"
name="utilizationMetricWeight"
weight="1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#2"/>
</weightedMetrics>
<weightedMetrics
id="_QKf6YGllEeKYrN0mFHpJCQ1"
name="goldCustomerResponseTimeWeight"
weight="-2.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#3"/>
</weightedMetrics>
<weightedMetrics
id="_UBs1cGllEeKYrN0mFHpJCQ1"
name="silverCustomerResponseTimeWeight"
weight="-1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#4"/>
</weightedMetrics>
</weightingFunction>
</strategies>
<goal description="<<Maintain SLAs of all serivces while using resources efficiently>>">
<objectives
id="_GdVkoKaGEeKsaqdh-1smGw"
name="ServiceLevelAgreements"
specification=""/>
<objectives
id="_G-ctoKaGEeKsaqdh-1smGw"
name="resourceEfficiency"/>
</goal>
</adaptation:AdaptationProcess>