diff --git a/Examples/SEAMS_Case_Study/pushpull.adaptation b/Examples/SEAMS_Case_Study/pushpull.adaptation
new file mode 100644
index 0000000000000000000000000000000000000000..edd205ac5774b6e6170b242ad382a24f93208327
--- /dev/null
+++ b/Examples/SEAMS_Case_Study/pushpull.adaptation
@@ -0,0 +1,119 @@
+<?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 &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.resourcelandscape#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="default.containerrepository#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.resourcelandscape#12"/>
+            <conditionTrueBranch id="_k0FLAICyEeKnieBrE9C24w" name="addVCPU">
+              <steps xsi:type="adaptation:ActionReference" id="123487612497162" predecessor="_q13HQICyEeKnieBrE9C24w" successor="_rJvFgYCyEeKnieBrE9C24w" refersTo="345242342"/>
+              <steps xsi:type="adaptation:StartAction" id="_q13HQICyEeKnieBrE9C24w" successor="123487612497162"/>
+              <steps xsi:type="adaptation:StopAction" id="_rJvFgYCyEeKnieBrE9C24w" predecessor="123487612497162"/>
+            </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="default.adaptationpoints#238746123"/>
+    <adaptationActionOperation adaptationOperationScope="RANDOM" adaptationOperationDirection="INCREASE"/>
+  </actions>
+  <actions id="345242342" name="RemoveCPU">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelVariableConfigurationRange" href="default.adaptationpoints#238746123"/>
+    <adaptationActionOperation adaptationOperationScope="RANDOM" adaptationOperationDirection="DECREASE"/>
+  </actions>
+  <actions id="41123123" name="AddAppServer">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelEntityConfigurationRange" href="default.adaptationpoints#12312412412"/>
+    <adaptationActionOperation adaptationOperationScope="RANDOM" adaptationOperationDirection="INCREASE"/>
+  </actions>
+  <actions id="1287127123" name="RemoveAppServer">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelEntityConfigurationRange" href="default.adaptationpoints#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="60.2" defaultWeight="1.0">
+      <lastImpact href="simucomresults.perfdatarepo#3df1q3eq"/>
+    </tactics>
+    <weightingFunction id="wf1" name="WeightedSum">
+      <weightedMetrics id="_TzHMgGVXEeK4L53_AeGtGA" name="UtilizationWeight" weight="1.0">
+        <metricType href="simucomresults.perfdatarepo#2"/>
+      </weightedMetrics>
+      <weightedMetrics id="_QKf6YGllEeKYrN0mFHpJCQ" name="ResponseTimeWeight" weight="-2.0">
+        <metricType href="simucomresults.perfdatarepo#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="simucomresults.perfdatarepo#2"/>
+      </weightedMetrics>
+      <weightedMetrics id="_Fc5YUKanEeKwhcuIujY6Yw" name="ResponseTimeWeight" weight="-2.0">
+        <metricType href="simucomresults.perfdatarepo#3"/>
+      </weightedMetrics>
+    </weightingFunction>
+  </strategies>
+  <goal description="&lt;&lt;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>
diff --git a/Examples/SEAMS_Case_Study/simucomresults.perfdatarepo b/Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
new file mode 100644
index 0000000000000000000000000000000000000000..90f77264560c9daa38201250188e8895d96548b8
--- /dev/null
+++ b/Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ASCII"?>
+<perfdatarepo:PerformanceDataRepository xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:perfdatarepo="http://www.descartes-research.net/metamodel/perfdata/0.1" id="1" name="MeasuredPerformanceDataRepository">
+  <resultHistory id="123" name="ResultTactic1-1" timestamp="2012-12-12T00:00:00.000+0100">
+    <metricValues id="224123" name="Util" metricType="2" value="0.4"/>
+    <metricValues id="213123" name="RespTimeGold" metricType="3" value="150.0"/>
+    <metricValues id="124124123" name="RespTimeSilver" metricType="4" value="340.0"/>
+  </resultHistory>
+  <resultHistory id="assgddfs" name="ResultTactic1-2" timestamp="2012-12-12T01:00:00.000+0100">
+    <metricValues id="2241231" name="Util" metricType="2" value="0.6"/>
+    <metricValues id="2131232" name="RespTimeGold" metricType="3" value="120.0"/>
+    <metricValues id="1241241233" name="RespTimeSilver" metricType="4" value="300.0"/>
+  </resultHistory>
+  <resultHistory id="234ersdf" name="ResultTactic2-1" timestamp="2012-12-12T02:00:00.000+0100">
+    <metricValues id="12343as" name="Util" metricType="2" value="0.7"/>
+    <metricValues id="sdfsdvc" name="RespTimeGold" metricType="3" value="100.0"/>
+    <metricValues id="63412412" name="RespTimeSilver" metricType="4" value="280.0"/>
+  </resultHistory>
+  <resultHistory id="_l-JN8WiWEeKyvugiUTWsDg" name="ResultTactic2-2" timestamp="2012-12-12T03:00:00.000+0100">
+    <metricValues id="_uSiGAGiWEeKyvugiUTWsDg" name="Util" metricType="2" value="0.8"/>
+    <metricValues id="_vzap8GiWEeKyvugiUTWsDg" name="RespTimeGold" metricType="3" value="80.0"/>
+    <metricValues id="_wmMKsGiWEeKyvugiUTWsDg" name="RespTimeSilver" metricType="4" value="260.0"/>
+  </resultHistory>
+  <metricTypes id="2" name="Vm1Utilization"/>
+  <metricTypes id="3" name="CV_EJB_AvgResponseTime"/>
+  <metricTypes id="4" name="Purchase_AvgResponseTime"/>
+  <impactHistory id="_dJhhM2iXEeKyvugiUTWsDg" name="Tactic3-AllImproved" before="234ersdf" after="_l-JN8WiWEeKyvugiUTWsDg"/>
+  <impactHistory id="3df1q3eq" name="Tactic1-AllImproved" before="123" after="assgddfs"/>
+  <impactHistory id="232341241" name="Tactic2-AllImproved" before="assgddfs" after="234ersdf"/>
+</perfdatarepo:PerformanceDataRepository>