public void calculateEnergyConsumption() {
		int i = 1;
		System.out.println("EVALUATING SYSTEMS\n");
		for (SoftwareSystem system : systems) {// was:validsystem
			System.out.println("\tSystem " + (i++) + "\n\t\t" + system);
			int j = 0;
			Calculator calculator = new Calculator(this);
			for (FunctionalRequirement functionalRequirement : functionalRequirements) {
				for (SequenceAlternative sequenceAlternative : functionalRequirement.getSequenceAlternatives()) {
					double[] consumption = calculator.calculateEnergyConsumption(system, functionalRequirement, sequenceAlternative);
					double[] staticConsumption = calculator.calculatePlatformAndOtherConsuptions(system, functionalRequirement);
					// TODO: controllare condizioni
					if (system.getConsumptionEnergyPoints()[j] == -1 || consumption[0] < system.getConsumptionEnergyPoints()[j]) {
						system.getConsumptionEnergyPoints()[j] = Math.round(consumption[0] + staticConsumption[0]);
						system.getBestSequenceAlternativesEnergyPoint().add(sequenceAlternative);
					}
					if (system.getConsumptionWatt()[j] == -1 || consumption[1] > 0 && consumption[1] < system.getConsumptionWatt()[j]) {
						system.getConsumptionWatt()[j] = Math.round(consumption[1] + staticConsumption[1]);
						system.getBestSequenceAlternativesWatt().add(sequenceAlternative);
					}
				}
				j++;
			}
			system.calculateTotals();
			system.printAnalysisResultsSummary();
			System.out.println("\n\n");
		}
	}