Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5_f21.xml
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5_f21.xml	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5_f21.xml	(revision 1591)
@@ -0,0 +1,387 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<environment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:noNamespaceSchemaLocation="../../../simulator/schemas/resources/DCwormsResSchema.xsd">
+
+   <timeEstimationPlugin>
+      <name>example.timeestimation.coolemall.PhaseBasedTimeEstimationPlugin</name>
+   </timeEstimationPlugin>
+	<resources  mode="CoolEmAll">
+		<computingResource class="Room" name="room">
+		
+		         <profile>
+            <powerProfile>
+               <energyEstimationPlugin>
+                  <name>experiments.e2dc2015.models.i5.TangDataCenterEnergyEstimationPlugin</name>
+               </energyEstimationPlugin>
+            </powerProfile>
+            <thermalProfile></thermalProfile>
+         </profile>
+			 <device name="FlowPump1" class="Inlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.FlowPumpInletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="FlowPump2" class="Outlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump2</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.FlowPumpOutletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="CoolingDevice1" class="CoolingDevice">
+	            <parameter name="class">
+	               <value>Refrigeration</value>
+	            </parameter>
+	            <parameter name="CRAHFanEfficiency">
+	               <value>0.60</value>
+	            </parameter>
+	            <parameter name="coolingCoilEfficiency">
+	               <value>0.95</value>
+	            </parameter>
+	            <parameter name="deltaThEx">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="CWT">
+	               <value>30</value>
+	            </parameter>
+	            <parameter name="deltaThDryCooler">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="coolingCapacityRated">
+	               <value>14000</value>
+	            </parameter>
+	            <parameter name="EERRated">
+	               <value>5</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/CoolingDevice1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.TangCoolingDeviceEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	            </profile>
+	         </device>
+			<computingResource class="Rack" count="1">
+			            <profile>
+               <powerProfile>
+                  <energyEstimationPlugin>
+                     <name>experiments.e2dc2015.models.i5.RackEnergyEstimationPlugin</name>
+                  </energyEstimationPlugin>
+               </powerProfile>
+               <thermalProfile></thermalProfile>
+            </profile>
+            	<computingResource class="NodeGroup" count="42">
+            			<device class="Fan" count="2">
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.i5.FanEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+								<powerStates>
+									<powerState>
+										<name>ON</name>
+										<powerUsage>19.8</powerUsage>
+									</powerState>
+									<powerState>
+										<name>OFF</name>
+										<powerUsage>0</powerUsage>
+									</powerState>
+								</powerStates>		
+								<parameter name="fanEfficiency">
+									<value>0.6</value>
+								</parameter>
+							</powerProfile>
+		  					<airThroughputProfile>
+		                        <airThroughputStates>
+		                           <airThroughputState>
+		                              <name>OFF</name>
+		                              <value>0.0000112</value>
+		                              <powerUsage>0</powerUsage>
+		                           </airThroughputState>
+		                            <airThroughputState>
+		                              <name>ON_10</name>
+		                              <value>0.00336</value>
+		                              <powerUsage>0.0198</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_20</name>
+		                              <value>0.00672</value>
+		                              <powerUsage>0.1584</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_30</name>
+		                              <value>0.01008</value>
+		                              <powerUsage>1.58</powerUsage>
+		                           </airThroughputState>	                           
+		                            <airThroughputState>
+		                              <name>ON_40</name>
+		                              <value>0.01344</value>
+		                              <powerUsage>2.89</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_50</name>
+		                              <value>0.0168</value>
+		                              <powerUsage>4.61</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_60</name>
+		                              <value>0.02016</value>
+		                              <powerUsage>6.77</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_70</name>
+		                              <value>0.02352</value>
+		                              <powerUsage>9.36</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_80</name>
+		                              <value>0.02688</value>
+		                              <powerUsage>12.39</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_90</name>
+		                              <value>0.03024</value>
+		                              <powerUsage>15.86</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_100</name>
+		                              <value>0.0336</value>
+		                              <powerUsage>19.8</powerUsage>
+		                           </airThroughputState>
+		                        </airThroughputStates>
+		                     </airThroughputProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+					</device>
+            	   <profile>
+                  <powerProfile>
+                     <energyEstimationPlugin>
+                        <name>experiments.e2dc2015.models.i5.NodeGroupEnergyEstimationPlugin</name>
+                     </energyEstimationPlugin>
+                  </powerProfile>
+               </profile>
+				<computingResource class="Node" count="6">
+					<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.i5.NodeEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>
+							<powerStates>
+								<powerState>
+									<name>IDLE</name>
+									<powerUsage>11</powerUsage>
+								</powerState>
+								<powerState>
+									<name>FULL</name>
+									<powerUsage>36</powerUsage>
+								</powerState>
+							</powerStates>				
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+						                     <loadProfile>
+                        <loadEstimationPlugin>
+                           <name>example.load.DefaultLoadEstimationPlugin</name>
+                        </loadEstimationPlugin>
+                        <loadCalendar>
+			                        <loadSchedule>
+				                          <loadDistribution>
+					                            <fromTime>0</fromTime>
+					                            <toTime>100</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>100</fromTime>
+					                            <toTime>200</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>200</fromTime>
+					                            <toTime>300</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>300</fromTime>
+					                            <toTime>400</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          				                          	                          <loadDistribution>
+					                            <fromTime>400</fromTime>
+					                            <toTime>500</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+			                        </loadSchedule>
+		                      </loadCalendar>
+                     </loadProfile>
+					</profile>
+					<computingResource class="Processor" count="1">
+						<device class="PowerLeakage" count="1">
+						<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.i5.PowerLeakageEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>	
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+					</profile>
+						</device>
+					    <parameter name="product">
+                        	<value>Core i5 - 4400E</value>
+                     	</parameter>
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.i5.CpuEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+									<powerStates>
+		                              <powerState>
+		                                 <name>IDLE</name>
+		                                 <powerUsage>5</powerUsage>
+		                              </powerState>
+		                              <powerState>
+		                                 <name>FULL</name>
+		                                 <powerUsage>26</powerUsage>
+		                              </powerState>
+		                           </powerStates>
+		                           <parameter name="pState">
+		                              <property name="name">
+		                                 <value>0</value>
+		                              </property>
+		                              <property name="frequency">
+		                                 <value>2200</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>25</value>
+		                                 <value>9</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>50</value>
+		                                 <value>13</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>12.5</value>
+		                                 <value>6.5</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>100</value>
+		                                 <value>20</value>
+		                              </property>
+		                           </parameter>
+		                           <parameter name="pState">
+		                              <property name="name">
+		                                 <value>1</value>
+		                              </property>
+		                              <property name="frequency">
+		                                 <value>2300</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>25</value>
+		                                 <value>9.5</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>50</value>
+		                                 <value>16</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>12.5</value>
+		                                 <value>7</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>100</value>
+		                                 <value>26</value>
+		                              </property>
+		                           </parameter>
+								<parameter name="k">
+									<value>49</value>
+								</parameter>
+								<parameter name="a">
+									<value>0.77</value>
+								</parameter>
+								<parameter name="thermalResistance">
+									<value>1.06</value>
+								</parameter>
+								<parameter name="thermalCapacity">
+									<value>7</value>
+								</parameter>
+							</powerProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+						<computingResource class="Core" count="4"/>
+					</computingResource>
+				</computingResource>
+				</computingResource>
+			</computingResource>
+		</computingResource>
+		<scheduler class="Cluster" name="cluster">
+			<schedulingPlugin>
+				<name>experiments.e2dc2015.models.i5.FCFSBF_RandomPluginFansMngDynamic</name>
+				<frequency>2</frequency>
+			</schedulingPlugin>	
+			<managedComputingResources include="false">
+				<resourceName>room</resourceName>
+			</managedComputingResources>
+		</scheduler>	
+	</resources>
+
+</environment>
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5.xml
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5.xml	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_i5.xml	(revision 1591)
@@ -0,0 +1,387 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<environment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:noNamespaceSchemaLocation="../../../simulator/schemas/resources/DCwormsResSchema.xsd">
+
+   <timeEstimationPlugin>
+      <name>example.timeestimation.coolemall.PhaseBasedTimeEstimationPlugin</name>
+   </timeEstimationPlugin>
+	<resources  mode="CoolEmAll">
+		<computingResource class="Room" name="room">
+		
+		         <profile>
+            <powerProfile>
+               <energyEstimationPlugin>
+                  <name>experiments.e2dc2015.models.i5.TangDataCenterEnergyEstimationPlugin</name>
+               </energyEstimationPlugin>
+            </powerProfile>
+            <thermalProfile></thermalProfile>
+         </profile>
+			 <device name="FlowPump1" class="Inlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.FlowPumpInletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="FlowPump2" class="Outlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump2</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.FlowPumpOutletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="CoolingDevice1" class="CoolingDevice">
+	            <parameter name="class">
+	               <value>Refrigeration</value>
+	            </parameter>
+	            <parameter name="CRAHFanEfficiency">
+	               <value>0.60</value>
+	            </parameter>
+	            <parameter name="coolingCoilEfficiency">
+	               <value>0.95</value>
+	            </parameter>
+	            <parameter name="deltaThEx">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="CWT">
+	               <value>30</value>
+	            </parameter>
+	            <parameter name="deltaThDryCooler">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="coolingCapacityRated">
+	               <value>14000</value>
+	            </parameter>
+	            <parameter name="EERRated">
+	               <value>5</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/CoolingDevice1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.i5.TangCoolingDeviceEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	            </profile>
+	         </device>
+			<computingResource class="Rack" count="1">
+			            <profile>
+               <powerProfile>
+                  <energyEstimationPlugin>
+                     <name>experiments.e2dc2015.models.i5.RackEnergyEstimationPlugin</name>
+                  </energyEstimationPlugin>
+               </powerProfile>
+               <thermalProfile></thermalProfile>
+            </profile>
+            	<computingResource class="NodeGroup" count="42">
+            			<device class="Fan" count="2">
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.i5.FanEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+								<powerStates>
+									<powerState>
+										<name>ON</name>
+										<powerUsage>19.8</powerUsage>
+									</powerState>
+									<powerState>
+										<name>OFF</name>
+										<powerUsage>0</powerUsage>
+									</powerState>
+								</powerStates>		
+								<parameter name="fanEfficiency">
+									<value>0.6</value>
+								</parameter>
+							</powerProfile>
+		  					<airThroughputProfile>
+		                        <airThroughputStates>
+		                           <airThroughputState>
+		                              <name>OFF</name>
+		                              <value>0.0000112</value>
+		                              <powerUsage>0</powerUsage>
+		                           </airThroughputState>
+		                            <airThroughputState>
+		                              <name>ON_10</name>
+		                              <value>0.00336</value>
+		                              <powerUsage>0.0198</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_20</name>
+		                              <value>0.00672</value>
+		                              <powerUsage>0.1584</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_30</name>
+		                              <value>0.01008</value>
+		                              <powerUsage>0.5346</powerUsage>
+		                           </airThroughputState>	                           
+		                            <airThroughputState>
+		                              <name>ON_40</name>
+		                              <value>0.01344</value>
+		                              <powerUsage>1.2672</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_50</name>
+		                              <value>0.0168</value>
+		                              <powerUsage>2.475</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_60</name>
+		                              <value>0.02016</value>
+		                              <powerUsage>4.2768</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_70</name>
+		                              <value>0.02352</value>
+		                              <powerUsage>6.7914</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_80</name>
+		                              <value>0.02688</value>
+		                              <powerUsage>10.1376</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_90</name>
+		                              <value>0.03024</value>
+		                              <powerUsage>14.4342</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_100</name>
+		                              <value>0.0336</value>
+		                              <powerUsage>19.8</powerUsage>
+		                           </airThroughputState>
+		                        </airThroughputStates>
+		                     </airThroughputProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+					</device>
+            	   <profile>
+                  <powerProfile>
+                     <energyEstimationPlugin>
+                        <name>experiments.e2dc2015.models.i5.NodeGroupEnergyEstimationPlugin</name>
+                     </energyEstimationPlugin>
+                  </powerProfile>
+               </profile>
+				<computingResource class="Node" count="6">
+					<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.i5.NodeEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>
+							<powerStates>
+								<powerState>
+									<name>IDLE</name>
+									<powerUsage>11</powerUsage>
+								</powerState>
+								<powerState>
+									<name>FULL</name>
+									<powerUsage>36</powerUsage>
+								</powerState>
+							</powerStates>				
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+						                     <loadProfile>
+                        <loadEstimationPlugin>
+                           <name>example.load.DefaultLoadEstimationPlugin</name>
+                        </loadEstimationPlugin>
+                        <loadCalendar>
+			                        <loadSchedule>
+				                          <loadDistribution>
+					                            <fromTime>0</fromTime>
+					                            <toTime>100</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>100</fromTime>
+					                            <toTime>200</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>200</fromTime>
+					                            <toTime>300</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          	                          <loadDistribution>
+					                            <fromTime>300</fromTime>
+					                            <toTime>400</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+				                          				                          	                          <loadDistribution>
+					                            <fromTime>400</fromTime>
+					                            <toTime>500</toTime>
+					                            <loadLevel>100</loadLevel>
+				                          </loadDistribution>
+			                        </loadSchedule>
+		                      </loadCalendar>
+                     </loadProfile>
+					</profile>
+					<computingResource class="Processor" count="1">
+						<device class="PowerLeakage" count="1">
+						<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.i5.PowerLeakageEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>	
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+					</profile>
+						</device>
+					    <parameter name="product">
+                        	<value>Core i5 - 4400E</value>
+                     	</parameter>
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.i5.CpuEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+									<powerStates>
+		                              <powerState>
+		                                 <name>IDLE</name>
+		                                 <powerUsage>5</powerUsage>
+		                              </powerState>
+		                              <powerState>
+		                                 <name>FULL</name>
+		                                 <powerUsage>26</powerUsage>
+		                              </powerState>
+		                           </powerStates>
+		                           <parameter name="pState">
+		                              <property name="name">
+		                                 <value>0</value>
+		                              </property>
+		                              <property name="frequency">
+		                                 <value>2200</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>25</value>
+		                                 <value>9</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>50</value>
+		                                 <value>13</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>12.5</value>
+		                                 <value>6.5</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>100</value>
+		                                 <value>20</value>
+		                              </property>
+		                           </parameter>
+		                           <parameter name="pState">
+		                              <property name="name">
+		                                 <value>1</value>
+		                              </property>
+		                              <property name="frequency">
+		                                 <value>2300</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>25</value>
+		                                 <value>9.5</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>50</value>
+		                                 <value>16</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>12.5</value>
+		                                 <value>7</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>100</value>
+		                                 <value>26</value>
+		                              </property>
+		                           </parameter>
+								<parameter name="k">
+									<value>49</value>
+								</parameter>
+								<parameter name="a">
+									<value>0.77</value>
+								</parameter>
+								<parameter name="thermalResistance">
+									<value>1.06</value>
+								</parameter>
+								<parameter name="thermalCapacity">
+									<value>7</value>
+								</parameter>
+							</powerProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+						<computingResource class="Core" count="4"/>
+					</computingResource>
+				</computingResource>
+				</computingResource>
+			</computingResource>
+		</computingResource>
+		<scheduler class="Cluster" name="cluster">
+			<schedulingPlugin>
+				<name>experiments.e2dc2015.models.i5.FCFSBF_RandomPlugin</name>
+				<frequency>100</frequency>
+			</schedulingPlugin>	
+			<managedComputingResources include="false">
+				<resourceName>room</resourceName>
+			</managedComputingResources>
+		</scheduler>	
+	</resources>
+
+</environment>
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_arm.xml
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_arm.xml	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/resources/resources_arm.xml	(revision 1591)
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<environment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:noNamespaceSchemaLocation="../../../simulator/schemas/resources/DCwormsResSchema.xsd">
+
+   <timeEstimationPlugin>
+      <name>example.timeestimation.coolemall.PhaseBasedTimeEstimationPlugin</name>
+   </timeEstimationPlugin>
+	<resources  mode="CoolEmAll">
+		<computingResource class="Room" name="room">
+		
+		         <profile>
+            <powerProfile>
+               <energyEstimationPlugin>
+                  <name>experiments.e2dc2015.models.arm.DataCenterEnergyEstimationPlugin</name>
+               </energyEstimationPlugin>
+            </powerProfile>
+            <thermalProfile></thermalProfile>
+         </profile>
+			 <device name="FlowPump1" class="Inlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.arm.FlowPumpInletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="FlowPump2" class="Outlet">
+	            <parameter name="product">
+	               <value>60x60cm</value>
+	            </parameter>
+	            <parameter name="maxRPM">
+	               <value>0</value>
+	            </parameter>
+	            <parameter name="efficiency">
+	               <value>100</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/FlowPump2</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.arm.FlowPumpOutletEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	               <airThroughputProfile/>
+	            </profile>
+	         </device>
+	         <device name="CoolingDevice1" class="CoolingDevice">
+	            <parameter name="class">
+	               <value>Refrigeration</value>
+	            </parameter>
+	            <parameter name="CRAHFanEfficiency">
+	               <value>0.60</value>
+	            </parameter>
+	            <parameter name="coolingCoilEfficiency">
+	               <value>0.95</value>
+	            </parameter>
+	            <parameter name="deltaThEx">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="CWT">
+	               <value>30</value>
+	            </parameter>
+	            <parameter name="deltaThDryCooler">
+	               <value>10</value>
+	            </parameter>
+	            <parameter name="coolingCapacityRated">
+	               <value>14000</value>
+	            </parameter>
+	            <parameter name="EERRated">
+	               <value>5</value>
+	            </parameter>
+	            <parameter name="airflow_volume-sensor">
+	               <value>airflow_volume</value>
+	            </parameter>
+	            <parameter name="airflow_speed-sensor">
+	               <value>airflow_speed</value>
+	            </parameter>
+	            <parameter name="temperature-sensor">
+	               <value>temperature</value>
+	            </parameter>
+	            <parameter name="fullPath">
+	               <value>compRes/CoolingDevice1</value>
+	            </parameter>
+	            <profile>
+	               <powerProfile>
+	                  <energyEstimationPlugin>
+	                     <name>experiments.e2dc2015.models.arm.CoolingDeviceEnergyEstimationPlugin</name>
+	                  </energyEstimationPlugin>
+	               </powerProfile>
+	            </profile>
+	         </device>
+			<computingResource class="Rack" count="1">
+			            <profile>
+               <powerProfile>
+                  <energyEstimationPlugin>
+                     <name>experiments.e2dc2015.models.arm.RackEnergyEstimationPlugin</name>
+                  </energyEstimationPlugin>
+               </powerProfile>
+               <thermalProfile></thermalProfile>
+            </profile>
+            	<computingResource class="NodeGroup" count="42">
+            			<device class="Fan" count="18">
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.arm.FanEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+								<powerStates>
+									<powerState>
+										<name>ON</name>
+										<powerUsage>6.6</powerUsage>
+									</powerState>
+									<powerState>
+										<name>OFF</name>
+										<powerUsage>0</powerUsage>
+									</powerState>
+								</powerStates>		
+								<parameter name="fanEfficiency">
+									<value>0.6</value>
+								</parameter>
+							</powerProfile>
+		  					<airThroughputProfile>
+		                        <airThroughputStates>
+		                           <airThroughputState>
+		                              <name>OFF</name>
+		                              <value>0.0000112</value>
+		                              <powerUsage>0</powerUsage>
+		                           </airThroughputState>
+		                            <airThroughputState>
+		                              <name>ON_10</name>
+		                              <value>0.00112</value>
+		                              <powerUsage>0.0066</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_20</name>
+		                              <value>0.00224</value>
+		                              <powerUsage>0.0528</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_30</name>
+		                              <value>0.00336</value>
+		                              <powerUsage>0.1782</powerUsage>
+		                           </airThroughputState>	                           
+		                            <airThroughputState>
+		                              <name>ON_40</name>
+		                              <value>0.00448</value>
+		                              <powerUsage>0.4224</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_50</name>
+		                              <value>0.0056</value>
+		                              <powerUsage>0.825</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_60</name>
+		                              <value>0.00672</value>
+		                              <powerUsage>1.4256</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_70</name>
+		                              <value>0.00784</value>
+		                              <powerUsage>2.2638</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_80</name>
+		                              <value>0.00896</value>
+		                              <powerUsage>3.3792</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_90</name>
+		                              <value>0.01008</value>
+		                              <powerUsage>4.8114</powerUsage>
+		                           </airThroughputState>
+		                           <airThroughputState>
+		                              <name>ON_100</name>
+		                              <value>0.0112</value>
+		                              <powerUsage>6.6</powerUsage>
+		                           </airThroughputState>
+		                        </airThroughputStates>
+		                     </airThroughputProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+					</device>
+            	               <profile>
+                  <powerProfile>
+                     <energyEstimationPlugin>
+                        <name>experiments.e2dc2015.models.arm.NodeGroupEnergyEstimationPlugin</name>
+                     </energyEstimationPlugin>
+                  </powerProfile>
+               </profile>
+				<computingResource class="Node" count="18">
+					<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.arm.NodeEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>
+							<powerStates>
+								<powerState>
+									<name>IDLE</name>
+									<powerUsage>4</powerUsage>
+								</powerState>
+								<powerState>
+									<name>FULL</name>
+									<powerUsage>8</powerUsage>
+								</powerState>
+							</powerStates>				
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+					</profile>
+					<computingResource class="Processor" count="1">
+						<device class="PowerLeakage" count="1">
+						<profile>
+						<powerProfile>
+							<energyEstimationPlugin>
+								<name>experiments.e2dc2015.models.arm.PowerLeakageEnergyEstimationPlugin</name>
+							</energyEstimationPlugin>	
+						</powerProfile>
+						<thermalProfile></thermalProfile>
+					</profile>
+						</device>
+					    <parameter name="product">
+                        	<value>ARM - Apalis T30</value>
+                     	</parameter>
+						<profile>
+							<powerProfile>
+								<energyEstimationPlugin>
+									<name>experiments.e2dc2015.models.arm.CpuEnergyEstimationPlugin</name>
+								</energyEstimationPlugin>
+									<powerStates>
+		                              <powerState>
+		                                 <name>IDLE</name>
+		                                 <powerUsage>2</powerUsage>
+		                              </powerState>
+		                              <powerState>
+		                                 <name>FULL</name>
+		                                 <powerUsage>5</powerUsage>
+		                              </powerState>
+		                           </powerStates>
+		                           <parameter name="pState">
+		                              <property name="name">
+		                                 <value>0</value>
+		                              </property>
+		                              <property name="frequency">
+		                                 <value>1400</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>25</value>
+		                                 <value>2.5</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>50</value>
+		                                 <value>3</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>100</value>
+		                                 <value>4</value>
+		                              </property>
+		                              <property name="loadPowerUsage">
+		                                 <value>12.5</value>
+		                                 <value>2.25</value>
+		                              </property>
+		                           </parameter>
+								<parameter name="k">
+									<value>21.1</value>
+								</parameter>
+								<parameter name="a">
+									<value>0.6382</value>
+								</parameter>
+								<parameter name="thermalResistance">
+									<value>1.1</value>
+								</parameter>
+								<parameter name="thermalCapacity">
+									<value>30</value>
+								</parameter>
+							</powerProfile>
+							<thermalProfile></thermalProfile>
+						</profile>
+						<computingResource class="Core" count="4"/>
+					</computingResource>
+				</computingResource>
+				</computingResource>
+			</computingResource>
+		</computingResource>
+		<scheduler class="Cluster" name="cluster">
+			<schedulingPlugin>
+				<name>experiments.e2dc2015.models.arm.FCFSBF_RandomPlugin</name>
+				<frequency>4</frequency>
+			</schedulingPlugin>	
+			<managedComputingResources include="false">
+				<resourceName>room</resourceName>
+			</managedComputingResources>
+		</scheduler>	
+	</resources>
+
+</environment>
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/experiment.properties
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/experiment.properties	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/experiment.properties	(revision 1591)
@@ -0,0 +1,38 @@
+# Use single *.swf file as workload description.
+
+# Path to xml file which describes resource characteristics.
+resdesc=src/experiments/e2dc2015/resources/resources_i5_f21.xml
+
+# and swf file, which name is declared by readscenario.workloadfilename parameter.
+# Swf file must be placed in readscenario.inputfolder directory.  
+readscenario.workloadfilename=src/experiments/e2dc2015/workload/workload.swf
+
+# Choose directory where all result files should be placed.
+stats.outputfolder=src/experiments/e2dc2015_result
+
+# Define the type and content of charts to generate
+
+# Gantt chart
+#creatediagrams.gantt=true
+
+# Shows the execution times of tasks
+#creatediagrams.tasks=true
+
+# Shows the waiting times of tasks
+#creatediagrams.taskswaitingtime=true
+
+# Resource utilization chart - only for processors
+creatediagrams.resutilization=Processor;Node
+
+creatediagrams.restemperature=Processor;Node
+
+#creatediagrams.respowerusage=Room
+
+creatediagrams.resairflow=Fan
+
+#pressuredrop=65.337
+#outletroomairtemperature=33
+#inletroomairtemperature=23
+#ambientairtemperature=26
+#airflowvolume=0.0304
+alpha=0.02
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/EnvironmentConditions.java
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/EnvironmentConditions.java	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/EnvironmentConditions.java	(revision 1591)
@@ -0,0 +1,99 @@
+package experiments.e2dc2015;
+
+public class EnvironmentConditions {
+	public static int ROOM_TEMPERATURE = 22;
+	public static int AIR_HEAT_CAPACITY = 1024;
+	public static double AIR_PRESSURE = 1013.25;
+	public static double AIR_DENSITY = 1.168;
+	//public static double SYSTEM_UDPATE_INTERVAL = 2.0;
+	
+	public static int TFanLow = 45;
+	public static int TFanHigh = 47;
+	
+	public static int tempLevelLow2Medium = 40;
+	public static int tempLevelMedium2Low = 36;
+	public static int tempLevelMedium2High = 48;
+	public static int tempLevelHigh2Medium = 44;
+	public static int tempLevelHigh2Max = 56;
+	public static int tempLevelMax2High = 52;
+	
+	/*public static int _30_2_40 = 58;
+	public static int _40_2_30 = 56;
+	public static int _40_2_50 = 62;
+	public static int _50_2_40 = 60;
+	public static int _50_2_60 = 66;
+	public static int _60_2_50 = 64;
+	public static int _60_2_70 = 72;
+	public static int _70_2_60 = 70;
+	public static int _70_2_80 = 78;
+	public static int _80_2_70 = 76;
+	public static int _80_2_90 = 82;
+	public static int _90_2_80 = 80;
+	public static int _90_2_100 = 86;
+	public static int _100_2_90 = 84;*/
+
+	/*public static int _30_2_40 = 40;
+	public static int _40_2_30 = 38;
+	public static int _40_2_50 = 46;
+	public static int _50_2_40 = 44;
+	public static int _50_2_60 = 52;
+	public static int _60_2_50 = 50;
+	public static int _60_2_70 = 58;
+	public static int _70_2_60 = 56;
+	public static int _70_2_80 = 66;
+	public static int _80_2_70 = 64;
+	public static int _80_2_90 = 72;
+	public static int _90_2_80 = 70;
+	public static int _90_2_100 = 78;
+	public static int _100_2_90 = 76;*/
+	
+	public static int _30_2_40 = 40;
+	public static int _40_2_30 = 56;
+	public static int _40_2_50 = 46;
+	public static int _50_2_40 = 62;
+	public static int _50_2_60 = 52;
+	public static int _60_2_50 = 68;
+	public static int _60_2_70 = 58;
+	public static int _70_2_60 = 72;
+	public static int _70_2_80 = 66;
+	public static int _80_2_70 = 76;
+	public static int _80_2_90 = 72;
+	public static int _90_2_80 = 82;
+	public static int _90_2_100 = 78;
+	public static int _100_2_90 = 88;
+	
+	public static int _30_2_70 = 58;
+	public static int _70_2_30 = 56;
+	public static int _70_2_100 = 78;
+	public static int _100_2_70 = 76;
+	
+	public static int NODES_IN_A_ROW = 2;
+	public static int NODES_IN_A_COLUMN = 3;
+	
+	public static int i5_cpuTidle = 33;
+	public static double i5_nodeTidle = 22;
+	
+	public static int i5_baseLeakageTemp = 59;
+	public static double i5_leakageFactor = 0.17;
+	
+	public static int i5_statsTThres = 80;
+	public static int i5_statsTThresH = 90;
+	
+	public static int startTime = 0;
+	public static int endTime = 7200;
+	public static int nrOfPeriods = 10;
+
+	public static int tempShift = 0;
+
+	
+	
+	
+	
+	public static int arm_cpuTidle = 37;
+	public static double arm_nodeTidle = 26;
+	
+	public static int arm_baseLeakageTemp = 59;
+	public static double arm_leakageFactor = 0.05;
+	
+	public static int arm_statsTThres = 40;
+}
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/empty.xml
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/empty.xml	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/empty.xml	(revision 1591)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<job id="frame1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:noNamespaceSchemaLocation="../QCGJobDescriptionSchemaNew.xsd">
+	<task id="common/scripts/openssl">
+		<execution>
+		   <resourceConsumptionProfile type="Core i5 - 4400E">
+                <properties name="usefulWork">100</properties>
+                <resourceConsumption>
+                    <referenceHardware>
+                        <reference name="cpu_cores">1</reference>
+                        <reference name="cpu_maxfreq">2300</reference>
+                    </referenceHardware>
+                    <duration>PT7200S</duration>
+                    <behaviour name="PM_CPU_Usage">
+                        <value>0</value>
+                    </behaviour>
+                    <behaviour name="PM_Threads">
+  						<value>1</value>
+  					</behaviour>    
+                </resourceConsumption>
+            </resourceConsumptionProfile>             
+		</execution>
+	</task>
+</job>
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/workload.swf
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/workload.swf	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/workload/workload.swf	(revision 1591)
@@ -0,0 +1,16 @@
+;Automatically generated workload description by the Data Center Workload and Resource Management Simulator																																				
+;		j|		s|		w|		r|		c|		c|		m|		p|		t|		m|		s|		u|		g|		e|		q|		p|		p|		t|
+;		o|		u|		a|		u|		p|		p|		e|		r|		i|		e|		t|		i|		i|		x|		u|		a|		r|		h|
+;		b|		b|		i|		n|		u|		u|		m|		o|		m|		m|		a|		d|		d|		e|		e|		r|		e|		i|
+;		 |		m|		t|		t|		 |		 |		 |		c|		e|		 |		t|		 |		 |		c|		u|		t|		c|		n|
+;		 |		i|		 |		i|		a|		t|		u|		 |		 |		r|		u|		 |		 |		u|		e|		i|		 |		k|
+;		 |		t|		 |		m|		l|		i|		s|		r|		r|		e|		s|		 |		 |		t|		 |		t|		j|		 |
+;		 |		 |		 |		e|		l|		m|		e|		e|		e|		q|		 |		 |		 |		a|		n|		i|		o|		t|
+;		 |		 |		 |		 |		o|		e|		d|		q|		q|		 |		 |		 |		 |		b|		r|		o|		b|		i|
+;		 |		 |		 |		 |		c|		 |		 |		 |		 |		 |		 |		 |		 |		l|		 |		n|		 |		m|
+;		 |		 |		 |		 |		 |		 |		 |		 |		 |		 |		 |		 |		 |		e|		 |		 |		 |		e|
+;PUSpeed: 1																																				
+;StartTime: Tue Oct 8 10:00:00 CET 2013																																				
+;Application: 1 src/experiments/e2dc2015/workload/empty.xml																																				
+																																			
+		0		0		-1		500		1		-1		-1		1		500		-1		-1		-1		-1		1		-1		-1		-1		-1
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/RunExperiment.java
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/RunExperiment.java	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/RunExperiment.java	(revision 1591)
@@ -0,0 +1,19 @@
+package experiments.e2dc2015;
+import simulator.DataCenterWorkloadSimulator;
+
+
+public class RunExperiment {
+	
+	public static void main(String args[]){
+		RunExperiment runner = new RunExperiment();
+		runner.run();
+	}
+	
+	public void run(){
+		String args[] = {
+				"src/experiments/e2dc2015//experiment.properties"
+				};
+		DataCenterWorkloadSimulator.main(args);
+	}
+
+}
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/E2DC2015MetricsCalculator.java
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/E2DC2015MetricsCalculator.java	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/E2DC2015MetricsCalculator.java	(revision 1591)
@@ -0,0 +1,507 @@
+package experiments.e2dc2015;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import simulator.stats.AbstractMetricsCalculator;
+import simulator.stats.DCwormsAccumulator;
+import simulator.stats.implementation.MetricsStats;
+import example.energy.coolemall.CoolEmAllTestbedMeasurements;
+
+public class E2DC2015MetricsCalculator extends AbstractMetricsCalculator{
+	
+	double leakage;
+	double tempExcTime;
+	double tempExcTimeH;
+	public E2DC2015MetricsCalculator (long startTime, long endTime, long timestamp){
+		super(startTime, endTime, timestamp);
+	}
+	
+	public List<MetricsStats> calulateMetrics(){
+		List<MetricsStats> metrics = new ArrayList<MetricsStats>();
+		/*for(String resourceTypeName: metricsData.keySet()){
+			MetricsStats metric = new MetricsStats(resourceTypeName, "energyUsage", metricsData.get(resourceTypeName).getMax());
+			metrics.add(metric);}
+		}*/
+		
+		leakage = calculateLeakageEnergyConsumption().getValue();
+		tempExcTime = calculateTempExcTime().getValue();
+		tempExcTimeH = calculateTempExcTimeH().getValue();
+		metrics.add(calculateLeakageEnergyConsumption());
+		metrics.add(calculateTempExcTime());
+		metrics.add(calculateTempExcTimeH());
+		metrics.add(calculateITComputingEnergyConsumption());
+		metrics.add(calculateITEnergyConsumption());
+		metrics.add(calculateNodeGroupFansEnergyConsumption());
+		
+		metrics.add(calculateRackEnergyConsumption());
+		metrics.add(calculateDataCenterFansEnergyConsumption());
+		metrics.add(calculateCoolingDeviceEnergyConsumption());
+		metrics.add(calculateOtherDevicesEnergyConsumption());
+		
+		metrics.add(calculateTotalEnergyConsumption());
+		
+		metrics.add(calculateMeanRackPower());
+		metrics.add(calculateMeanPower());
+		metrics.add(calculateMaxRackPower());
+		metrics.add(calculateMaxPower());
+		
+		metrics.add(calculatePUE());
+		metrics.add(calculatePUELevel4());
+		metrics.add(calculateEnergyWasteRate());
+		
+		metrics.add(calculateUsefulWork());
+		metrics.add(calculateProductivity());
+
+		return metrics;
+	}
+
+	private MetricsStats calculateTempExcTime() {
+		MetricsStats metric;
+		try{
+
+			double tet = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("TEMPEXC")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						tet = tet + acc.getMean();
+					}
+				}
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Temp_exc_time", (tet), timestamp, "s");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Temp_exc_time", -1, timestamp, "s");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateTempExcTimeH() {
+		MetricsStats metric;
+		try{
+
+			double tet = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("TEMPHEXC")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						tet = tet + acc.getMean();
+					}
+				}
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Temp_exc_time_h", (tet), timestamp, "s");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Temp_exc_time_h", -1, timestamp, "s");
+		}
+		return metric;
+	}
+
+	private MetricsStats calculateLeakageEnergyConsumption() {
+		MetricsStats metric;
+		try{
+
+			double pl = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("PowerLeakage")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						pl = pl + acc.getSum();
+					}
+				}
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Power_Leakage_energy_consumption", (pl/2), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Power_Leakage_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+
+	private MetricsStats calculateTotalEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Room")){
+				roomPower = roomPower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_energy_consumption", roomPower, timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateITComputingEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double itComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Processor")){
+				itComputingPower = itComputingPower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_processors_energy_consumption", (itComputingPower), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_processors_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateITEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double totalSitePower = 0; 
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				totalSitePower = totalSitePower + acc.getSum();
+			}
+			double nodeComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("NodeGroup")){
+				nodeComputingPower = nodeComputingPower+ acc.getSum();
+			}
+			double itComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Node")){
+				itComputingPower = itComputingPower + acc.getSum();
+			}
+			double nodeGroupFansPowerConumspion = nodeComputingPower - itComputingPower - leakage;
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_IT_energy_consumption", (totalSitePower * CoolEmAllTestbedMeasurements.POWER_SUPPLY_EFFICIENCY - nodeGroupFansPowerConumspion), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_IT_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateNodeGroupFansEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double nodeComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("NodeGroup")){
+				nodeComputingPower = nodeComputingPower+ acc.getSum();
+			}
+			System.out.println("nodeComputingPower " + nodeComputingPower );
+			double itComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Node")){
+				itComputingPower = itComputingPower + acc.getSum();
+			}
+			System.out.println("itComputingPower  " +itComputingPower  );
+			double nodeGroupFansPowerConumspion = nodeComputingPower - itComputingPower - leakage;
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_node_group_fans_energy_consumption", nodeGroupFansPowerConumspion, timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_node_group_fans_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculatePUELevel4(){
+		
+		MetricsStats metric;
+		try{
+			
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Room")){
+				roomPower = roomPower + acc.getSum();
+			}
+			
+			double totalSitePower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				totalSitePower = totalSitePower + acc.getSum();
+			}
+			
+		
+			double nodeComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("NodeGroup")){
+				nodeComputingPower = nodeComputingPower+ acc.getSum();
+			}
+			double itComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Node")){
+				itComputingPower = itComputingPower + acc.getSum();
+			}
+			double nodeGroupFansPowerConumspion = nodeComputingPower - itComputingPower - leakage;
+			System.out.println(roomPower + "; " + totalSitePower + "; " + CoolEmAllTestbedMeasurements.POWER_SUPPLY_EFFICIENCY + "; " +  nodeGroupFansPowerConumspion+ "; " + nodeComputingPower+ "; " +itComputingPower );
+			metric = new MetricsStats("CoolEmAllTestbed", "PUE_Level_4", roomPower/(totalSitePower * CoolEmAllTestbedMeasurements.POWER_SUPPLY_EFFICIENCY - nodeGroupFansPowerConumspion), timestamp, "");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "PUE_Level_4", -1, timestamp, "");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculatePUE(){
+		
+		MetricsStats metric;
+		try{
+			
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Room")){
+				roomPower = roomPower + acc.getSum();
+			}
+			
+			double totalSitePower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				totalSitePower = totalSitePower + acc.getSum();
+			}
+
+
+			metric = new MetricsStats("CoolEmAllTestbed", "PUE", roomPower/totalSitePower, timestamp, "");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "PUE", -1, timestamp, "");
+		}
+		return metric;
+	}
+
+	private MetricsStats calculateUsefulWork(){
+		
+		MetricsStats metric;
+		try{
+			double usefulWork = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("UW_")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						usefulWork= usefulWork + acc.getSum();
+					}
+				}
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Useful_Work", usefulWork, timestamp, "UW units");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Useful_Work", -1, timestamp, "UW units");
+		}
+		
+		return metric;
+	}
+	
+	private MetricsStats calculateProductivity(){
+		
+		MetricsStats metric;
+		try{
+			double usefulWork = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("UW_")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						usefulWork= usefulWork + acc.getSum();
+					}
+				}
+			}
+			double totalSitePower = 0; 
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				totalSitePower = totalSitePower + acc.getSum();
+			}
+			
+			metric = new MetricsStats("CoolEmAllTestbed", "Productivity", usefulWork/totalSitePower, timestamp, "UW units/Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Productivity", -1, timestamp, "UW units/Wh");
+		}
+		
+		return metric;
+	}
+	
+	
+	private MetricsStats calculateMaxRackPower(){
+		
+		MetricsStats metric;
+		try{
+			double maxPower = 0;
+			
+			for(DCwormsAccumulator acc: metricsData.get("Rack_MAX")){
+				maxPower = maxPower + acc.getSum();
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Max_rack_power", maxPower, timestamp, "W");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Max_rack_power", -1, timestamp, "W");
+		}
+		
+		return metric;
+	}
+	
+	private MetricsStats calculateMaxPower(){
+		
+		MetricsStats metric;
+		try{
+			double maxPower = 0;
+			
+			for(DCwormsAccumulator acc: metricsData.get("Room_MAX")){
+				maxPower = maxPower + acc.getSum();
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Max_power", maxPower, timestamp, "W");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Max_power", -1, timestamp, "W");
+		}
+		
+		return metric;
+	}
+	
+	private MetricsStats calculateDataCenterFansEnergyConsumptionNew(){
+		
+		MetricsStats metric;
+		try{
+			double inletsPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Inlet")){
+				inletsPower = inletsPower + acc.getSum();
+			}
+			
+			double outletsPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Outlet")){
+				outletsPower = outletsPower + acc.getSum();
+			}
+			
+			double nodeComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Node")){
+				nodeComputingPower = nodeComputingPower+ acc.getSum();
+			}
+			double itComputingPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Processor")){
+				itComputingPower = itComputingPower + acc.getSum();
+			}
+			double nodeGroupFansPowerConumspion = nodeComputingPower - itComputingPower;
+			
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_data_center_fans_energy_consumption", (inletsPower + outletsPower - nodeGroupFansPowerConumspion), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_data_center_fans_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateRackEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				roomPower = roomPower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_rack_energy_consumption", roomPower, timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_rack_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateCoolingDeviceEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double coolingDevicePower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("CoolingDevice")){
+				coolingDevicePower = coolingDevicePower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_cooling_device_energy_consumption", coolingDevicePower, timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_cooling_device_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateDataCenterFansEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+
+			double flowPump = 0;
+			for(String key: metricsData.keySet()){
+				if(key.contains("FlowPump")){
+					for(DCwormsAccumulator acc: metricsData.get(key)){
+						flowPump = flowPump + acc.getSum();
+					}
+				}
+			}
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_data_center_fans_energy_consumption", (flowPump), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_data_center_fans_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+	
+	
+	private MetricsStats calculateOtherDevicesEnergyConsumption(){
+		
+		MetricsStats metric;
+		try{
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Room")){
+				roomPower = roomPower + acc.getSum();
+			}
+			
+			double totalSitePower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				totalSitePower = totalSitePower + acc.getSum();
+			}
+			
+			double coolingDevicePower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("CoolingDevice")){
+				coolingDevicePower = coolingDevicePower + acc.getSum();
+			}
+			
+			double inletsPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Inlet")){
+				inletsPower = inletsPower + acc.getSum();
+			}
+			
+			double outletsPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Outlet")){
+				outletsPower = outletsPower + acc.getSum();
+			}
+			
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_other_devices_energy_consumption", roomPower - (totalSitePower + coolingDevicePower + (inletsPower + outletsPower)), timestamp, "Wh");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Total_other_devices_energy_consumption", -1, timestamp, "Wh");
+		}
+		return metric;
+	}
+
+	
+	private MetricsStats calculateMeanPower(){
+		
+		MetricsStats metric;
+		try{
+			
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Room")){
+				roomPower = roomPower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Mean_power", roomPower/((this.endTime - this.startTime)/(SEC_IN_HOUR * MILLI_SEC)), timestamp, "W");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Mean_power", -1, timestamp, "W");
+		}
+		return metric;
+	}
+	
+	
+	private MetricsStats calculateMeanRackPower(){
+		
+		MetricsStats metric;
+		try{
+			
+			double roomPower = 0;
+			for(DCwormsAccumulator acc: metricsData.get("Rack")){
+				roomPower = roomPower + acc.getSum();
+			}
+			metric = new MetricsStats("CoolEmAllTestbed", "Mean_rack_power", roomPower/((this.endTime - this.startTime)/(SEC_IN_HOUR * MILLI_SEC)), timestamp, "W");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Mean_rack_power", -1, timestamp, "W");
+		}
+		return metric;
+	}
+	
+	private MetricsStats calculateEnergyWasteRate(){
+		
+		MetricsStats metric;
+		try{
+			double itComputingEnergy = 0;
+			
+			for(DCwormsAccumulator acc: metricsData.get("Processor_CALC")){
+				itComputingEnergy = itComputingEnergy + acc.getSum();
+			}
+			
+			double itEnergy = calculateITEnergyConsumption().getValue();
+
+			metric = new MetricsStats("CoolEmAllTestbed", "Energy_waste_rate", (1 - itComputingEnergy/itEnergy) * 100, timestamp, "%");
+		} catch (Exception e){
+			metric = new MetricsStats("CoolEmAllTestbed", "Energy_waste_rate", -1, timestamp, "%");
+		}
+		
+		return metric;
+	}
+	
+}
Index: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/LoadGenerator.java
===================================================================
--- DCWoRMS/branches/coolemall/src/experiments/e2dc2015/LoadGenerator.java	(revision 1591)
+++ DCWoRMS/branches/coolemall/src/experiments/e2dc2015/LoadGenerator.java	(revision 1591)
@@ -0,0 +1,130 @@
+package experiments.e2dc2015;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.Random;
+
+import org.apache.commons.math3.distribution.EnumeratedIntegerDistribution;
+
+import schedframe.resources.computing.profiles.load.ResourceLoadCalendar;
+import schedframe.resources.computing.profiles.load.TimestampUtilization;
+
+
+public class LoadGenerator {
+
+	//private static int[] numsToGenerate = new int[] { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
+	//private static double[] discreteProbabilities = new double[] {0.3, 0.02, 0.03, 0.05, 0.05, 0.05, 0.05, 0.05, 0.1, 0.1, 0.2};
+	private static int[] discreteProbabilitiesInt = new int[] {30, 32, 35, 40, 45, 50, 55, 60, 70, 80, 100};
+	private static int[] discreteProbabilitiesIntNew = new int[] {10, 12, 15, 20, 25, 30, 35, 40, 50, 75, 100};
+
+	
+	private int startTime;
+	private int endTime;
+	private int nrOfPeriods;
+	private static Random randRange = new Random(99);
+	private static Random randLoad = new Random(47);
+	//private EnumeratedIntegerDistribution distribution;
+	
+	public LoadGenerator(int startTime, int endTime, int nrOfPeriods) {
+		super();
+		this.startTime = startTime;
+		this.endTime = endTime;
+		this.nrOfPeriods = nrOfPeriods;
+		//this.randRange = new Random(99);
+		//this.randLoad = new Random(47);
+		//this.distribution =  new EnumeratedIntegerDistribution(numsToGenerate, discreteProbabilities);
+	}
+	
+	public ResourceLoadCalendar createLaodCalendar(){
+
+		ResourceLoadCalendar calendar = new ResourceLoadCalendar();
+		LinkedList<TimestampUtilization> loadDistribution = new LinkedList<TimestampUtilization>();
+		
+		int prevMinTime = this.startTime;
+		int[] timeSamples = generateTimeSamples(nrOfPeriods);
+		int[] loadSamples = generateLoadSamples(nrOfPeriods);
+			
+		for(int i = 0; i < nrOfPeriods; i++){
+			if(endTime-prevMinTime <=0)
+				continue;
+			else {
+				int currMinTime = timeSamples[i];
+				int load = loadSamples[i];
+				TimestampUtilization tu = new TimestampUtilization(prevMinTime, currMinTime , load);
+				loadDistribution.add(tu);
+				prevMinTime = currMinTime;
+			}
+		}
+		if(prevMinTime < endTime){
+			TimestampUtilization tu = new TimestampUtilization(prevMinTime, endTime ,0);
+			loadDistribution.add(tu);
+		}
+		calendar.setLoadDistribution(loadDistribution);
+		System.out.println("**********");
+		 for(TimestampUtilization tu: calendar.getLoadDistribution()){
+			 System.out.println(tu.getStartTime() + ": " + tu.getEndTime() + "; " + tu.getUtlization());
+		 }
+		return calendar;
+		
+
+	}
+	
+	private int[] generateTimeSamples(int nrOfPeriods) {
+		int [] samples =  new int [nrOfPeriods]; 
+		ArrayList samplesList = new ArrayList(nrOfPeriods);
+		for(int i = 0; i < nrOfPeriods; i++){
+			int val = randRange.nextInt(endTime);
+			samplesList.add(val);
+		}
+		Collections.sort(samplesList);
+		for(int i = 0; i < nrOfPeriods; i++){
+			samples[i]=(int) samplesList.get(i);
+		}
+		return samples;
+	}
+
+	private int[] generateLoadSamples(int  nrOfPeriods){
+		int [] samples =  new int [nrOfPeriods]; 
+		//samples = distribution.sample( nrOfPeriods);
+		for(int i = 0; i < nrOfPeriods; i++){
+			int val = randLoad.nextInt(100);
+			if(val >= 0 && val < discreteProbabilitiesInt[0]){
+				samples[i] = 0;
+			} else if (val >= discreteProbabilitiesInt[0] && val < discreteProbabilitiesInt[1]){
+				samples[i] = 10;
+			} else if (val >= discreteProbabilitiesInt[1] && val < discreteProbabilitiesInt[2]){
+				samples[i] = 20;
+			} else if (val >= discreteProbabilitiesInt[2] && val < discreteProbabilitiesInt[3]){
+				samples[i] = 30;
+			} else if (val >= discreteProbabilitiesInt[3] && val < discreteProbabilitiesInt[4]){
+				samples[i] = 40;
+			} else if (val >= discreteProbabilitiesInt[4] && val < discreteProbabilitiesInt[5]){
+				samples[i] = 50;
+			} else if (val >= discreteProbabilitiesInt[5] && val < discreteProbabilitiesInt[6]){
+				samples[i] = 60;
+			} else if (val >= discreteProbabilitiesInt[6] && val < discreteProbabilitiesInt[7]){
+				samples[i] = 70;
+			} else if (val >= discreteProbabilitiesInt[7] && val < discreteProbabilitiesInt[8]){
+				samples[i] = 80;
+			} else if (val >= discreteProbabilitiesInt[8] && val < discreteProbabilitiesInt[9]){
+				samples[i] = 90;
+			} else if (val >= discreteProbabilitiesInt[9] && val < discreteProbabilitiesInt[10]){
+				samples[i] = 100;
+			} 
+		}
+
+		return samples;
+	}
+	public static void main(String [] args){
+		LoadGenerator lg = new LoadGenerator(0, 500, 5);
+		for(int i =0; i< 10; i++){
+			System.out.println("**********");
+			 ResourceLoadCalendar c = lg.createLaodCalendar();
+			 for(TimestampUtilization tu: c.getLoadDistribution()){
+				 System.out.println(tu.getStartTime() + ": " + tu.getEndTime() + "; " + tu.getUtlization());
+			 }
+		}
+
+	}
+}
