diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/MetricTypes.xmi b/Examples/BlueYonder_Case_Study/multiple_customers/MetricTypes.xmi
new file mode 100644
index 0000000000000000000000000000000000000000..e29b0a6b8be51424ac233718c3c33952cb164f89
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/MetricTypes.xmi
@@ -0,0 +1,9 @@
+<?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="DummyPerfDataRepo">
+  <metricTypes id="2" name="AverageResponseTimeCustomerA"/>
+  <metricTypes id="_K9snIeLvEeK-n49tvUhS6w" name="AverageResponseTimeCustomerB"/>
+  <metricTypes id="3" name="OverallUtilizationDesc1"/>
+  <metricTypes id="4" name="OverallUtilizationDesc2"/>
+  <metricTypes id="5" name="OverallUtilizationDesc3"/>
+  <metricTypes id="6" name="OverallUtilizationDesc4"/>
+</perfdatarepo:PerformanceDataRepository>
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.adaptation b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.adaptation
new file mode 100644
index 0000000000000000000000000000000000000000..52ddb976d55655c691ea58e01823dd6cdb4a93db
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.adaptation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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" id="_c_OSsOesEeK-n49tvUhS6w" name="BY-MultipleCustomersTradeOff">
+  <tactics id="_MhuwEOetEeK-n49tvUhS6w" name="IncreaseResourcesOfCustomerB">
+    <implementedPlan id="_PIaecOetEeK-n49tvUhS6w" name="IncreaseResourcesOfCustomerB-Plan">
+      <steps xsi:type="adaptation:StartAction" id="_PYrIAOetEeK-n49tvUhS6w" successor="_QGM8ZOetEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:ActionReference" id="_QGM8ZOetEeK-n49tvUhS6w" predecessor="_PYrIAOetEeK-n49tvUhS6w" successor="_PsusceetEeK-n49tvUhS6w" refersTo="_WbEzweetEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:StopAction" id="_PsusceetEeK-n49tvUhS6w" predecessor="_QGM8ZOetEeK-n49tvUhS6w"/>
+    </implementedPlan>
+  </tactics>
+  <tactics id="_QY-LwefLEeK-n49tvUhS6w" name="IncreaseResourcesOfCustomerA">
+    <implementedPlan id="_TH8TcOfLEeK-n49tvUhS6w" name="IncreaseResourcesOfCustomerA-Plan">
+      <steps xsi:type="adaptation:StartAction" id="_VtuC4OfLEeK-n49tvUhS6w" successor="_Wp9BpOfLEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:ActionReference" id="_Wp9BpOfLEeK-n49tvUhS6w" predecessor="_VtuC4OfLEeK-n49tvUhS6w" successor="_WR7jMefLEeK-n49tvUhS6w" refersTo="_bWfpQefLEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:StopAction" id="_WR7jMefLEeK-n49tvUhS6w" predecessor="_Wp9BpOfLEeK-n49tvUhS6w"/>
+    </implementedPlan>
+  </tactics>
+  <tactics id="_kadK0efQEeK-n49tvUhS6w" name="MigrateResourcesOfCustomerA">
+    <implementedPlan id="_mOXYcOfQEeK-n49tvUhS6w" name="MigrateResourcesOfCustomerA-Plan">
+      <steps xsi:type="adaptation:StartAction" id="_mpi4kOfQEeK-n49tvUhS6w" successor="_m--9FOfQEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:ActionReference" id="_m--9FOfQEeK-n49tvUhS6w" predecessor="_mpi4kOfQEeK-n49tvUhS6w" successor="_ncibwefQEeK-n49tvUhS6w" refersTo="_uEBGEefQEeK-n49tvUhS6w"/>
+      <steps xsi:type="adaptation:StopAction" id="_ncibwefQEeK-n49tvUhS6w" predecessor="_m--9FOfQEeK-n49tvUhS6w"/>
+    </implementedPlan>
+  </tactics>
+  <actions id="_WbEzweetEeK-n49tvUhS6w" name="IncreasePredictionServerInstanceForCustomerB">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelEntityConfigurationRange" href="default.adaptationpoints#_2387d8uUpEeK-n49tvUhS6w"/>
+    <adaptationActionOperation adaptationOperationScope="THIS" adaptationOperationDirection="INCREASE"/>
+  </actions>
+  <actions id="_bWfpQefLEeK-n49tvUhS6w" name="IncreasePredictionServerInstanceForCustomerA">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelEntityConfigurationRange" href="default.adaptationpoints#_0d8uUeepEeK-n49tvUhS6w"/>
+    <adaptationActionOperation adaptationOperationScope="THIS" adaptationOperationDirection="INCREASE"/>
+  </actions>
+  <actions id="_uEBGEefQEeK-n49tvUhS6w" name="MigratePredictionServerInstanceOfCustomerA">
+    <referredAdaptationPoint xsi:type="adaptationpoints:ModelEntityConfigurationRange" href="default.adaptationpoints#__wIDAKElEeKDl52Xojo4CQ"/>
+    <adaptationActionOperation adaptationOperationScope="RANDOM" adaptationOperationDirection="MIGRATE"/>
+  </actions>
+  <strategies id="_gyo58uesEeK-n49tvUhS6w" name="ResolveResourceBottleneck-CustomerB" objective="_rcP88OesEeK-n49tvUhS6w">
+    <triggeringEvents id="_-oOCkOesEeK-n49tvUhS6w" name="WorkloadUpdate-CustomerB"/>
+    <tactics id="_FWnNMeetEeK-n49tvUhS6w" name="IncreaseResources" usedTactic="_MhuwEOetEeK-n49tvUhS6w" currentWeight="10.0" defaultWeight="10.0"/>
+    <weightingFunction id="_hKb5cuetEeK-n49tvUhS6w" name="WeightingFunction-CustomerB" weightingFunctionImplementation="edu.kit.ipd.descartes.adaptation.evaluation.weightingfunction.performance.WeightedSum">
+      <weightedMetrics id="_kiKqQOetEeK-n49tvUhS6w" name="AvgResponseTimeForCustomerB-Weight" weight="-2.0">
+        <metricType href="MetricTypes.xmi#_K9snIeLvEeK-n49tvUhS6w"/>
+      </weightedMetrics>
+    </weightingFunction>
+  </strategies>
+  <strategies id="_Z8ov1efKEeK-n49tvUhS6w" name="ResolveResourceBottleneck-CustomerA" objective="_fXhrMOfKEeK-n49tvUhS6w">
+    <triggeringEvents id="_Az4tQOfLEeK-n49tvUhS6w" name="SLAviolated-CustomerA"/>
+    <tactics id="_lvonUefLEeK-n49tvUhS6w" name="IncreaseResourcesOfCustomerA" usedTactic="_QY-LwefLEeK-n49tvUhS6w" currentWeight="100.0" defaultWeight="100.0"/>
+    <tactics id="_fG60oefQEeK-n49tvUhS6w" name="MigrateResourcesOfCustomerA" usedTactic="_kadK0efQEeK-n49tvUhS6w" currentWeight="10.0" defaultWeight="10.0"/>
+    <weightingFunction id="_2g9E4ufKEeK-n49tvUhS6w" name="WeightingFunction-CustomerA" weightingFunctionImplementation="edu.kit.ipd.descartes.adaptation.evaluation.performance.weightingfunction.WeightedSum">
+      <weightedMetrics id="_6SxJoOfKEeK-n49tvUhS6w" name="AvgResponseTimeForCustomerA-Weight" weight="-10.0">
+        <metricType href="MetricTypes.xmi#2"/>
+      </weightedMetrics>
+    </weightingFunction>
+  </strategies>
+  <goal description="EnsureSLAwhileMaintingResourceEfficiency">
+    <objectives id="_rcP88OesEeK-n49tvUhS6w" name="SLA-CustomerB">
+      <specifications value="1800.0" relationalOperator="LESS_EQUAL">
+        <metricType href="MetricTypes.xmi#_K9snIeLvEeK-n49tvUhS6w"/>
+      </specifications>
+    </objectives>
+    <objectives id="_fXhrMOfKEeK-n49tvUhS6w" name="SLA-CustomerA">
+      <specifications value="1000.0" relationalOperator="LESS_EQUAL">
+        <metricType href="MetricTypes.xmi#2"/>
+      </specifications>
+    </objectives>
+  </goal>
+</adaptation:AdaptationProcess>
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.launch b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.launch
new file mode 100644
index 0000000000000000000000000000000000000000..89b71218197f99597d5cba3ae20d1f911e9f796b
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/AdaptationControl.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="edu.kit.ipd.descartes.adaptation.AdaptationControl"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="../by_dmm_multiplecustomers/by-multiple_customers.properties"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="edu.kit.ipd.descartes.adaptation"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-enableassertions"/>
+</launchConfiguration>
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.pdr b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.pdr
new file mode 100644
index 0000000000000000000000000000000000000000..99f9f36ef15c9418a98347fbbf8f1b048ad7cd1b
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.pdr
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="ASCII"?>
+<repository:ObservationRepository xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:domain="http://descartes.ipd.kit.edu/ql/models/mapping/domain/1.0" xmlns:repository="http://descartes.ipd.kit.edu/ql/models/repository/repository/1.0" startTimestamp="2013-06-26T15:00:0.000+0200" latestObservation="//@observations.0" latestImpact="//@impacts.0">
+  <impacts identifier="Impact1" timestamp="2013-06-07T15:04:17.663+0200" before="//@observations.0" after="//@observations.1"/>
+  <impacts identifier="Impact2" timestamp="2013-06-07T15:04:17.663+0200" before="//@observations.1" after="//@observations.2"/>
+  <impacts identifier="Impact3" timestamp="2013-06-07T15:04:17.663+0200" before="//@observations.2" after="//@observations.3"/>
+  <observations identifier="Observation0: (PAR_YPS_DESC4, SIMUCOM_1000MEAS) Xreq-par-4ps-desc1-Yps-desc4-gw-desc3-db-desc2-predict-Z ps=0-req=40-size=500000" timestamp="2013-06-07T15:04:17.647+0200">
+   <observation modelLocation="by-500kpar.pdr" doFModelLocation="">
+    <resources identifier="_oZU-UK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc2DatabaseServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="15.392212521044648" accuracy="1"/>
+    </resources>
+    <resources identifier="_uZslUK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc1PredictionServerSlow">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="0.0" accuracy="1"/>
+    </resources>
+    <resources identifier="_3045MGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc3GatewayServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="3.4979377968103997" accuracy="1"/>
+    </resources>
+    <resources identifier="_8JY0QGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc4PredictionServerFast">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="25.154287457127667" accuracy="1"/>
+    </resources>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerA>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerA >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerA" valid="true" value="900" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerB>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerB >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerB" valid="true" value="2000" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerC>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerC >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerC" valid="true" value="5000" accuracy="1"/>
+    </services>
+   </observation>
+  </observations>
+  <observations identifier="Observation1: (PAR_YPS_DESC4, SIMUCOM_1000MEAS) Xreq-par-5ps-desc1-Yps-desc4-gw-desc3-db-desc2-predict-Z ps=0-req=40-size=500000" timestamp="2013-06-07T15:04:17.647+0200">
+   <observation modelLocation="by-500kpar.pdr" doFModelLocation="">
+    <resources identifier="_oZU-UK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc2DatabaseServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="15.392212521044648" accuracy="1"/>
+    </resources>
+    <resources identifier="_uZslUK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc1PredictionServerSlow">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="0.0" accuracy="1"/>
+    </resources>
+    <resources identifier="_3045MGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc3GatewayServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="3.4979377968103997" accuracy="1"/>
+    </resources>
+    <resources identifier="_8JY0QGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc4PredictionServerFast">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="25.154287457127667" accuracy="1"/>
+    </resources>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerA>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerA >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerA" valid="true" value="1200" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerB>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerB >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerB" valid="true" value="1500" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerC>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerC >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerC" valid="true" value="6000" accuracy="1"/>
+    </services>
+   </observation>
+  </observations>
+  <observations identifier="Observation2: (PAR_YPS_DESC4, SIMUCOM_1000MEAS) Xreq-par-4ps-desc1-Yps-desc4-gw-desc3-db-desc2-predict-Z ps=1-req=40-size=500000" timestamp="2013-06-07T15:04:17.647+0200">
+   <observation modelLocation="by-500kpar.pdr" doFModelLocation="">
+    <resources identifier="_oZU-UK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc2DatabaseServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="15.392212521044648" accuracy="1"/>
+    </resources>
+    <resources identifier="_uZslUK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc1PredictionServerSlow">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="0.0" accuracy="1"/>
+    </resources>
+    <resources identifier="_3045MGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc3GatewayServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="3.4979377968103997" accuracy="1"/>
+    </resources>
+    <resources identifier="_8JY0QGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc4PredictionServerFast">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="25.154287457127667" accuracy="1"/>
+    </resources>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerA>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerA >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerA" valid="true" value="1100" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerB>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerB >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerB" valid="true" value="1400" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerC>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerC >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerC" valid="true" value="5500" accuracy="1"/>
+    </services>
+   </observation>
+  </observations>
+    <observations identifier="Observation3: (PAR_YPS_DESC4, SIMUCOM_1000MEAS) Xreq-par-3ps-desc1-Yps-desc4-gw-desc3-db-desc2-predict-Z ps=2-req=40-size=500000" timestamp="2013-06-07T15:04:17.647+0200">
+   <observation modelLocation="by-500kpar.pdr" doFModelLocation="">
+    <resources identifier="_oZU-UK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc2DatabaseServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="15.392212521044648" accuracy="1"/>
+    </resources>
+    <resources identifier="_uZslUK8HEeGqG9wdcmTqrg" alias="OverallUtilisationofdesc1PredictionServerSlow">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="0.0" accuracy="1"/>
+    </resources>
+    <resources identifier="_3045MGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc3GatewayServer">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="3.4979377968103997" accuracy="1"/>
+    </resources>
+    <resources identifier="_8JY0QGV5EeKf2LJVcCQQCw" alias="OverallUtilisationofdesc4PredictionServerFast">
+     <probes xsi:type="domain:DecimalResult" metricName="OverallUtilisation" valid="true" value="25.154287457127667" accuracy="1"/>
+    </resources>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerA>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerA >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerA" valid="true" value="1000" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerB>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerB >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerB" valid="true" value="1300" accuracy="1"/>
+    </services>
+    <services identifier="ResponseTimeofCall_call_multiple0&lt;EntryLevelSystemCallid:CustomerC>" alias="Call_call_multiple0 &lt;EntryLevelSystemCall id: CustomerC >">
+     <probes xsi:type="domain:DecimalResult" metricName="AverageResponseTimeCustomerC" valid="true" value="5000" accuracy="1"/>
+    </services>
+   </observation>
+  </observations>
+</repository:ObservationRepository>
\ No newline at end of file
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.properties b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.properties
new file mode 100644
index 0000000000000000000000000000000000000000..1f2719e1560e231b10de68cd5a12f12b094e7ee6
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.properties
@@ -0,0 +1,8 @@
+process.name=BlueYonderCustomerMutlipleCustomersTradeoffAlgorithm
+adaptationprocess.instance=../Examples/BlueYonder_Case_Study/multiple_customers/by-multiple_customers.adaptation
+perfdatarepo.metamodel=edu.kit.ipd.descartes.ql.models.repository.ObservationRepository
+perfdatarepo.instance=../Examples/BlueYonder_Case_Study/multiple_customers/by-multiplecustomers.pdr
+process.maxiterations=30
+qosdegradation.accept=true
+# The list of triggering events can be found in EventTypeEnum.java ## WorkloadUpdate-CustomerB, SLAviolated-CustomerA
+event.type=WorkloadUpdate-CustomerB
\ No newline at end of file
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/default.adaptationpoints b/Examples/BlueYonder_Case_Study/multiple_customers/default.adaptationpoints
new file mode 100644
index 0000000000000000000000000000000000000000..e8b4c976d16ccb69b15cdd2fb13f2234e1b9f5af
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/default.adaptationpoints
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<adaptationpoints:AdaptationPointDescriptions xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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="_7XQlUKElEeKDl52Xojo4CQ" name="Blue Yonder System Adaptation Points">
+  <adaptationPoints xsi:type="adaptationpoints:ModelEntityConfigurationRange" id="__wIDAKElEeKDl52Xojo4CQ" name="PredictionServer-CustomerA-Deployment">
+    <variationPossibility xsi:type="adaptationpoints:SetOfConfigurations">
+      <variants xsi:type="resourcelandscape:ComputingInfrastructure" href="by.resourcelandscape#_ZmPKIJB3EeKmfoqNH_-HEA"/>
+      <variants xsi:type="resourcelandscape:ComputingInfrastructure" href="by.resourcelandscape#_hWcXEJB3EeKmfoqNH_-HEA"/>
+    </variationPossibility>
+    <adaptableEntity xsi:type="containerrepository:ContainerTemplate" href="by.containerrepository#_IG-A4KEgEeKDl52Xojo4CQ"/>
+  </adaptationPoints>
+  <adaptationPoints xsi:type="adaptationpoints:ModelEntityConfigurationRange" id="_0d8uUeepEeK-n49tvUhS6w" name="PredictionServerInstances-CustomerA">
+    <variationPossibility xsi:type="adaptationpoints:PropertyRange">
+      <minValueConstraint oclString="self.referringContainers->size() >= 1" name="minAmountOfPredictionServerInstances"/>
+      <maxValueConstraint oclString="let containments : Integer = self.referringContainers->first().oclAsType(resourcelandscape::RuntimeEnvironment).containedIn.contains->size(), maxInstances : Integer = self.referringContainers->first().oclAsType(resourcelandscape::RuntimeEnvironment).containedIn.template.templateConfig->first().oclAsType(resourceconfiguration::ActiveResourceSpecification).processingResourceSpecifications->asOrderedSet()->first().nrOfParProcUnits.number * 2  in containments &lt;= maxInstances" name="maxAmountOfPredictionServerInstances"/>
+    </variationPossibility>
+    <adaptableEntity xsi:type="containerrepository:ContainerTemplate" href="by.containerrepository#_IG-A4KEgEeKDl52Xojo4CQ"/>
+  </adaptationPoints>
+  <adaptationPoints xsi:type="adaptationpoints:ModelEntityConfigurationRange" id="_2387d8uUpEeK-n49tvUhS6w" name="PredictionServerInstances-CustomerB">
+    <variationPossibility xsi:type="adaptationpoints:PropertyRange">
+      <minValueConstraint oclString="self.referringContainers->size() >= 1" name="minAmountOfPredictionServerInstances"/>
+      <maxValueConstraint oclString="self.referringContainers->size() &lt;= 20" name="maxAmountOfPredictionServerInstances"/>
+    </variationPossibility>
+    <adaptableEntity xsi:type="containerrepository:ContainerTemplate" href="by.containerrepository#_RG-A4KEgEeKDl52Xojo4CQ"/>
+  </adaptationPoints>
+</adaptationpoints:AdaptationPointDescriptions>
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/default.resourcetype b/Examples/BlueYonder_Case_Study/multiple_customers/default.resourcetype
new file mode 100644
index 0000000000000000000000000000000000000000..b304da21876af180ac951f45402a01034971f9ae
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/default.resourcetype
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resourcetype:ResourceTypeRepository xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:resourcetype="http://www.descartes-research.net/metamodel/resourcetype/0.1">
+  <resourceTypes xsi:type="resourcetype:ProcessingResourceType" id="_3ql5IJB4EeKmfoqNH_-HEA" name="CPU"/>
+  <resourceTypes xsi:type="resourcetype:ProcessingResourceType" id="_52tLYJB4EeKmfoqNH_-HEA" name="DELAY"/>
+</resourcetype:ResourceTypeRepository>
diff --git a/Examples/BlueYonder_Case_Study/multiple_customers/readme.txt b/Examples/BlueYonder_Case_Study/multiple_customers/readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca66e93ebbd716cb3aacf1fce9165e7ac2560520
--- /dev/null
+++ b/Examples/BlueYonder_Case_Study/multiple_customers/readme.txt
@@ -0,0 +1,16 @@
+Phase 1
+1. Set correct path to properties file
+2. Adjust settings
+	2.1. Set event in properies file to WorkloadUpdate-CustomerB
+	2.2. Set lastImpact in PDR to Observation0
+3. Start adaptation
+4. Check results (resoure landscape model). PS_CustB should have one more PS instance.
+
+Phase 2
+1. Set event in properies file to SLAviolated-CustomerA
+2. Set lastImpact in PDR to Observation1
+3. Check results --> 	Applied tactic   1:   IncreaseResourcesOfCustomerB. Result ID:             NoResult. Successful:  true.
+						Applied tactic   2:   IncreaseResourcesOfCustomerA. Result ID:             NoResult. Successful: false.
+						Applied tactic   3:    MigrateResourcesOfCustomerA. Result ID:             NoResult. Successful:  true.
+						Applied tactic   4:    MigrateResourcesOfCustomerA. Result ID:             NoResult. Successful:  true.
+						PS1 + PS2 of CustA are now on desc4
\ No newline at end of file