Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/CoolEmAllStringSerializer.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/CoolEmAllStringSerializer.java	(revision 1396)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/CoolEmAllStringSerializer.java	(revision 1434)
@@ -11,5 +11,5 @@
 import schedframe.resources.StandardResourceType;
 import simulator.stats.implementation.MetricsStats;
-import simulator.stats.implementation.ResourceAirFlowStats;
+import simulator.stats.implementation.ResourceAirflowStats;
 import simulator.stats.implementation.ResourceAvailabilityStats;
 import simulator.stats.implementation.ResourceHistoryStats;
@@ -139,5 +139,5 @@
 	}
 
-	public Object visit(ResourceAirFlowStats resourceAirFlowStats) {
+	public Object visit(ResourceAirflowStats resourceAirFlowStats) {
 		Map<Long, Double> resourceAirFlow = resourceAirFlowStats.getHistory();
 		//String nodeMetricName = "airflow_volume";
Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StatsSerializer.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StatsSerializer.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StatsSerializer.java	(revision 1434)
@@ -5,5 +5,5 @@
 import simulator.stats.implementation.JobStats;
 import simulator.stats.implementation.MetricsStats;
-import simulator.stats.implementation.ResourceAirFlowStats;
+import simulator.stats.implementation.ResourceAirflowStats;
 import simulator.stats.implementation.ResourceAvailabilityStats;
 import simulator.stats.implementation.ResourceHistoryStats;
@@ -34,5 +34,5 @@
 	public Object visit(ResourcePowerStats arg);
 
-	public Object visit(ResourceAirFlowStats arg);
+	public Object visit(ResourceAirflowStats arg);
 	
 	public Object visit(ResourceTemperatureStats arg);
Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StringSerializer.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StringSerializer.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/StringSerializer.java	(revision 1434)
@@ -12,5 +12,5 @@
 import simulator.stats.implementation.JobStats;
 import simulator.stats.implementation.MetricsStats;
-import simulator.stats.implementation.ResourceAirFlowStats;
+import simulator.stats.implementation.ResourceAirflowStats;
 import simulator.stats.implementation.ResourceAvailabilityStats;
 import simulator.stats.implementation.ResourceHistoryStats;
@@ -387,5 +387,5 @@
 	}
 
-	public Object visit(ResourceAirFlowStats resourceAirFlowStats) {
+	public Object visit(ResourceAirflowStats resourceAirFlowStats) {
 		Map<Long, Double> resourceAirFlow = resourceAirFlowStats.getHistory();
 		String metricName = "airFlow";
Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/DCWormsStatistics.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/DCWormsStatistics.java	(revision 1423)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/DCWormsStatistics.java	(revision 1434)
@@ -133,6 +133,5 @@
 	protected static final String STATS_FILE_NAME_PREFIX = "Stats_";
 
-	protected static final String TASK_SEPARATOR = ";";
-	protected static final String JOB_SEPARATOR = ";";
+	protected static final String SEPARATOR = ";";
 
 	protected String outputFolderName;
@@ -152,13 +151,10 @@
 	
 	//RESOURCES
-	protected Map<String, List<ResStat>> pesStats;
-	protected Map<String, Double> basicResLoad;
-	
-	protected Map<String, TimetableEventSource> peGanttMap;
-	protected Map<String, TimetableEventGroup> taskGanttMap;
-	
+	protected Map<ComputingResource, List<ResStat>> peStats;
+
+		
 	protected Timetable ganttDiagramTimetable;
 	protected Map<String, List<XYDataset>> resourcePowerUsageDiagrams;
-	protected Map<String, List<XYDataset>> resourceAirFlowDiagrams;
+	protected Map<String, List<XYDataset>> resourceAirflowDiagrams;
 	protected Map<String, List<XYDataset>> resourceTemperatureDiagrams;
 	protected Map<String, List<XYDataset>> resourceOccupancyDiagrams;
@@ -173,7 +169,7 @@
 	protected TaskSeriesCollection ganttDiagramTaskSeriesCollection;
 	protected TaskSeriesCollection ganttDiagramWaitingTimeSeriesCollection;
-	protected Map<String, Set<ComputingResource>> task_processorsMap;
-
-	protected JobRegistry jr;
+	protected Map<String, Set<ComputingResource>> taskToPEMap;
+
+	protected JobRegistry jobRegistry;
 	protected MetricsCalculator metCalc;
 	
@@ -183,8 +179,7 @@
 		this.configuration = co;
 		this.users = users;
-
 		this.outputFolderName = outputFolderName;
 		this.resourceController = resourceController;
-		this.jr = new JobRegistryImpl("");
+		this.jobRegistry = new JobRegistryImpl();
 		
 		if(users.isSimStartTimeDefined())
@@ -196,4 +191,21 @@
 
 		init();
+	}
+	
+	private void init() {
+		taskToPEMap = new HashMap<String, Set<ComputingResource>>(jobRegistry.getFinishedTasks().size());
+
+		statsData = new HashMap<String, DCwormsAccumulator>(2);
+		accStats = new GSSAccumulatorsStats();
+		
+		this.serializer = new StringSerializer();		
+		this.metCalc =  new DCwormsMetricsCalculator(startSimulationTime, endSimulationTime, endSimulationTime);
+		
+		if(DataCenterWorkloadSimulator.MODE.equals("CoolEmAll")){
+			this.serializer = new CoolEmAllStringSerializer();
+			this.metCalc = new CoolEmAllMetricsCalculator(startSimulationTime, endSimulationTime, endSimulationTime);
+		}
+		
+		this.serializer.setDefaultNumberFormat(DataCenterWorkloadSimulator.DFAULT_NUMBER_FORMAT);
 	}
 
@@ -225,19 +237,4 @@
 	public String getOutputFolderName() {
 		return outputFolderName;
-	}
-
-	private void init() {
-		task_processorsMap = new HashMap<String, Set<ComputingResource>>();
-		accStats = new GSSAccumulatorsStats();
-		statsData = new HashMap<String, DCwormsAccumulator>();
-		
-		this.serializer = new StringSerializer();		
-		this.metCalc =  new DCwormsMetricsCalculator(startSimulationTime, endSimulationTime, endSimulationTime);
-		
-		if(DataCenterWorkloadSimulator.MODE.equals("CoolEmAll")){
-			this.serializer = new CoolEmAllStringSerializer();
-			this.metCalc = new CoolEmAllMetricsCalculator(startSimulationTime, endSimulationTime, endSimulationTime);
-		}
-		this.serializer.setDefaultNumberFormat(DataCenterWorkloadSimulator.DFAULT_NUMBER_FORMAT);
 	}
 
@@ -273,5 +270,4 @@
 			System.out.println("#STATS " + "System load: " + df.format(accStats.meanTotalLoad.getMean() * 100) + " [%]");
 			
-			
 			simulationStatsFile.println(txt);
 		}
@@ -303,7 +299,7 @@
 			if(ArrayUtils.contains(configuration.compResForEnergyChart, resourceTypeName))
 				cStats.add(Stats.chartEnergy);
-			cStats.add(Stats.textAirFlow);
+			cStats.add(Stats.textAirflow);
 			if(ArrayUtils.contains(configuration.compResForAirflowChart, resourceTypeName))
-				cStats.add(Stats.chartAirFlow);
+				cStats.add(Stats.chartAirflow);
 			cStats.add(Stats.textTemperature);
 			if(ArrayUtils.contains(configuration.compResForTemperatureChart, resourceTypeName))
@@ -316,5 +312,5 @@
 		resourceUtilizationDiagrams = new HashMap<String, List<XYDataset>>(2);
 		resourcePowerUsageDiagrams = new HashMap<String, List<XYDataset>>(2);
-		resourceAirFlowDiagrams = new HashMap<String, List<XYDataset>>(2);
+		resourceAirflowDiagrams = new HashMap<String, List<XYDataset>>(2);
 		resourceTemperatureDiagrams = new HashMap<String, List<XYDataset>>(2);
 		
@@ -353,12 +349,12 @@
 		}
 		
-		PrintStream airFlowStatsFile = null;
+		PrintStream airflowStatsFile = null;
 		try {
 			File file = new File(outputFolderName + STATS_FILE_NAME_PREFIX
 					+ simulationIdentifier + "_"
 					+ AIRFLOW_STATISTICS_OUTPUT_FILE_NAME);
-			airFlowStatsFile = new PrintStream(new FileOutputStream(file));
+			airflowStatsFile = new PrintStream(new FileOutputStream(file));
 		} catch (IOException e) {
-			airFlowStatsFile = null;
+			airflowStatsFile = null;
 		}
 		
@@ -383,5 +379,5 @@
 		}
 		
-		PrintStream nodesAvailabilityStatsFile = null;
+		/*PrintStream nodesAvailabilityStatsFile = null;
 		try {
 			File file = new File(outputFolderName + STATS_FILE_NAME_PREFIX
@@ -391,5 +387,5 @@
 		} catch (IOException e) {
 			nodesAvailabilityStatsFile = null;
-		}
+		}*/
 		
 		PrintStream metricsStatsFile = null;
@@ -413,18 +409,16 @@
 		}
 		
-		pesStats = gatherPEStatsMulti(jr.getTasks());
-		peStatsPostProcessing(pesStats);
-		basicResLoad = calculatePELoad(pesStats);
+		peStats = gatherPEStatsMulti(jobRegistry.getTasks());
+		peStatsPostProcessing(peStats);
 
 		if (configuration.creatediagrams_gantt) {
-			createPEGanttDiagram(pesStats);
-		}
-		
-		List<ComputingResource> compResources = null;
+			createGanttDiagram(peStats);
+		}
+
 		for(String resourceTypeName: resourceController.getComputingResourceLayers()){
 			DCwormsAccumulator resourceEnergyAccumulator = new DCwormsAccumulator();
 			DCwormsAccumulator maxResourceEnergyAccumulator = new DCwormsAccumulator();
 			DCwormsAccumulator calculationsEnergyAccumulator = new DCwormsAccumulator();
-			compResources = new ArrayList<ComputingResource>();
+			List<ComputingResource> compResources = new ArrayList<ComputingResource>();
 			for(ComputingResource compRes: resourceController.getComputingResources() ){
 				compResources.addAll(compRes.getDescendantsByType(new CustomResourceType(resourceTypeName)));
@@ -439,9 +433,10 @@
 					ResourceUsageStats resourceOccupancy = null;
 					ResourcePowerStats energyUsage = null;
-					ResourceAirFlowStats airFlow = null;
+					ResourceAirflowStats airflow = null;
 					ResourceTemperatureStats temperature = null;
 					ResourceUsefulWorkStats usefulWork = null;
+
 					if(type_stats.get(resourceTypeName).contains(Stats.textLoad)){
-						resourceOccupancy = gatherResourceOccupancyStats(compResource, pesStats);
+						resourceOccupancy = gatherResourceOccupancyStats(compResource, peStats);
 						resourceOccupancy.setMeanValue(calculateMeanValue(resourceOccupancy));
 						if (resourceOccupancyStatsFile != null) {
@@ -457,4 +452,5 @@
 						}
 					}
+
 					if(type_stats.get(resourceTypeName).contains(Stats.chartLoad)){
 						if (configuration.creatediagrams_resutilization) {
@@ -463,4 +459,5 @@
 						}
 					}
+
 					if(type_stats.get(resourceTypeName).contains(Stats.textEnergy)){
 						energyUsage = gatherResourcePowerConsumptionStats(compResource);
@@ -548,4 +545,5 @@
 						}
 					}
+
 					if(type_stats.get(resourceTypeName).contains(Stats.chartEnergy)){
 						if (configuration.creatediagrams_respowerusage) {
@@ -553,22 +551,22 @@
 						}
 					}
-					
-					if(type_stats.get(resourceTypeName).contains(Stats.textAirFlow)){
-						airFlow = gatherResourceAirFlowStats(compResource);
-						airFlow.setMeanValue(calculateMeanValue(airFlow));
-						airFlow.setSumValue(airFlow.getMeanValue() * (endSimulationTime - startSimulationTime) / (60 * MILLI_SEC));
+
+					if(type_stats.get(resourceTypeName).contains(Stats.textAirflow)){
+						airflow = gatherResourceAirflowStats(compResource);
+						airflow.setMeanValue(calculateMeanValue(airflow));
+						airflow.setSumValue(airflow.getMeanValue() * (endSimulationTime - startSimulationTime) / (60 * MILLI_SEC));
 						
 						EnergyExtension een = (EnergyExtension)(compResource.getExtensionList().getExtension(ExtensionType.ENERGY_EXTENSION));
 						if(resourceController.getComputingResources().contains(compResource)) {
-							if( een != null && een.getAirFlowProfile() != null &&  een.getPowerProfile().getEnergyEstimationPlugin() != null){
-								accStats.meanAirFlow.add(airFlow.getMeanValue());
+							if( een != null && een.getAirflowProfile() != null &&  een.getPowerProfile().getEnergyEstimationPlugin() != null){
+								accStats.meanAirflow.add(airflow.getMeanValue());
 							}
 
-						} else if( een != null && een.getAirFlowProfile() != null ){
+						} else if( een != null && een.getAirflowProfile() != null ){
 							ComputingResource parent = compResource.getParent();
 							een = (EnergyExtension)(parent.getExtensionList().getExtension(ExtensionType.ENERGY_EXTENSION));
 							boolean top = true;
 							while(parent != null){
-								if(een != null &&  een.getAirFlowProfile() != null) {
+								if(een != null &&  een.getAirflowProfile() != null) {
 									top = false;
 									break;
@@ -577,19 +575,19 @@
 							}
 							if(top == true){
-								accStats.meanAirFlow.add(airFlow.getMeanValue());
+								accStats.meanAirflow.add(airflow.getMeanValue());
 							}
 						}
-						if (airFlowStatsFile != null) {
-							Object txt = airFlow.serialize(serializer);
-							airFlowStatsFile.print(txt);
+						if (airflowStatsFile != null) {
+							Object txt = airflow.serialize(serializer);
+							airflowStatsFile.print(txt);
 						}
 						
 						for(Device device: compResource.getResourceCharacteristic().getDevices()){
-							ResourceAirFlowStats deviceAirFlow = gatherResourceAirFlowStats(device);
-							deviceAirFlow.setMeanValue(calculateMeanValue(deviceAirFlow));
-							deviceAirFlow.setSumValue(deviceAirFlow.getMeanValue() * (endSimulationTime - startSimulationTime) / (60 * MILLI_SEC));
+							ResourceAirflowStats deviceAirflow = gatherResourceAirflowStats(device);
+							deviceAirflow.setMeanValue(calculateMeanValue(deviceAirflow));
+							deviceAirflow.setSumValue(deviceAirflow.getMeanValue() * (endSimulationTime - startSimulationTime) / (60 * MILLI_SEC));
 							
 							if (deviceStatsFile != null) {
-								Object txt = deviceAirFlow.serialize(serializer);
+								Object txt = deviceAirflow.serialize(serializer);
 								deviceStatsFile.print(txt);
 							}
@@ -597,16 +595,17 @@
 							if(ArrayUtils.contains(configuration.compResForAirflowChart, device.getType().getName())){
 								if (configuration.creatediagrams_resairflow) {
-									createResourceAirFlowDiagramData(deviceAirFlow);
+									createResourceAirflowDiagramData(deviceAirflow);
 								}
 							}
 						}
 					}
-					if(type_stats.get(resourceTypeName).contains(Stats.chartAirFlow)){
+
+					if(type_stats.get(resourceTypeName).contains(Stats.chartAirflow)){
 
 						if (configuration.creatediagrams_resairflow) {
-							createResourceAirFlowDiagramData(airFlow);
+							createResourceAirflowDiagramData(airflow);
 						}
 					}
-					
+
 					if(type_stats.get(resourceTypeName).contains(Stats.textTemperature)){
 						temperature = gatherResourceTemperatureStats(compResource);
@@ -657,4 +656,5 @@
 						}						
 					}
+
 					if(type_stats.get(resourceTypeName).contains(Stats.chartTemperature)){
 						if (configuration.creatediagrams_restemperature) {
@@ -662,5 +662,5 @@
 						}
 					}
-					
+
 					if(type_stats.get(resourceTypeName).contains(Stats.textLoad)){
 						usefulWork = gatherResourceUsefulWorkStats(compResource);
@@ -670,7 +670,5 @@
 						}
 					}
-					
-					
-					if (nodesAvailabilityStatsFile != null) {
+					/*if (nodesAvailabilityStatsFile != null) {
 						ResourceAvailabilityStats ras = new ResourceAvailabilityStats(compResource.getFullName(), compResource.getType(), "availableNodes", compResource.getChildren().size(), endSimulationTime);
 						Object txt = ras.serialize(serializer);
@@ -679,5 +677,5 @@
 						txt = ras.serialize(serializer);
 						nodesAvailabilityStatsFile.print(txt);
-					}
+					}*/
 					
 				}
@@ -708,6 +706,6 @@
 			temperatureStatsFile.close();
 		}
-		if (airFlowStatsFile != null) {
-			airFlowStatsFile.close();
+		if (airflowStatsFile != null) {
+			airflowStatsFile.close();
 		}
 		if (energyStatsFile != null) {
@@ -728,7 +726,7 @@
 		}
 		
-		if (nodesAvailabilityStatsFile != null) {
+		/*if (nodesAvailabilityStatsFile != null) {
 			nodesAvailabilityStatsFile.close();
-		}
+		}*/
 		
 		if (metricsStatsFile != null) {
@@ -739,9 +737,9 @@
 
 	
-	private void peStatsPostProcessing(Map<String, List<ResStat>> basicResStats){
+	private void peStatsPostProcessing(Map<ComputingResource, List<ResStat>> basicResStats){
 		ResourceType resType = null;
 
-		for(String key: basicResStats.keySet()){
-			List<ResStat> resStats = basicResStats.get(key);
+		for(ComputingResource pe: basicResStats.keySet()){
+			List<ResStat> resStats = basicResStats.get(pe);
 			resType = resStats.get(0).getResType();
 			break;
@@ -757,13 +755,14 @@
 		}
 		for(ComputingResource resource: resources){
-			if(!basicResStats.containsKey(resource.getFullName())){
-				basicResStats.put(resource.getFullName(), new ArrayList<ResStat>());
-			}
-		}
-	}
-	
-	private Map<String, List<ResStat>> gatherPEStats(ExecutablesList executables) {
-		
-		Map<String, List<ResStat>> basicResStats = new TreeMap<String, List<ResStat>>(new MapPEIdComparator());
+			if(!basicResStats.containsKey(resource)){
+				basicResStats.put(resource, new ArrayList<ResStat>());
+			}
+		}
+	}
+	
+	//TO DELETE
+	/*private Map<ComputingResource, List<ResStat>> gatherPEStats(ExecutablesList executables) {
+		
+		Map<ComputingResource, List<ResStat>> basicResStats = new TreeMap<ComputingResource, List<ResStat>>(new peIdComparator());
 		for (ExecTask execTask:executables) {
 			Executable exec = (Executable) execTask;
@@ -787,9 +786,9 @@
 					ResStat resStat = new ResStat(peName, pe.getType(), startDate, endDate, appID);
 					
-					List<ResStat> resStats = basicResStats.get(peName);
+					List<ResStat> resStats = basicResStats.get(pe);
 					if (resStats == null) {
 						resStats = new ArrayList<ResStat>();
 						resStats.add(resStat);
-						basicResStats.put(peName, resStats);
+						basicResStats.put(pe, resStats);
 					} else {
 						resStats.add(resStat);
@@ -798,9 +797,9 @@
 					String uniqueTaskID = getUniqueTaskId(execTask);
 
-					Set<ComputingResource> peNames = task_processorsMap.get(uniqueTaskID);
+					Set<ComputingResource> peNames = taskToPEMap.get(uniqueTaskID);
 					if (peNames == null) {
 						peNames = new HashSet<ComputingResource>();
 						peNames.add(pe);
-						task_processorsMap.put(uniqueTaskID, peNames);
+						taskToPEMap.put(uniqueTaskID, peNames);
 					} else {
 						peNames.add(pe);
@@ -827,9 +826,9 @@
 		}
 		return basicResStats;
-	}
-	
-	private Map<String, List<ResStat>> gatherPEStatsMulti(ExecutablesList executables) {
-		
-		Map<String, List<ResStat>> basicResStats = new TreeMap<String, List<ResStat>>(new MapPEIdComparator());
+	}*/
+	
+	private Map<ComputingResource, List<ResStat>> gatherPEStatsMulti(ExecutablesList executables) {
+		
+		Map<ComputingResource, List<ResStat>> basicResStats = new TreeMap<ComputingResource, List<ResStat>>(new peIdComparator());
 		for (ExecTask execTask:executables) {
 			Executable exec = (Executable) execTask;
@@ -839,5 +838,5 @@
 				continue;
 
-			for(int i = 0; i < resourceHistory .size(); i++){
+			for(int i = 0; i < resourceHistory.size(); i++){
 				ResourceItem resHistItem = resourceHistory.get(i);
 				Map<ResourceUnitName, ResourceUnit> res = resHistItem.getResourceUnits();
@@ -875,9 +874,9 @@
 								ResStat resStat = new ResStat(peName, pe.getType(), startDate, endDate, appID);
 								
-								List<ResStat> resStats = basicResStats.get(peName);
+								List<ResStat> resStats = basicResStats.get(pe);
 								if (resStats == null) {
 									resStats = new ArrayList<ResStat>();
 									resStats.add(resStat);
-									basicResStats.put(peName, resStats);
+									basicResStats.put(pe, resStats);
 								} else {
 									resStats.add(resStat);
@@ -886,9 +885,9 @@
 								String uniqueTaskID = getUniqueTaskId(execTask);
 
-								Set<ComputingResource> peNames = task_processorsMap.get(uniqueTaskID);
+								Set<ComputingResource> peNames = taskToPEMap.get(uniqueTaskID);
 								if (peNames == null) {
 									peNames = new HashSet<ComputingResource>();
 									peNames.add(pe);
-									task_processorsMap.put(uniqueTaskID, peNames);
+									taskToPEMap.put(uniqueTaskID, peNames);
 								} else {
 									peNames.add(pe);
@@ -910,5 +909,4 @@
 									
 								}
-								
 							}
 						} 
@@ -949,12 +947,13 @@
 	}
 	
-	
-	private ResourceUsageStats gatherResourceOccupancyStats(ComputingResource resource, Map<String, List<ResStat>> basicStats) {
+	//TO DELETE
+	/*private ResourceUsageStats gatherResourceOccupancyStatsOld(ComputingResource resource, Map<String, List<ResStat>> basicStats) {
 		String usageType = null;
-		if(resource.getResourceCharacteristic().getParameters().get("load-sensor")!= null){
+		if(resource.getResourceCharacteristic().getParameters().get("load-sensor") != null){
 			usageType = resource.getResourceCharacteristic().getParameters().get("load-sensor").get(0).getContent();
 		}
 		ResourceUsageStats usageStats = new ResourceUsageStats(resource.getFullName(), resource.getType(), usageType);
 		int cnt = 0;
+		System.out.println("a: " + System.currentTimeMillis());
 		for(String resName: basicStats.keySet()){
 
@@ -964,4 +963,5 @@
 			}
 		}
+		System.out.println("b: " + System.currentTimeMillis());
 		for(Long key: usageStats.getHistory().keySet()){
 			Double value = usageStats.getHistory().get(key)/cnt;
@@ -971,43 +971,26 @@
 		return usageStats;
 	}
-	
-	private ResourceUsageStats gatherResourceOccupancyStatsNew(ComputingResource resource, Map<String, List<ResStat>> basicStats) {
+	*/
+	private ResourceUsageStats gatherResourceOccupancyStats(ComputingResource compRes, Map<ComputingResource, List<ResStat>> basicStats) {
 
 		String usageType = null;
-		if(resource.getResourceCharacteristic().getParameters().get("load-sensor")!= null){
-			usageType = resource.getResourceCharacteristic().getParameters().get("load-sensor").get(0).getContent();
-		}
-		ResourceUsageStats usageStats = new ResourceUsageStats(resource.getFullName(), resource.getType(), usageType);
+		if(compRes.getResourceCharacteristic().getParameters().get("load-sensor")!= null){
+			usageType = compRes.getResourceCharacteristic().getParameters().get("load-sensor").get(0).getContent();
+		}
+		ResourceUsageStats usageStats = new ResourceUsageStats(compRes.getFullName(), compRes.getType(), usageType);
 		int cnt = 0;
-		
-		ResourceType resType = null;
-
-		for(String key: basicStats.keySet()){
-			List<ResStat> resStats = basicStats.get(key);
-			resType = resStats.get(0).getResType();
-			break;
-		}
-		List<ComputingResource> resources = null;
-		try {
-			resources = new ArrayList<ComputingResource>();
-			for(ComputingResource compRes: resourceController.getComputingResources()){
-				resources.addAll(compRes.getDescendantsByType(resType));
-			}
-		} catch (Exception e) {
-
-		}
-		
-		List<String> resourcesNames = new ArrayList<String>(resources.size());
-		for(ComputingResource compRes: resources){
-			resourcesNames.add(compRes.getFullName());
-		}
-		
-		
-		for(String resName: basicStats.keySet()){
-				if( resourcesNames.contains(resName)  || resource.getFullName().compareTo(resName) == 0){
-					createResourceLoadData(usageStats, basicStats.get(resName));
+
+		if(basicStats.containsKey(compRes)){
+			createResourceLoadData(usageStats, basicStats.get(compRes));
+			cnt++;
+		} else {
+			for(ComputingResource pe: basicStats.keySet()){
+				if(compRes.contains(pe)){
+					createResourceLoadData(usageStats, basicStats.get(pe));
 					cnt++;
 				}
-		}
+			}
+		}
+
 		for(Long key: usageStats.getHistory().keySet()){
 			Double value = usageStats.getHistory().get(key)/cnt;
@@ -1022,5 +1005,5 @@
 		int usedResources = 0;
 		for(ComputingResource compResource: resource.getChildren()){
-			double meanLoad = calculateMeanValue(gatherResourceOccupancyStats(compResource, pesStats));
+			double meanLoad = calculateMeanValue(gatherResourceOccupancyStats(compResource, peStats));
 			if(meanLoad > 0){
 				usedResources++;
@@ -1034,5 +1017,5 @@
 		String usageType = "usefulWork";
 		double usefulWork = 0;
-		JobRegistry jr = new JobRegistryImpl(compResource.getFullName());
+		JobRegistry jr = new JobRegistryImpl(compResource);
 		for(ExecTask task: jr.getFinishedTasks()){
 			usefulWork = usefulWork + task.getExecutionProfile().getUsefulWork();
@@ -1162,5 +1145,5 @@
 	}
 	
-	private ResourceAirFlowStats gatherResourceAirFlowStats(PhysicalResource resource) {
+	private ResourceAirflowStats gatherResourceAirflowStats(PhysicalResource resource) {
 
 		String usageType = null;
@@ -1168,6 +1151,6 @@
 			usageType = resource.getResourceCharacteristic().getParameters().get("airflow_volume-sensor").get(0).getContent();
 		}
-		ResourceAirFlowStats resAirFlow = new ResourceAirFlowStats(resource.getFullName(), resource.getType(), usageType);
-		Map<Long, Double> airFlow = resAirFlow.getHistory();
+		ResourceAirflowStats resAirflow = new ResourceAirflowStats(resource.getFullName(), resource.getType(), usageType);
+		Map<Long, Double> airflow = resAirflow.getHistory();
 		
 		ExtensionList extensionList = resource.getExtensionList();
@@ -1176,18 +1159,18 @@
 				if (extension.getType() == ExtensionType.ENERGY_EXTENSION) {
 					EnergyExtension ee = (EnergyExtension)extension;
-					if(ee.getAirFlowProfile() == null)
+					if(ee.getAirflowProfile() == null)
 						break;
-					List<AirflowValue> airFlowHistory = ee.getAirFlowProfile().getAirflowHistory();
-					if(airFlowHistory.size() == 0)
+					List<AirflowValue> airflowHistory = ee.getAirflowProfile().getAirflowHistory();
+					if(airflowHistory.size() == 0)
 						break;
 					long endSimulationTime = DateTimeUtilsExt.currentTimeMillis();
-					airFlowHistory.add(new AirflowValue(endSimulationTime, ee.getAirFlowProfile().getAirflowHistory().get(ee.getAirFlowProfile().getAirflowHistory().size()-1).getValue()));
-					for(AirflowValue af:airFlowHistory){
-						airFlow.put(af.getTimestamp(), af.getValue());
+					airflowHistory.add(new AirflowValue(endSimulationTime, ee.getAirflowProfile().getAirflowHistory().get(ee.getAirflowProfile().getAirflowHistory().size()-1).getValue()));
+					for(AirflowValue af:airflowHistory){
+						airflow.put(af.getTimestamp(), af.getValue());
 					}
 				}
 			}
 		}
-		return resAirFlow;
+		return resAirflow;
 	}
 	
@@ -1293,16 +1276,16 @@
 	}
 
-	private void createResourceAirFlowDiagramData(ResourceDynamicStats airFlowStats) {
-
-		XYDataset dataset = createResourceChartDataSet(airFlowStats,
+	private void createResourceAirflowDiagramData(ResourceDynamicStats airflowStats) {
+
+		XYDataset dataset = createResourceChartDataSet(airflowStats,
 				startSimulationTime, endSimulationTime);
 		
-		List<XYDataset> airFlowDiagramData = resourceAirFlowDiagrams.get(airFlowStats.getResourceType().getName());
-		if(airFlowDiagramData == null){
-			airFlowDiagramData = new ArrayList<XYDataset>();
-			airFlowDiagramData.add(dataset);
-			resourceAirFlowDiagrams.put(airFlowStats.getResourceType().getName(), airFlowDiagramData);
+		List<XYDataset> airflowDiagramData = resourceAirflowDiagrams.get(airflowStats.getResourceType().getName());
+		if(airflowDiagramData == null){
+			airflowDiagramData = new ArrayList<XYDataset>();
+			airflowDiagramData.add(dataset);
+			resourceAirflowDiagrams.put(airflowStats.getResourceType().getName(), airflowDiagramData);
 		} else {
-			airFlowDiagramData.add(dataset);
+			airflowDiagramData.add(dataset);
 		}
 	}
@@ -1399,11 +1382,11 @@
 		chartName = "Air flow diagram for "
 			+ DataCenterWorkloadSimulator.SIMULATOR_NAME;
-		JFreeChart resourceAirFlowDiagram = null;
+		JFreeChart resourceAirflowDiagram = null;
 		if (configuration.creatediagrams_resairflow) {
 			String axisName = "AIR FLOW [m^3/min]";
-			for(String resType: resourceAirFlowDiagrams.keySet()){
-				resourceAirFlowDiagram = getResourceDynamicDiagram(resourceAirFlowDiagrams.get(resType), simulationTime, chartName,
+			for(String resType: resourceAirflowDiagrams.keySet()){
+				resourceAirflowDiagram = getResourceDynamicDiagram(resourceAirflowDiagrams.get(resType), simulationTime, chartName,
 						subtitle, axisName);
-				if (!saveXYPlotChart(resourceAirFlowDiagram, fileName + "Airflow_" + resType))
+				if (!saveXYPlotChart(resourceAirflowDiagram, fileName + "Airflow_" + resType))
 					return false;
 			}
@@ -1524,28 +1507,28 @@
 	}
 	
-	private void createPEGanttDiagram(Map<String,List<ResStat>> basicResStats) {
-		peGanttMap = new HashMap<String, TimetableEventSource>();
-		taskGanttMap = new HashMap<String, TimetableEventGroup>();
-		for(String peName: basicResStats.keySet()){
-			TimetableEventSource pe = new TimetableEventSource(peName);
-			ganttDiagramTimetable.addEventSource(pe);
-			peGanttMap.put(peName, pe);
-			for(ResStat resStat: basicResStats.get(peName)){
-
-				pe = peGanttMap.get(resStat.getPeName());
-				if(pe == null){
+	private void createGanttDiagram(Map<ComputingResource, List<ResStat>> basicResStats) {
+		Map<String, TimetableEventSource> peGanttMap = new HashMap<String, TimetableEventSource>();
+		Map<String, TimetableEventGroup> taskGanttMap = new HashMap<String, TimetableEventGroup>();
+		for(ComputingResource pe: basicResStats.keySet()){
+			TimetableEventSource peES = new TimetableEventSource(pe.getFullName());
+			ganttDiagramTimetable.addEventSource(peES);
+			peGanttMap.put(pe.getFullName(), peES);
+			for(ResStat resStat: basicResStats.get(pe)){
+
+				peES = peGanttMap.get(resStat.getPeName());
+				if(peES == null){
 					//pe = new TimetableEventSource(resStat.getPeName());
 				//	ganttDiagramPeTimetable.addEventSource(pe);
 				//	peGanttMap.put(resStat.getPeName(), pe);
 				}
-				TimetableEventGroup task = taskGanttMap.get(resStat.getTaskID());
+				TimetableEventGroup taskEG = taskGanttMap.get(resStat.getTaskID());
 				long startDate = resStat.getStartDate();
 				long endDate = resStat.getEndDate();
-				if (task == null) {
-					task = new TimetableEventGroup(resStat.getTaskID());
-					taskGanttMap.put(resStat.getTaskID(), task);
-					ganttDiagramTimetable.addEventGroup(task);
+				if (taskEG == null) {
+					taskEG = new TimetableEventGroup(resStat.getTaskID());
+					taskGanttMap.put(resStat.getTaskID(), taskEG);
+					ganttDiagramTimetable.addEventGroup(taskEG);
 				}
-				ganttDiagramTimetable.addEvent(pe, task,
+				ganttDiagramTimetable.addEvent(peES, taskEG,
 						new FixedMillisecond(startDate), new FixedMillisecond(endDate));
 			}
@@ -1556,4 +1539,5 @@
 	//TO DO
 	private void createAccumulatedResourceSimulationStatistic() {
+		Map<ComputingResource, Double> basicResLoad = calculatePELoad(peStats);
 
 		List<ComputingResource> resources = resourceController.getComputingResources();
@@ -1575,8 +1559,8 @@
 	}
 
-	private Map<String, Double> calculatePELoad(Map<String, List<ResStat>> basicResStats){
-		Map<String, Double> peLoad = new HashMap<String, Double>();
-		for(String resName: basicResStats.keySet()){
-			List<ResStat> resStats = basicResStats.get(resName);
+	private Map<ComputingResource, Double> calculatePELoad(Map<ComputingResource, List<ResStat>> basicResStats){
+		Map<ComputingResource, Double> peLoad = new HashMap<ComputingResource, Double>();
+		for(ComputingResource compRes: basicResStats.keySet()){
+			List<ResStat> resStats = basicResStats.get(compRes);
 			double sum = 0;
 			for(ResStat resStat:resStats){
@@ -1584,16 +1568,16 @@
 			}
 			double load = sum / (endSimulationTime - startSimulationTime);
-			peLoad.put(resName, load);
+			peLoad.put(compRes, load);
 		}
 		return peLoad;
 	}
 	
-	private  Double calculateResourceLoad(ComputingResource resource, Map<String, Double> peLoad ){
+	private  Double calculateResourceLoad(ComputingResource compRes, Map<ComputingResource, Double> peLoad ){
 		int peCnt = 0;
 		double sum = 0;
-		for(String resName: peLoad.keySet()){
-
-			if(resource.getDescendantByName(resName) != null || resource.getFullName().compareTo(resName) == 0){
-				Double load = peLoad.get(resName);
+		for(ComputingResource pe: peLoad.keySet()){
+
+			if(compRes.contains(pe)){
+				Double load = peLoad.get(pe);
 				sum += load;
 				peCnt++;
@@ -1674,8 +1658,8 @@
 			Job job = (Job) jobs.get(i);
 
-			List<ExecTask> execList = jr.getTasks().getExecutables(job.getId());
+			List<ExecTask> execList = jobRegistry.getTasks().getExecutables(job.getId());
 			List<TaskStats> taskStatsList = new ArrayList<TaskStats>();
 
-			this.serializer.setFieldSeparator(TASK_SEPARATOR);
+			this.serializer.setFieldSeparator(SEPARATOR);
 
 			for (int j = 0; j < execList.size(); j++) {
@@ -1706,5 +1690,5 @@
 			if (configuration.createjobsstatistics && taskStatsList.size() > 0) {
 
-				this.serializer.setFieldSeparator(JOB_SEPARATOR);
+				this.serializer.setFieldSeparator(SEPARATOR);
 				JobStats jobStats = createJobStats(taskStatsList);
 				if (jobStatsFile != null) {
@@ -1756,5 +1740,5 @@
 		TaskStats taskStats = new TaskStats(task, startSimulationTime);
 		String uniqueTaskID = getUniqueTaskId(task);
-		taskStats.setProcessors(task_processorsMap.get(uniqueTaskID));
+		taskStats.setProcessors(taskToPEMap.get(uniqueTaskID));
 		return taskStats;
 	}
@@ -2016,25 +2000,32 @@
 	}
 	
-	private static class MapPEIdComparator implements Comparator<String> {
-
-		public int compare(String o1, String o2)  {
+	private static class peIdComparator implements Comparator<ComputingResource> {
+
+		public int compare(ComputingResource o1, ComputingResource o2)  {
 			Integer o1int = 0;
 			Integer o2int = 0;
-			String o1string;
+			String o1string = null;
 			String o2string = null;
-
-			if(o1.contains("_")){
-				o1string = o1.substring(0, o1.lastIndexOf("_"));
-				o1int = Integer.parseInt(o1.substring(o1.lastIndexOf("_")+1));
-			} else {
-				o1string = o1;
-			}
-			
-			if(o2.contains("_")){
-				o2string = o2.substring(0, o2.lastIndexOf("_"));
-				o2int = Integer.parseInt(o2.substring(o2.lastIndexOf("_")+1));
-			}else {
-				o2string = o2;
-			}
+			try {
+				if(o1.getFullName().contains("_")){
+					o1string = o1.getFullName().substring(0, o1.getFullName().lastIndexOf("_"));
+					o1int = Integer.parseInt(o1.getFullName().substring(o1.getFullName().lastIndexOf("_") + 1));
+				} else {
+					o1string = o1.getFullName();
+				}
+				
+				if(o2.getFullName().contains("_")){
+					o2string = o2.getFullName().substring(0, o2.getFullName().lastIndexOf("_"));
+					o2int = Integer.parseInt(o2.getFullName().substring(o2.getFullName().lastIndexOf("_") + 1));
+				}else {
+					o2string = o2.getFullName();
+				}
+			} catch (Exception e) {
+				o1int = 0;
+				o2int = 0;
+				o1string = o1.getFullName();
+				o2string = o2.getFullName();
+			}
+
 
 			if(o1int.compareTo(o2int) != 0)
@@ -2077,5 +2068,4 @@
 
 	public ResStat(String peName, long startDate, long endDate, String taskID) {
-		super();
 		this.startDate = startDate;
 		this.endDate = endDate;
@@ -2090,5 +2080,4 @@
 	}
 	public ResStat(String peName, ResourceType resType, long startDate, long endDate, String taskID) {
-		super();
 		this.peName = peName;
 		this.resType = resType;
@@ -2116,6 +2105,6 @@
 	textEnergy,
 	chartEnergy,
-	textAirFlow,
-	chartAirFlow,
+	textAirflow,
+	chartAirflow,
 	textTemperature,
 	chartTemperature,
Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/ResourceAirflowStats.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/ResourceAirflowStats.java	(revision 1434)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/ResourceAirflowStats.java	(revision 1434)
@@ -0,0 +1,35 @@
+package simulator.stats.implementation;
+
+import schedframe.resources.ResourceType;
+import simulator.stats.implementation.out.StatsSerializer;
+
+public class ResourceAirflowStats extends ResourceDynamicStats implements StatsInterface{
+
+	protected double sumValue;
+	
+	private String[] headers = { "resourceName", "timestamp", "airflow" };
+	
+	public ResourceAirflowStats (String resourceName, ResourceType resourceType, String usageType) {
+		super(resourceName, resourceType, usageType);
+		if(usageType == null){
+			this.usageType = "airflow_volume";
+		}
+	}
+
+	public void setSumValue(double sumValue) {
+		this.sumValue = sumValue;
+	}
+
+	public double getSumValue() {
+		return sumValue;
+	}
+	
+	public Object serialize(StatsSerializer serializer) {
+		return serializer.visit(this);
+	}
+
+	public String[] getHeaders() {
+		return headers;
+	}
+
+}
Index: DCWoRMS/branches/coolemall/src/simulator/stats/implementation/GSSAccumulatorsStats.java
===================================================================
--- DCWoRMS/branches/coolemall/src/simulator/stats/implementation/GSSAccumulatorsStats.java	(revision 1396)
+++ DCWoRMS/branches/coolemall/src/simulator/stats/implementation/GSSAccumulatorsStats.java	(revision 1434)
@@ -10,5 +10,5 @@
 	public DCwormsAccumulator meanQueueLength;
 	public DCwormsAccumulator meanEnergyUsage;
-	public DCwormsAccumulator meanAirFlow;
+	public DCwormsAccumulator meanAirflow;
 	public DCwormsAccumulator meanTemperature;
 
@@ -32,5 +32,5 @@
 		meanQueueLength = new DCwormsAccumulator();
 		meanEnergyUsage = new DCwormsAccumulator(); 
-		meanAirFlow = new DCwormsAccumulator(); 
+		meanAirflow = new DCwormsAccumulator(); 
 		meanTemperature = new DCwormsAccumulator(); 
 		
Index: DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java	(revision 1415)
+++ DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java	(revision 1434)
@@ -7,25 +7,22 @@
 import java.util.Set;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.qcg.broker.schemas.resreqs.ParentType;
 import org.qcg.broker.schemas.resreqs.Workflow;
 import org.qcg.broker.schemas.resreqs.types.TaskStatesName;
 
-import dcworms.schedframe.scheduling.ExecTask;
-
 import qcg.shared.constants.BrokerConstants;
 import schedframe.ExecutablesList;
+import schedframe.resources.computing.ComputingResource;
 import schedframe.scheduling.tasks.JobInterface;
 import schedframe.scheduling.tasks.Task;
+import dcworms.schedframe.scheduling.ExecTask;
 
 public class JobRegistryImpl extends AbstractJobRegistry {
 
-	private static Log log = LogFactory.getLog(JobRegistryImpl.class);
-
 	private String context;
-
+	private ComputingResource cr;
 	//TO DO - consider data structure
 	protected static final ExecutablesList executables = new ExecutablesList();
+
 	//protected static final List<ExecTask> executables = Collections.synchronizedList(new ArrayList<ExecTask>());;
 	//protected static final List<ExecTaskInterface> executables = new CopyOnWriteArrayList<ExecTaskInterface>();
@@ -34,8 +31,16 @@
 		this.context = context;
 	}
-
+	
+	public JobRegistryImpl(ComputingResource cr) {
+		this.cr = cr;
+	}
+
+	public JobRegistryImpl() {
+		this("");
+	}
+	
 	public boolean addExecTask(ExecTask newTask) {
 		if(getTask(newTask.getJobId(), newTask.getId()) == null) {
-			synchronized (executables)  {
+			synchronized (executables) {
 				executables.add(newTask);
 			}
@@ -53,17 +58,33 @@
 			for (ExecTask task: executables) {
 				if (task.getStatus() == status) {
-					Set<String> visitedResource = task.getAllocatedResources().getLast().getResourceNames();
-					for(String res: visitedResource){
-						if(res.equals(context) || res.substring(0, res.lastIndexOf("/")).contains(context)){
+					if(cr != null){
+						Set<ComputingResource> visitedResource = task.getAllocatedResources().getLast().getResources();
+						if(visitedResource.contains(cr)){
 							taskList.add(task);
-							break;
-						}
-					}
-					if(task.getSchedulerName().equals(context)) {
-						taskList.add(task);
-					}
-				}
-			}
-		}
+						} else {
+							for(ComputingResource res: visitedResource){
+								if(cr.contains(res)){
+									taskList.add(task);
+									break;
+								}
+							}
+						}
+					} else {
+						Set<String> visitedResource = task.getAllocatedResources().getLast().getResourceNames();
+						for(String res: visitedResource){
+							if(res.equals(context) || res.substring(0, res.lastIndexOf("/")).contains(context)){
+								taskList.add(task);
+								break;
+							}
+						}
+
+						if(task.getSchedulerName().equals(context)) {
+							taskList.add(task);
+						}
+					}
+				}
+			}
+		}
+
 		return taskList;
 	}
Index: DCWoRMS/branches/coolemall/src/schedframe/scheduling/ResourceItem.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/scheduling/ResourceItem.java	(revision 1423)
+++ DCWoRMS/branches/coolemall/src/schedframe/scheduling/ResourceItem.java	(revision 1434)
@@ -17,8 +17,10 @@
 	protected Map<ResourceUnitName, ResourceUnit> usedResources;
 	protected Set<String> resourceNames;
+	protected Set<ComputingResource> compResource;
 
 	public ResourceItem(Map<ResourceUnitName, ResourceUnit> usedResources){
 		this.usedResources = usedResources;
 		this.resourceNames = saveResourceNames();
+		this.compResource = saveResources();
 	}
 	
@@ -29,4 +31,8 @@
 	public Set<String> getResourceNames(){
 		return resourceNames;
+	}
+	
+	public Set<ComputingResource> getResources(){
+		return compResource;
 	}
 	
@@ -57,3 +63,30 @@
 		return resourceNames;
 	}
+	
+	private Set<ComputingResource> saveResources(){
+		Set<ComputingResource> compResources;
+		ProcessingElements pes = (ProcessingElements) usedResources.get(StandardResourceUnitName.PE);
+		compResources = new HashSet<ComputingResource>(pes.size(), 1);
+		for (ComputingResource resource: pes) {
+
+			LinkedList<ComputingResource> toExamine = new LinkedList<ComputingResource>();
+			toExamine.push(resource);
+
+			while (!toExamine.isEmpty()) {
+				ComputingResource compResource = toExamine.pop();
+				List<ComputingResource> resources = compResource.getChildren();
+				if(resources.isEmpty()){
+					if(!compResources.contains(compResource)){
+						compResources.add(compResource);
+					}
+				} else {
+					for (int i = 0; i < resources.size(); i++) {
+						ComputingResource resourceChild = resources.get(i);
+						toExamine.addLast(resourceChild);
+					}
+				}
+			}
+		}
+		return compResources;
+	}
 }
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/units/ProcessingElements.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/units/ProcessingElements.java	(revision 1423)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/units/ProcessingElements.java	(revision 1434)
@@ -227,8 +227,8 @@
 		else if(delta < 0) {
 			for(int i = this.resources.size() - 1; i >= 0 && delta < 0; i--){
-				ComputingResource r = this.resources.get(i);
-				if(r.getStatus() == ResourceStatus.BUSY){
-					if(new JobRegistryImpl(r.getFullName()).getRunningTasks().size() == 0){
-						r.setStatus(ResourceStatus.FREE);
+				ComputingResource cr = this.resources.get(i);
+				if(cr.getStatus() == ResourceStatus.BUSY){
+					if(new JobRegistryImpl(cr).getRunningTasks().size() == 0){
+						cr.setStatus(ResourceStatus.FREE);
 						delta++;	
 					}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java	(revision 1423)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java	(revision 1434)
@@ -218,5 +218,5 @@
 	}
 
-	public AirflowProfile getAirFlowProfile() {
+	public AirflowProfile getAirflowProfile() {
 		return airflowProfile;
 	}
