WorkloadPercentageConstraint:
- New class for identifying the new constraint on the (minimum) workload
percentage for each provider.
Metric:
- Implemented the new "WorkloadPercentage" constraint.
ConstraintHandler:
- Handled the new "WorkloadPercentage" constraint.
- The new method getWorkloadPercentageConstraint() returns the
constraint on the workload percentage.
OptEngine:
- Modified the method
maximizeWorkloadPercentagesForLeastUsedTier(SolutionMulti, int) for
taking the minimum workload percentage from the constraint (if there is
one defined). Removed the method with the parametric minimum workload
percentage.
ConstraintHandler:
- Removed the casting in getWorkloadPercentageConstraint().
Host:
- New class for defining a private host.
PrivateCloud:
- Package changed in
it.polimi.modaclouds.space4cloud.optimization.bursting.
- It now uses a number of Host object for defining its resources.
- It is disabled for now, I'm going to implement it soon.
FunctionalityPanel:
- Changed the name of the panel (removing the "Panel" part).
- Now the information on the private cloud are in a separate panel.
RobustnessConfigurationPanel:
- Changed the name of the panel (removing the "Panel" part).
PalladioModelSpecificationPanel:
- Changed the name of the panel (removing the "Panel" part).
OptimizationConfigurationPanel:
- Changed the name of the panel (removing the "Panel" part).
ExtensionModelSpecificationPanel:
- Changed the name of the panel (removing the "Panel" part).
CloudBurstingPanel:
- New panel for adding or removing personal hosts.
SetHostWindow:
- Window for setting the details about a specific personal host that we
are going to use as part of the private cloud. The settings are saved on
closing.
Configuration:
- Removed the fields used for defining the size and power of the private
cloud: PRIVATE_CPUS, PRIVATE_CPUPOWER, PRIVATE_RAM, PRIVATE_STORAGE.
Added a PRIVATE_CLOUD_HOSTS field for a file describing the private
hosts.
Updated the pom.
Fixed the manifest.
Now we also support the variability of the input for the robustness
test.
RobustnessProgressWindow.java:
- Fixed a problem when adding a new solution with the highest peak lower
than all the other solutions already in the dataset.
SetHostWindow.java:
- The new default hourly cost for the energy is 0.01 and not 10.0.
We now consider the name of the tier when adding it to the graph!
Another fix for the robustness with variability is here. Now it should
work correctly.
Last fix (hopefully) for the robustness+variability check.
PrivateCloud.java:
- Now it uses the external tool!

OptEngine.java:
- The calls to the PrivateCloud class should be fixed.

SolutionMulti.java:
- Now there's a method for reading all the available providers in a
solution file.
- I've combined the optimize() and optimizeMultiprovider() because it
was terrible to have two methods completely identical.
- Now it exports the solution even if it isn't evaluated.
- The total cost is a double now.

EvaluationServer.java:
- Now it also considers the private cloud instances.

CostEvaluator.java:
- If the solution is on a private cloud, it computes the cost
accordingly.
The solution now shows also the provider name when printed.
Now the cloud bursting should work. The evaluator evaluates the private
solutions, and also the workload is (equally) divided among public and
private clouds (e.g. if 3 of the total 5 machines are on the public
cloud, then it will have 3/5 of the total incoming workload).
Solution.java:
- Added a method for checking if the solution as at least 1 replica in
at least one hour of the day.
- Now the method getCost() returns a float instead of a double, so the
value is more compact.

SolutionMulti.java:
- Added a method for removing a solution.
- Added a method for removing all the useless solutions (that are those
with always 0 replicas).
- Now the method getCost() returns a float instead of a double, so the
value is more compact.

Other fixes for the private cloud thing.
DataExporter.java:
- New tool for exporting the data in the new output format.

Configuration.java:
- Three more fields for the parameter of the DataExporter tool.

Space4Cloud.java:
- Now it calls the tool for exporting the data with the DataExporter
tool.
Also the configuration panel for the robustness test exposes the
parameters for the new output format.
EvaluationServer.java:
- We want to keep the empty solutions for the visualization in the end,
so we need to make the evaluation server fake the evaluation of the
empty solutions, otherwise nothing will work.

Solution.java:
- Fixed a problem in the clone() method.

PrivateCloud.java:
- Now it should work.
A fix in the change workload move, needed when setting a rate of 0.
The robustness progress window now shows also the private hosts used.
Changed the version of MILP in the pom.
Now the evaluation of the solution is forcefully called before the
export (not the solver, just the internal method).