From 21ddffb4539c7976c12560c1a8b59cab1ce492c6 Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Tue, 16 Apr 2013 12:36:01 +0000
Subject: [PATCH] git-svn-id:
 https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11234
 9e42b895-fcda-4063-8a3b-11be15eb1bbd

---
 .../PushPullAdaptationProcess.xmi             | 324 ++++++------------
 1 file changed, 96 insertions(+), 228 deletions(-)

diff --git a/edu.kit.ipd.descartes.adaptation.test/test_models/SEAMS_Case_Study/PushPullAdaptationProcess.xmi b/edu.kit.ipd.descartes.adaptation.test/test_models/SEAMS_Case_Study/PushPullAdaptationProcess.xmi
index df19e13a..ffb700f2 100644
--- a/edu.kit.ipd.descartes.adaptation.test/test_models/SEAMS_Case_Study/PushPullAdaptationProcess.xmi
+++ b/edu.kit.ipd.descartes.adaptation.test/test_models/SEAMS_Case_Study/PushPullAdaptationProcess.xmi
@@ -1,254 +1,122 @@
 <?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 &lt; 4)) and RuntimeEnvironment.allInstances()->select( re | re.template = self.template )->forAll(re | re.template.templateConfig.oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->forAll(nrOfParProcUnits.number &lt; 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>
+<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 &lt; 4)) and RuntimeEnvironment.allInstances()->select( re | re.template = self.template )->forAll(re | re.template.templateConfig.oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->forAll(nrOfParProcUnits.number &lt; 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>
-      <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"/>
+  <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="_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 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="432"
-          predecessor="branchDecrease"/>
+      <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 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 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 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 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"/>
+  <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 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 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"/>
+  <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 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 id="_UBs1cGllEeKYrN0mFHpJCQ1" name="silverCustomerResponseTimeWeight" weight="-1.0">
+        <metricType href="PerformanceDataRepositoryDummy.xmi#4"/>
       </weightedMetrics>
     </weightingFunction>
   </strategies>
   <goal description="&lt;&lt;Maintain SLAs of all serivces while using resources efficiently>>">
-    <objectives
-        id="_GdVkoKaGEeKsaqdh-1smGw"
-        name="ServiceLevelAgreements"
-        specification=""/>
-    <objectives
-        id="_G-ctoKaGEeKsaqdh-1smGw"
-        name="resourceEfficiency"/>
+    <objectives id="_GdVkoKaGEeKsaqdh-1smGw" name="ServiceLevelAgreements" specification=""/>
+    <objectives id="_G-ctoKaGEeKsaqdh-1smGw" name="resourceEfficiency"/>
   </goal>
 </adaptation:AdaptationProcess>
-- 
GitLab