|
@@ -117,6 +117,10 @@ public class StatisticGraph extends JPanel {
|
|
case TrackedDataSet.AMOUNT_CLOSED_SWITCHES:
|
|
case TrackedDataSet.AMOUNT_CLOSED_SWITCHES:
|
|
case TrackedDataSet.AVG_AMOUNT_OBJECTS_IN_HOLONS:
|
|
case TrackedDataSet.AVG_AMOUNT_OBJECTS_IN_HOLONS:
|
|
case TrackedDataSet.AVG_AMOUNT_ELEMENTS_IN_HOLONS:
|
|
case TrackedDataSet.AVG_AMOUNT_ELEMENTS_IN_HOLONS:
|
|
|
|
+ case TrackedDataSet.AVG_AMOUNT_PRODUCERS_IN_HOLONS:
|
|
|
|
+ case TrackedDataSet.AVG_CONSUMED_ENERGY_IN_HOLONS:
|
|
|
|
+ case TrackedDataSet.AVG_WASTED_ENERGY_IN_HOLONS:
|
|
|
|
+ case TrackedDataSet.AMOUNT_BROKEN_EDGES:
|
|
createPathFloats(set);
|
|
createPathFloats(set);
|
|
break;
|
|
break;
|
|
case TrackedDataSet.ON_OFF:
|
|
case TrackedDataSet.ON_OFF:
|
|
@@ -125,6 +129,7 @@ public class StatisticGraph extends JPanel {
|
|
case TrackedDataSet.PERCENT_SUPPLIED:
|
|
case TrackedDataSet.PERCENT_SUPPLIED:
|
|
case TrackedDataSet.PERCENT_NOT_SUPPLIED:
|
|
case TrackedDataSet.PERCENT_NOT_SUPPLIED:
|
|
case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
|
|
case TrackedDataSet.PERCENT_PARTIAL_SUPPLIED:
|
|
|
|
+ case TrackedDataSet.RATIO_PRODUCERS_CONSUMERS:
|
|
createPathPercent(set);
|
|
createPathPercent(set);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
@@ -264,6 +269,37 @@ public class StatisticGraph extends JPanel {
|
|
eCount = 0;
|
|
eCount = 0;
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
+ case TrackedDataSet.AVG_AMOUNT_PRODUCERS_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ if (val < sub.getObjects().size()) {
|
|
|
|
+ val = sub.getObjects().size();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AVG_CONSUMED_ENERGY_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ float tempVal = -getMaxTotalConsumption(new ArrayList<>(sub.getObjects()));
|
|
|
|
+ if (val < tempVal) {
|
|
|
|
+ val = tempVal;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AVG_WASTED_ENERGY_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ float tempVal = getMaxTotalProduction(new ArrayList<>(sub.getObjects()));
|
|
|
|
+ if (val < tempVal) {
|
|
|
|
+ val = tempVal;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AMOUNT_BROKEN_EDGES:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ val += sub.getSwitches().size();
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.RATIO_PRODUCERS_CONSUMERS:
|
|
|
|
+ val = 1;
|
|
|
|
+ break;
|
|
default:
|
|
default:
|
|
maximum = 0;
|
|
maximum = 0;
|
|
break;
|
|
break;
|
|
@@ -376,7 +412,61 @@ public class StatisticGraph extends JPanel {
|
|
val += obj.getElements().size();
|
|
val += obj.getElements().size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- val /=controller.getSimManager().getSubNets().size();
|
|
|
|
|
|
+ val /= controller.getSimManager().getSubNets().size();
|
|
|
|
+ set.setValAt(val, model.getCurIteration());
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AVG_AMOUNT_PRODUCERS_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ for (HolonObject obj : sub.getObjects()) {
|
|
|
|
+ if (obj.getCurrentEnergyAtTimeStep(model.getCurIteration()) > 0) {
|
|
|
|
+ val++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ val /= controller.getSimManager().getSubNets().size();
|
|
|
|
+ set.setValAt(val, model.getCurIteration());
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AVG_CONSUMED_ENERGY_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ val += -getTotalConsumptionAt(new ArrayList<AbstractCpsObject>(sub.getObjects()),
|
|
|
|
+ model.getCurIteration());
|
|
|
|
+ }
|
|
|
|
+ val /= controller.getSimManager().getSubNets().size();
|
|
|
|
+ set.setValAt(val, model.getCurIteration());
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AVG_WASTED_ENERGY_IN_HOLONS:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ val += (getTotalProductionAt(new ArrayList<AbstractCpsObject>(sub.getObjects()),
|
|
|
|
+ model.getCurIteration())
|
|
|
|
+ + getTotalConsumptionAt(new ArrayList<AbstractCpsObject>(sub.getObjects()),
|
|
|
|
+ model.getCurIteration()));
|
|
|
|
+ }
|
|
|
|
+ val /= controller.getSimManager().getSubNets().size();
|
|
|
|
+ set.setValAt(val, model.getCurIteration());
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.AMOUNT_BROKEN_EDGES:
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ for (HolonSwitch s : sub.getSwitches()) {
|
|
|
|
+ if (s.getState()) {
|
|
|
|
+ val++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ set.setValAt(val, model.getCurIteration());
|
|
|
|
+ break;
|
|
|
|
+ case TrackedDataSet.RATIO_PRODUCERS_CONSUMERS:
|
|
|
|
+ float prod = 0;
|
|
|
|
+ float cons = 0;
|
|
|
|
+ for (SubNet sub : controller.getSimManager().getSubNets()) {
|
|
|
|
+ for (HolonObject obj : sub.getObjects()) {
|
|
|
|
+ if (obj.getCurrentEnergyAtTimeStep(model.getCurIteration()) > 0) {
|
|
|
|
+ prod++;
|
|
|
|
+ } else if(obj.getCurrentEnergyAtTimeStep(model.getCurIteration()) < 0) {
|
|
|
|
+ cons++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ val = prod/(prod+cons);
|
|
set.setValAt(val, model.getCurIteration());
|
|
set.setValAt(val, model.getCurIteration());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
@@ -567,8 +657,8 @@ public class StatisticGraph extends JPanel {
|
|
|
|
|
|
return stateObjectss / count;
|
|
return stateObjectss / count;
|
|
}
|
|
}
|
|
-
|
|
|
|
- public ArrayList<TrackedDataSet> getDataSets(){
|
|
|
|
|
|
+
|
|
|
|
+ public ArrayList<TrackedDataSet> getDataSets() {
|
|
return dataSets;
|
|
return dataSets;
|
|
}
|
|
}
|
|
|
|
|