-
Nikolaus Huber authored
git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11234 9e42b895-fcda-4063-8a3b-11be15eb1bbd
Nikolaus Huber authoredgit-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11234 9e42b895-fcda-4063-8a3b-11be15eb1bbd
PushPullAdaptationProcess.xmi 10.24 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">
<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>