-
Nikolaus Huber authored
git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11238 9e42b895-fcda-4063-8a3b-11be15eb1bbd
Nikolaus Huber authoredgit-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11238 9e42b895-fcda-4063-8a3b-11be15eb1bbd
PushPullAdaptationProcess.xmi 12.76 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:containerrepository="http://www.descartes-research.net/metamodel/containerrepository/0.1"
xmlns:resourcelandscape="http://www.descartes-research.net/metamodel/resourcelandscape/0.1"
id="_07SqMKaFEeKsaqdh-1smGw"
name="PushPullAdaptationProcess">
<tactics id="2341234"
name="addResources">
<implementedPlan
id="qweqweqwe"
name="addResourcesAdaptationPlan">
<steps
xsi:type="adaptation:StartAction"
id="_PXgN0KaHEeKsaqdh-1smGw"
successor="_Qych0qaHEeKsaqdh-1smGw"/>
<steps
xsi:type="adaptation:StopAction"
id="_QNxHcaaHEeKsaqdh-1smGw"
predecessor="_Qych0qaHEeKsaqdh-1smGw"/>
<steps
xsi:type="adaptation:LoopAction"
id="_Qych0qaHEeKsaqdh-1smGw"
predecessor="_PXgN0KaHEeKsaqdh-1smGw"
successor="_QNxHcaaHEeKsaqdh-1smGw"
counter="1">
<body
id="_UpH4cKaHEeKsaqdh-1smGw"
name="addVCPUorAppServer">
<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="addVCPU">
<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="addAppServer">
<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"/>
</body>
</steps>
</implementedPlan>
</tactics>
<tactics id="_zFC2EaaMEeKdn_E8M08Q_g"
name="undoPreviousAction">
<implementedPlan
id="_1_t3cKaMEeKdn_E8M08Q_g"
name="undoPreviousActionPlan">
<steps
xsi:type="adaptation:StartAction"
id="_9awssKaMEeKdn_E8M08Q_g"
successor="_-Pacw6aMEeKdn_E8M08Q_g"/>
<steps
xsi:type="adaptation:BranchAction"
id="_-Pacw6aMEeKdn_E8M08Q_g"
predecessor="_9awssKaMEeKdn_E8M08Q_g"
successor="_9ysEgaaMEeKdn_E8M08Q_g"
condition="">
<context
xsi:type="containerrepository:ContainerTemplate"
href="ContainerTemplateRepo.xmi#2"/>
<conditionTrueBranch
id="_KP82cKaNEeKdn_E8M08Q_g"
name="conditionTrue">
<steps
xsi:type="adaptation:StartAction"
id="_UUI4MKaNEeKdn_E8M08Q_g"
successor="_dl-P9KaNEeKdn_E8M08Q_g"/>
<steps
xsi:type="adaptation:StopAction"
id="_Uv0uoaaNEeKdn_E8M08Q_g"
predecessor="_dl-P9KaNEeKdn_E8M08Q_g"/>
<steps
xsi:type="adaptation:ActionReference"
id="_dl-P9KaNEeKdn_E8M08Q_g"
predecessor="_UUI4MKaNEeKdn_E8M08Q_g"
successor="_Uv0uoaaNEeKdn_E8M08Q_g"
refersTo="41123123"/>
</conditionTrueBranch>
<conditionFalseBranch
id="_K4GbkaaNEeKdn_E8M08Q_g"
name="conditionFalse">
<steps
xsi:type="adaptation:StartAction"
id="_VFQMEKaNEeKdn_E8M08Q_g"
successor="_mMx4RKaOEeKlTfD7QKQIcw"/>
<steps
xsi:type="adaptation:StopAction"
id="_VYB-IaaNEeKdn_E8M08Q_g"
predecessor="_mMx4RKaOEeKlTfD7QKQIcw"/>
<steps
xsi:type="adaptation:ActionReference"
id="_mMx4RKaOEeKlTfD7QKQIcw"
predecessor="_VFQMEKaNEeKdn_E8M08Q_g"
successor="_VYB-IaaNEeKdn_E8M08Q_g"
refersTo="2"/>
</conditionFalseBranch>
</steps>
<steps
xsi:type="adaptation:StopAction"
id="_9ysEgaaMEeKdn_E8M08Q_g"
predecessor="_-Pacw6aMEeKdn_E8M08Q_g"/>
</implementedPlan>
</tactics>
<tactics id="123123"
name="removeResources">
<implementedPlan
id="123123123"
name="removeResourcesAdaptationPlan">
<steps
xsi:type="adaptation:StartAction"
id="_iqERYKaMEeKdn_E8M08Q_g"
successor="_jqTmYqaMEeKdn_E8M08Q_g"/>
<steps
xsi:type="adaptation:StopAction"
id="_jO2ZcaaMEeKdn_E8M08Q_g"
predecessor="_jqTmYqaMEeKdn_E8M08Q_g"/>
<steps
xsi:type="adaptation:LoopAction"
id="_jqTmYqaMEeKdn_E8M08Q_g"
predecessor="_iqERYKaMEeKdn_E8M08Q_g"
successor="_jO2ZcaaMEeKdn_E8M08Q_g"
counter="1">
<body
id="_oCJwYKaMEeKdn_E8M08Q_g"
name="removeVCPUorAppServer">
<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="addVCPU">
<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="removeAppServer">
<steps
xsi:type="adaptation:ActionReference"
id="234983249623"
predecessor="_xUQHAICyEeKnieBrE9C24w"
successor="_xx9WsYCyEeKnieBrE9C24w"
refersTo="1287127123"/>
<steps
xsi:type="adaptation:StartAction"
id="_xUQHAICyEeKnieBrE9C24w"
successor="234983249623"/>
<steps
xsi:type="adaptation:StopAction"
id="_xx9WsYCyEeKnieBrE9C24w"
predecessor="234983249623"/>
</conditionFalseBranch>
</steps>
<steps
xsi:type="adaptation:StopAction"
id="432"
predecessor="branchDecrease"/>
</body>
</steps>
</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"
objective="_GdVkoKaGEeKsaqdh-1smGw">
<triggeringEvents
id="12345"
name="SlaViolatedEvent"/>
<tactics
id="wt1"
name="AddResourcesWeightedTactic"
usedTactic="2341234"
currentWeight="1.0"
defaultWeight="1.0"/>
<weightingFunction
id="wf1"
name="WeightedSum">
<weightedMetrics
id="_TzHMgGVXEeK4L53_AeGtGA"
name="UtilizationWeight"
weight="1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#2"/>
</weightedMetrics>
<weightedMetrics
id="_QKf6YGllEeKYrN0mFHpJCQ"
name="ResponseTimeWeight"
weight="-2.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#3"/>
</weightedMetrics>
</weightingFunction>
</strategies>
<strategies
id="_Cg--ZYAnEeKW2vVcg5ekRw"
name="PULL"
objective="_G-ctoKaGEeKsaqdh-1smGw">
<triggeringEvents
id="_H_MTgIAnEeKW2vVcg5ekRw"
name="ScheduledMaintenanceEvent"/>
<tactics
id="_Tk5LUYAnEeKW2vVcg5ekRw"
name="RemoveResourcesWeightedTactic"
usedTactic="123123"
currentWeight="1.0"
defaultWeight="1.0"/>
<tactics
id="_4j5FkaamEeKwhcuIujY6Yw"
name="UndoPreviousActionWeightedTactic"
usedTactic="_zFC2EaaMEeKdn_E8M08Q_g"
currentWeight="0.5"
defaultWeight="0.5"/>
<weightingFunction
id="wf2"
name="WeightedSum">
<weightedMetrics
id="_TzHMgGVXEeK4L53_AeGtGA1"
name="UtilizationWeight"
weight="1.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#2"/>
</weightedMetrics>
<weightedMetrics
id="_Fc5YUKanEeKwhcuIujY6Yw"
name="ResponseTimeWeight"
weight="-2.0">
<metricType
href="PerformanceDataRepositoryDummy.xmi#3"/>
</weightedMetrics>
</weightingFunction>
</strategies>
<goal description="<<Maintain SLAs of all serivces using resources efficiently>>">
<objectives
id="_GdVkoKaGEeKsaqdh-1smGw"
name="MaintainSLAs"
specification="90% Quantile of ResponseTime"/>
<objectives
id="_G-ctoKaGEeKsaqdh-1smGw"
name="OptimizeResourceEfficiency"
specification="85% > Utilization > 45%"/>
</goal>
</adaptation:AdaptationProcess>