diff --git a/Performance.xlsx b/Performance.xlsx new file mode 100644 index 000000000..7c0f063e6 Binary files /dev/null and b/Performance.xlsx differ diff --git a/README.md b/README.md index 5128b536e..cc4d2c9d3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # CloudSim: A Framework For Modeling And Simulation Of Cloud Computing Infrastructures And Services # +Modified version of CloudSim, By Sabir Mohammedi Taieb, + +Added new power vm selection and allocation policies + +Added new simulation metrics: Migraiton Time, Migration Energy. + Cloud computing is the leading approach for delivering reliable, secure, fault-tolerant, sustainable, and scalable computational services. Hence timely, repeatable, and controllable methodologies for performance evaluation of new cloud applications and policies before their actual development are reqruied. Because utilization of real testbeds limits the experiments to the scale of the testbed and makes the reproduction of results an extremely difficult undertaking, simulation may be used. CloudSim goal is to provide a generalized and extensible simulation framework that enables modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services, allowing its users to focus on specific system design issues that they want to investigate, without getting concerned about the low level details related to Cloud-based infrastructures and services. diff --git a/modules/GUI/CSS/approach.css b/modules/GUI/CSS/approach.css new file mode 100644 index 000000000..765cb2993 --- /dev/null +++ b/modules/GUI/CSS/approach.css @@ -0,0 +1,9 @@ +.AnchorPane{ + -fx-background-color: linear-gradient(#440979 50%,#8b00ff 100%); +} +.button{ + -fx-background-color : black; +} +.button:hover{ + -fx-background-color: linear-gradient(#440979 50%,#8b00ff 100%); +} \ No newline at end of file diff --git a/modules/GUI/CSS/simulationconfig.css b/modules/GUI/CSS/simulationconfig.css new file mode 100644 index 000000000..ef87e6941 --- /dev/null +++ b/modules/GUI/CSS/simulationconfig.css @@ -0,0 +1,14 @@ +/* + * Empty Stylesheet file. + */ + +.mainFxmlClass { +-fx-background-color: linear-gradient(#136f94 50%,#8b00ff 100%); +} + +.button{ + -fx-background-color : black; +} +.button:hover{ + -fx-background-color: linear-gradient(#440979 50%,#8b00ff 100%); +} \ No newline at end of file diff --git a/modules/GUI/CSS/style.css b/modules/GUI/CSS/style.css new file mode 100644 index 000000000..9aa5f3d3f --- /dev/null +++ b/modules/GUI/CSS/style.css @@ -0,0 +1,18 @@ +.button{ + -fx-background-color: black; + -fx-text-fill: white; +} + +.button:hover +{ + -fx-background-color: linear-gradient(#440979 40%, #8b00ff 100%); +} + +.button:pressed +{ + -fx-background-color: #300c4e; +} + +.label{ + -fx-text-fill: white; +} diff --git a/modules/GUI/cloudsimgui/AboutUsController.java b/modules/GUI/cloudsimgui/AboutUsController.java new file mode 100644 index 000000000..348e349d4 --- /dev/null +++ b/modules/GUI/cloudsimgui/AboutUsController.java @@ -0,0 +1,23 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package GUI.cloudsimgui; + +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.Initializable; + +/** + * + * @author sabir + */ +public class AboutUsController implements Initializable{ + + @Override + public void initialize(URL url, ResourceBundle rb) { + + } + +} diff --git a/modules/GUI/cloudsimgui/ApproachController.java b/modules/GUI/cloudsimgui/ApproachController.java new file mode 100644 index 000000000..3d4196a36 --- /dev/null +++ b/modules/GUI/cloudsimgui/ApproachController.java @@ -0,0 +1,51 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package GUI.cloudsimgui; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; + +/** + * + * @author sabir + */ +public class ApproachController implements Initializable{ + + @FXML + private Button SelectionBtn; + + @FXML + private Button AllocationBtn; + + @FXML + private Button LowerThrBtn; + + @Override + public void initialize(URL url, ResourceBundle rb) { + + } + + @FXML + public void gotoSelection() throws IOException{ + } + + @FXML + public void gotoAllocation() throws IOException{ + + } + + @FXML + public void gotoLowerThr() throws IOException{ + + } +} diff --git a/modules/GUI/cloudsimgui/CloudSimGui.java b/modules/GUI/cloudsimgui/CloudSimGui.java new file mode 100644 index 000000000..9263d4615 --- /dev/null +++ b/modules/GUI/cloudsimgui/CloudSimGui.java @@ -0,0 +1,38 @@ + +package GUI.cloudsimgui; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.image.Image; +import javafx.stage.Stage; + +/** + * + * @author sabir + */ +public class CloudSimGui extends Application { + + @Override + public void start(Stage stage) throws Exception { + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/FXMLDocument.fxml")); + Scene scene = new Scene(root); + stage.setScene(scene); + scene.getStylesheets().add("/GUI/CSS/style.css"); + stage.setTitle("CloudSim GUI"); + stage.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + stage.setResizable(false); + stage.setMaxWidth(1095); + stage.setMaxHeight(635); + stage.show(); + } + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + launch(args); + } + +} diff --git a/modules/GUI/cloudsimgui/EsvBarChartController.java b/modules/GUI/cloudsimgui/EsvBarChartController.java new file mode 100644 index 000000000..78279bd0c --- /dev/null +++ b/modules/GUI/cloudsimgui/EsvBarChartController.java @@ -0,0 +1,147 @@ +package GUI.cloudsimgui; + +import java.net.URL; +import java.util.Arrays; +import java.util.ResourceBundle; +import javafx.collections.FXCollections; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.chart.BarChart; +import javafx.scene.chart.CategoryAxis; +import javafx.scene.chart.NumberAxis; +import javafx.scene.chart.XYChart; + +/** + * FXML Controller class + * + * @author Sabir Mohammedi Taieb + */ +public class EsvBarChartController implements Initializable { + + /** + * Initializes the controller class. + */ + + @FXML + private BarChart EsvBarChart; + + @FXML + private CategoryAxis EsvX; + + @FXML + private NumberAxis EsvY; + + @Override + public void initialize(URL url, ResourceBundle rb) { + EsvX.setCategories(FXCollections.observableArrayList(Arrays.asList("50/50","150/120","200/150","250/200","350/250","400/350","450/350","500/450", + "550/450","600/400","600/420","600/450"))); + + XYChart.Series set1 = new XYChart.Series<>(); + set1.setName("NfIqrGpaMmt"); + set1.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 0))); + set1.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 0))); + set1.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 0))); + set1.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 0))); + set1.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 0))); + set1.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 0))); + set1.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 0))); + set1.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 0))); + set1.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 0))); + set1.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 0))); + set1.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,0))); + set1.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 0))); + + XYChart.Series set2 = new XYChart.Series<>(); + set2.setName("IqrMc"); + set2.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 1))); + set2.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 1))); + set2.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 1))); + set2.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 1))); + set2.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 1))); + set2.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 1))); + set2.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 1))); + set2.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 1))); + set2.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 1))); + set2.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 1))); + set2.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,1))); + set2.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 1))); + + XYChart.Series set3 = new XYChart.Series<>(); + set3.setName("LrMmt"); + set3.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 2))); + set3.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 2))); + set3.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 2))); + set3.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 2))); + set3.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 2))); + set3.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 2))); + set3.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 2))); + set3.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 2))); + set3.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 2))); + set3.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 2))); + set3.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,2))); + set3.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 2))); + + XYChart.Series set4 = new XYChart.Series<>(); + set4.setName("MadMu"); + set4.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 3))); + set4.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 3))); + set4.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 3))); + set4.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 3))); + set4.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 3))); + set4.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 3))); + set4.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 3))); + set4.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 3))); + set4.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 3))); + set4.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 3))); + set4.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,3))); + set4.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 3))); + + XYChart.Series set5 = new XYChart.Series<>(); + set5.setName("ThrRs"); + set5.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 4))); + set5.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 4))); + set5.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 4))); + set5.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 4))); + set5.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 4))); + set5.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 4))); + set5.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 4))); + set5.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 4))); + set5.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 4))); + set5.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 4))); + set5.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,4))); + set5.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11,4))); + + XYChart.Series set6 = new XYChart.Series<>(); + set6.setName("LrrMmt"); + set6.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 5))); + set6.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 5))); + set6.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 5))); + set6.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 5))); + set6.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 5))); + set6.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 5))); + set6.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 5))); + set6.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 5))); + set6.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 5))); + set6.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 5))); + set6.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,5))); + set6.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 5))); + + XYChart.Series set7 = new XYChart.Series<>(); + set7.setName("IqrMmt"); + set7.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEsvMatrix(0, 6))); + set7.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEsvMatrix(1, 6))); + set7.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEsvMatrix(2, 6))); + set7.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEsvMatrix(3, 6))); + set7.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEsvMatrix(4, 6))); + set7.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEsvMatrix(5, 6))); + set7.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEsvMatrix(6, 6))); + set7.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEsvMatrix(7, 6))); + set7.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEsvMatrix(8, 6))); + set7.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEsvMatrix(9, 6))); + set7.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEsvMatrix(10,6))); + set7.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEsvMatrix(11, 6))); + + EsvBarChart.getData().addAll(set1,set2,set3,set4,set5,set6,set7); + } + +} diff --git a/modules/GUI/cloudsimgui/FXMLDocumentController.java b/modules/GUI/cloudsimgui/FXMLDocumentController.java new file mode 100644 index 000000000..656ba549b --- /dev/null +++ b/modules/GUI/cloudsimgui/FXMLDocumentController.java @@ -0,0 +1,67 @@ +package GUI.cloudsimgui; + +import java.io.IOException; +import java.net.URL; +import java.util.ResourceBundle; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.stage.Stage; + +/** + * + * @author sabir + */ +public class FXMLDocumentController implements Initializable { + @FXML + private Label label; + + @FXML + private void goToSimulationConfig() throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/SimulationConfig.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + scene.getStylesheets().add("/GUI/CSS/simulationconfig.css"); + window.setScene(scene); + window.setTitle("Simulation Configuration"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + @FXML + private void goToAbout() throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/AboutUs.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + window.setScene(scene); + window.setTitle("About Us"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + + @FXML + private void goToApproach() throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/Approach.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + scene.getStylesheets().add("/GUI/CSS/simulationconfig.css"); + window.setScene(scene); + window.setTitle("Approach"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + @Override + public void initialize(URL url, ResourceBundle rb) { + // TODO + } + +} diff --git a/modules/GUI/cloudsimgui/OslavBarChartController.java b/modules/GUI/cloudsimgui/OslavBarChartController.java new file mode 100644 index 000000000..aa28ac616 --- /dev/null +++ b/modules/GUI/cloudsimgui/OslavBarChartController.java @@ -0,0 +1,154 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package GUI.cloudsimgui; + +import java.net.URL; +import java.util.Arrays; +import java.util.ResourceBundle; +import javafx.collections.FXCollections; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.chart.BarChart; +import javafx.scene.chart.CategoryAxis; +import javafx.scene.chart.NumberAxis; +import javafx.scene.chart.XYChart; + + +/** + * FXML Controller class + * + * @author Sabir Mohammedi Taieb + */ +public class OslavBarChartController implements Initializable { + + @FXML + private BarChart oslavBarChart; + + @FXML + private CategoryAxis oslavX; + + @FXML + private NumberAxis oslavY; + + /** + * Initializes the controller class. + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + + //OSLAV + oslavX.setCategories(FXCollections.observableArrayList(Arrays.asList("50/50","150/120","200/150","250/200","350/250","400/350","450/350","500/450", + "550/450","600/400","600/420","600/450"))); + + XYChart.Series set1 = new XYChart.Series<>(); + set1.setName("NfIqrGpaMmt"); + set1.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 0))); + set1.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 0))); + set1.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 0))); + set1.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 0))); + set1.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 0))); + set1.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 0))); + set1.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 0))); + set1.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 0))); + set1.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 0))); + set1.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 0))); + set1.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,0))); + set1.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 0))); + + XYChart.Series set2 = new XYChart.Series<>(); + set2.setName("IqrMc"); + set2.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 1))); + set2.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 1))); + set2.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 1))); + set2.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 1))); + set2.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 1))); + set2.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 1))); + set2.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 1))); + set2.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 1))); + set2.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 1))); + set2.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 1))); + set2.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,1))); + set2.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 1))); + + XYChart.Series set3 = new XYChart.Series<>(); + set3.setName("LrMmt"); + set3.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 2))); + set3.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 2))); + set3.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 2))); + set3.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 2))); + set3.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 2))); + set3.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 2))); + set3.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 2))); + set3.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 2))); + set3.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 2))); + set3.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 2))); + set3.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,2))); + set3.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 2))); + + XYChart.Series set4 = new XYChart.Series<>(); + set4.setName("MadMu"); + set4.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 3))); + set4.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 3))); + set4.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 3))); + set4.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 3))); + set4.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 3))); + set4.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 3))); + set4.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 3))); + set4.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 3))); + set4.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 3))); + set4.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 3))); + set4.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,3))); + set4.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 3))); + + XYChart.Series set5 = new XYChart.Series<>(); + set5.setName("ThrRs"); + set5.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 4))); + set5.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 4))); + set5.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 4))); + set5.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 4))); + set5.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 4))); + set5.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 4))); + set5.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 4))); + set5.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 4))); + set5.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 4))); + set5.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 4))); + set5.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,4))); + set5.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11,4))); + + XYChart.Series set6 = new XYChart.Series<>(); + set6.setName("LrrMmt"); + set6.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 5))); + set6.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 5))); + set6.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 5))); + set6.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 5))); + set6.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 5))); + set6.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 5))); + set6.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 5))); + set6.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 5))); + set6.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 5))); + set6.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 5))); + set6.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,5))); + set6.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 5))); + + XYChart.Series set7 = new XYChart.Series<>(); + set7.setName("IqrMmt"); + set7.getData().add(new XYChart.Data("50/50",SimulationConfigController.getOslavMatrix(0, 6))); + set7.getData().add(new XYChart.Data("150/120",SimulationConfigController.getOslavMatrix(1, 6))); + set7.getData().add(new XYChart.Data("200/150",SimulationConfigController.getOslavMatrix(2, 6))); + set7.getData().add(new XYChart.Data("250/200",SimulationConfigController.getOslavMatrix(3, 6))); + set7.getData().add(new XYChart.Data("350/250",SimulationConfigController.getOslavMatrix(4, 6))); + set7.getData().add(new XYChart.Data("400/350",SimulationConfigController.getOslavMatrix(5, 6))); + set7.getData().add(new XYChart.Data("450/350",SimulationConfigController.getOslavMatrix(6, 6))); + set7.getData().add(new XYChart.Data("500/450",SimulationConfigController.getOslavMatrix(7, 6))); + set7.getData().add(new XYChart.Data("550/450",SimulationConfigController.getOslavMatrix(8, 6))); + set7.getData().add(new XYChart.Data("600/400",SimulationConfigController.getOslavMatrix(9, 6))); + set7.getData().add(new XYChart.Data("600/420",SimulationConfigController.getOslavMatrix(10,6))); + set7.getData().add(new XYChart.Data("600/450",SimulationConfigController.getOslavMatrix(11, 6))); + + oslavBarChart.getData().addAll(set1,set2,set3,set4,set5,set6); + } + +} diff --git a/modules/GUI/cloudsimgui/SimulationConfigController.java b/modules/GUI/cloudsimgui/SimulationConfigController.java new file mode 100644 index 000000000..1511d1f2d --- /dev/null +++ b/modules/GUI/cloudsimgui/SimulationConfigController.java @@ -0,0 +1,1032 @@ +package GUI.cloudsimgui; + +import examples.org.cloudbus.cloudsim.examples.power.Helper; +import java.net.URL; +import java.util.ResourceBundle; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; + +import javafx.fxml.Initializable; +import javafx.scene.control.Button; +import javafx.scene.control.ChoiceBox; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; +import examples.org.cloudbus.cloudsim.examples.power.random.*; +import java.io.IOException; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.image.Image; +import javafx.stage.Stage; + +/** + * FXML Controller class + * + * @author Sabir Mohammedi Taieb + */ +public class SimulationConfigController implements Initializable { + + String[] args = {}; + String choices[] = {"NfIqrGpaMmt","IqrMc","LrMmt","MadMu","ThrRs","LrrMmt"}; + String vmPmChoices[] = {"50/50","150/120","200/150","250/200","350/250","400/350","450/350","500/450","550/450","600/400","600/420","600/450"}; + + /*int vmNumber; + int pmNumber; */ + + public static ObservableList lines = FXCollections.observableArrayList(); + + public static double energyMatrix[][] = new double[50][50]; + public static double oslavMatrix[][] = new double[50][50]; + public static double esvMatrix[][] = new double[50][50]; + + /* @FXML + private TextField numVmsField; + + @FXML + private TextField numPmField; + */ + + @FXML + private ChoiceBox VmPmChoiceBox; + + @FXML + private Button startSimulation; + + @FXML + private Button SeeChart; + + @FXML + private ChoiceBox Approach; + + @FXML private TableView simulationTable; + + @FXML private TableColumn name; + + @FXML + private TableColumn Vm; + + @FXML + private TableColumn Pm; + + @FXML + private TableColumn energy; + + @FXML + private TableColumn Time; + + @FXML + private TableColumn oslav; + + @FXML + private TableColumn nbMigr; + + @FXML + private TableColumn Emigr; + + @FXML + private TableColumn Tmigr; + + @FXML + private TableColumn ESVcolumn; + + /** + * Initializes the controller class. + * @param url + */ + @Override + public void initialize(URL url, ResourceBundle rb) { + name.setCellValueFactory(new PropertyValueFactory<>("approachName")); + Vm.setCellValueFactory(new PropertyValueFactory<>("vm")); + Pm.setCellValueFactory(new PropertyValueFactory<>("pm")); + energy.setCellValueFactory(new PropertyValueFactory<>("energy")); + Time.setCellValueFactory(new PropertyValueFactory<>("time")); + oslav.setCellValueFactory(new PropertyValueFactory<>("OSLAV")); + nbMigr.setCellValueFactory(new PropertyValueFactory<>("numberMigration")); + Emigr.setCellValueFactory(new PropertyValueFactory<>("migrationEnergy")); + Tmigr.setCellValueFactory(new PropertyValueFactory<>("migrationTime")); + ESVcolumn.setCellValueFactory(new PropertyValueFactory<>("esv")); + /* numVmsField.setText("50"); + numPmField.setText("50"); */ + Approach.setItems(FXCollections.observableArrayList(choices)); + Approach.setValue("NfIqrGpaMmt"); + VmPmChoiceBox.setItems(FXCollections.observableArrayList(vmPmChoices)); + VmPmChoiceBox.setValue("50/50"); + //simulationTable.setItems(getSLines()); + } + + // get the simulation results in lines + public ObservableList getSLines(){ + + ObservableList lines = FXCollections.observableArrayList(); + lines.add(new SimulationLine("NfIqrGpaMmtDynamic",50,50,45,45.25,10.23,3.23,2000,12.23,16.23)); + lines.add(new SimulationLine("NfIqrGpaMmt",50,50,45.25,45,456.23,3.23,2000,12.23,16.23)); + + return lines; + } + + // Start Simulation button + public void StartSimulation()throws IOException,NullPointerException{ + ObservableList lines = FXCollections.observableArrayList(); + lines = simulationTable.getItems(); + double esv = 0; + /*vmNumber = Integer.parseInt(numVmsField.getText()); + pmNumber = Integer.parseInt(numPmField.getText()); + RandomConstants.setNUMBER_OF_VMS(vmNumber); + RandomConstants.setNUMBER_OF_HOSTS(pmNumber); */ + + //if(vmNumber == 50 && pmNumber == 50){ + if(VmPmChoiceBox.getValue().equals("50/50")){ + RandomConstants.setNUMBER_OF_VMS(50); + RandomConstants.setNUMBER_OF_HOSTS(50); + if( Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][0]=Helper.getEnergy(); + oslavMatrix[0][0]=Helper.getOslav(); + esvMatrix[0][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][1]=Helper.getEnergy(); + oslavMatrix[0][1]=Helper.getOslav(); + esvMatrix[0][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][2]=Helper.getEnergy(); + oslavMatrix[0][2]=Helper.getOslav(); + esvMatrix[0][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][3]=Helper.getEnergy(); + oslavMatrix[0][3]=Helper.getOslav(); + esvMatrix[0][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][4]=Helper.getEnergy(); + oslavMatrix[0][4]=Helper.getOslav(); + esvMatrix[0][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][5]=Helper.getEnergy(); + oslavMatrix[0][5]=Helper.getOslav(); + esvMatrix[0][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[0][6]=Helper.getEnergy(); + oslavMatrix[0][6]=Helper.getOslav(); + esvMatrix[0][6]=esv; + }else{ + System.out.println("NULL"); + } + + + }else + //if (vmNumber == 150 && pmNumber == 120) { + if(VmPmChoiceBox.getValue().equals("150/120")){ + RandomConstants.setNUMBER_OF_VMS(150); + RandomConstants.setNUMBER_OF_HOSTS(120); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][0]=Helper.getEnergy(); + oslavMatrix[1][0]=Helper.getOslav(); + esvMatrix[1][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][1]=Helper.getEnergy(); + oslavMatrix[1][1]=Helper.getOslav(); + esvMatrix[1][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][2]=Helper.getEnergy(); + oslavMatrix[1][2]=Helper.getOslav(); + esvMatrix[1][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][3]=Helper.getEnergy(); + oslavMatrix[1][3]=Helper.getOslav(); + esvMatrix[1][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][4]=Helper.getEnergy(); + oslavMatrix[1][4]=Helper.getOslav(); + esvMatrix[1][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][5]=Helper.getEnergy(); + oslavMatrix[1][5]=Helper.getOslav(); + esvMatrix[1][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[1][6]=Helper.getEnergy(); + oslavMatrix[1][6]=Helper.getOslav(); + esvMatrix[1][6]=esv; + }else{ + System.out.println("NULL"); + } + + }else + //if (vmNumber == 200 && pmNumber == 150) { + if(VmPmChoiceBox.getValue().equals("200/150")){ + RandomConstants.setNUMBER_OF_VMS(200); + RandomConstants.setNUMBER_OF_HOSTS(150); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][0]=Helper.getEnergy(); + oslavMatrix[2][0]=Helper.getOslav(); + esvMatrix[2][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][1]=Helper.getEnergy(); + oslavMatrix[2][1]=Helper.getOslav(); + esvMatrix[2][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][2]=Helper.getEnergy(); + oslavMatrix[2][2]=Helper.getOslav(); + esvMatrix[2][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][3]=Helper.getEnergy(); + oslavMatrix[2][3]=Helper.getOslav(); + esvMatrix[2][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][4]=Helper.getEnergy(); + oslavMatrix[2][4]=Helper.getOslav(); + esvMatrix[2][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][5]=Helper.getEnergy(); + oslavMatrix[2][5]=Helper.getOslav(); + esvMatrix[2][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[2][6]=Helper.getEnergy(); + oslavMatrix[2][6]=Helper.getOslav(); + esvMatrix[2][6]=esv; + }else{ + System.out.println("NULL"); + } + }else + //if (vmNumber == 250 && pmNumber == 200) { + if(VmPmChoiceBox.getValue().equals("250/200")){ + RandomConstants.setNUMBER_OF_VMS(250); + RandomConstants.setNUMBER_OF_HOSTS(200); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][0]=Helper.getEnergy(); + oslavMatrix[3][0]=Helper.getOslav(); + esvMatrix[3][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][1]=Helper.getEnergy(); + oslavMatrix[3][1]=Helper.getOslav(); + esvMatrix[3][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][2]=Helper.getEnergy(); + oslavMatrix[3][2]=Helper.getOslav(); + esvMatrix[3][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][3]=Helper.getEnergy(); + oslavMatrix[3][3]=Helper.getOslav(); + esvMatrix[3][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][4]=Helper.getEnergy(); + oslavMatrix[3][4]=Helper.getOslav(); + esvMatrix[3][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][5]=Helper.getEnergy(); + oslavMatrix[3][5]=Helper.getOslav(); + esvMatrix[3][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[3][6]=Helper.getEnergy(); + oslavMatrix[3][6]=Helper.getOslav(); + esvMatrix[3][6]=esv; + }else{ + System.out.println("NULL"); + } + + }else + //if (vmNumber == 350 && pmNumber == 250) { + if (VmPmChoiceBox.getValue().equals("350/250")) { + RandomConstants.setNUMBER_OF_VMS(350); + RandomConstants.setNUMBER_OF_HOSTS(250); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][0]=Helper.getEnergy(); + oslavMatrix[4][0]=Helper.getOslav(); + esvMatrix[4][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][1]=Helper.getEnergy(); + oslavMatrix[4][1]=Helper.getOslav(); + esvMatrix[4][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][2]=Helper.getEnergy(); + oslavMatrix[4][2]=Helper.getOslav(); + esvMatrix[4][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][3]=Helper.getEnergy(); + oslavMatrix[4][3]=Helper.getOslav(); + esvMatrix[4][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][4]=Helper.getEnergy(); + oslavMatrix[4][4]=Helper.getOslav(); + esvMatrix[4][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][5]=Helper.getEnergy(); + oslavMatrix[4][5]=Helper.getOslav(); + esvMatrix[4][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[4][6]=Helper.getEnergy(); + oslavMatrix[4][6]=Helper.getOslav(); + esvMatrix[4][6]=esv; + }else{ + System.out.println("NULL"); + } + + }else + //if (vmNumber == 400 && pmNumber == 350) { + if (VmPmChoiceBox.getValue().equals("400/350")) { + RandomConstants.setNUMBER_OF_VMS(400); + RandomConstants.setNUMBER_OF_HOSTS(350); + if(Approach.getValue() == ("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][0]=Helper.getEnergy(); + oslavMatrix[5][0]=Helper.getOslav(); + esvMatrix[5][0]=esv; + } + else if(Approach.getValue() == ("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][1]=Helper.getEnergy(); + oslavMatrix[5][1]=Helper.getOslav(); + esvMatrix[5][1]=esv; + } + else if(Approach.getValue() == ("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][2]=Helper.getEnergy(); + oslavMatrix[5][2]=Helper.getOslav(); + esvMatrix[5][2]=esv; + }else if(Approach.getValue() == ("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][3]=Helper.getEnergy(); + oslavMatrix[5][3]=Helper.getOslav(); + esvMatrix[5][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][4]=Helper.getEnergy(); + oslavMatrix[5][4]=Helper.getOslav(); + esvMatrix[5][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][5]=Helper.getEnergy(); + oslavMatrix[5][5]=Helper.getOslav(); + esvMatrix[5][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[5][6]=Helper.getEnergy(); + oslavMatrix[5][6]=Helper.getOslav(); + esvMatrix[5][6]=esv; + }else{ + System.out.println("NULL"); + } + + }else + //if (vmNumber == 450 && pmNumber == 350) { + if(VmPmChoiceBox.getValue().equals("450/350")){ + RandomConstants.setNUMBER_OF_VMS(450); + RandomConstants.setNUMBER_OF_HOSTS(350); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][0]=Helper.getEnergy(); + oslavMatrix[6][0]=Helper.getOslav(); + esvMatrix[6][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][1]=Helper.getEnergy(); + oslavMatrix[6][1]=Helper.getOslav(); + esvMatrix[6][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][2]=Helper.getEnergy(); + oslavMatrix[6][2]=Helper.getOslav(); + esvMatrix[6][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][3]=Helper.getEnergy(); + oslavMatrix[6][3]=Helper.getOslav(); + esvMatrix[6][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][4]=Helper.getEnergy(); + oslavMatrix[6][4]=Helper.getOslav(); + esvMatrix[6][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][5]=Helper.getEnergy(); + oslavMatrix[6][5]=Helper.getOslav(); + esvMatrix[6][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[6][6]=Helper.getEnergy(); + oslavMatrix[6][6]=Helper.getOslav(); + esvMatrix[6][6]=esv; + }else{ + System.out.println("NULL"); + } + + }else if(VmPmChoiceBox.getValue().equals("500/450")){ + RandomConstants.setNUMBER_OF_VMS(500); + RandomConstants.setNUMBER_OF_HOSTS(450); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][0]=Helper.getEnergy(); + oslavMatrix[7][0]=Helper.getOslav(); + esvMatrix[7][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][1]=Helper.getEnergy(); + oslavMatrix[7][1]=Helper.getOslav(); + esvMatrix[7][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][2]=Helper.getEnergy(); + oslavMatrix[7][2]=Helper.getOslav(); + esvMatrix[7][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][3]=Helper.getEnergy(); + oslavMatrix[7][3]=Helper.getOslav(); + esvMatrix[7][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][4]=Helper.getEnergy(); + oslavMatrix[7][4]=Helper.getOslav(); + esvMatrix[7][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][5]=Helper.getEnergy(); + oslavMatrix[7][5]=Helper.getOslav(); + esvMatrix[7][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[7][6]=Helper.getEnergy(); + oslavMatrix[7][6]=Helper.getOslav(); + esvMatrix[7][6]=esv; + }else{ + System.out.println("NULL"); + } + + lines = simulationTable.getItems(); + + }else if(VmPmChoiceBox.getValue().equals("550/450")){ + RandomConstants.setNUMBER_OF_VMS(550); + RandomConstants.setNUMBER_OF_HOSTS(450); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][0]=Helper.getEnergy(); + oslavMatrix[8][0]=Helper.getOslav(); + esvMatrix[8][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][1]=Helper.getEnergy(); + oslavMatrix[8][1]=Helper.getOslav(); + esvMatrix[8][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][2]=Helper.getEnergy(); + oslavMatrix[8][2]=Helper.getOslav(); + esvMatrix[8][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][3]=Helper.getEnergy(); + oslavMatrix[8][3]=Helper.getOslav(); + esvMatrix[8][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][4]=Helper.getEnergy(); + oslavMatrix[8][4]=Helper.getOslav(); + esvMatrix[8][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][5]=Helper.getEnergy(); + oslavMatrix[8][5]=Helper.getOslav(); + esvMatrix[8][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[8][6]=Helper.getEnergy(); + oslavMatrix[8][6]=Helper.getOslav(); + esvMatrix[8][6]=esv; + }else{ + System.out.println("NULL"); + }lines = simulationTable.getItems(); + + }else if(VmPmChoiceBox.getValue().equals("600/400")){ + RandomConstants.setNUMBER_OF_VMS(600); + RandomConstants.setNUMBER_OF_HOSTS(400); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][0]=Helper.getEnergy(); + oslavMatrix[9][0]=Helper.getOslav(); + esvMatrix[9][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][1]=Helper.getEnergy(); + oslavMatrix[9][1]=Helper.getOslav(); + esvMatrix[9][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][2]=Helper.getEnergy(); + oslavMatrix[9][2]=Helper.getOslav(); + esvMatrix[9][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][3]=Helper.getEnergy(); + oslavMatrix[9][3]=Helper.getOslav(); + esvMatrix[9][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][4]=Helper.getEnergy(); + oslavMatrix[9][4]=Helper.getOslav(); + esvMatrix[9][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][5]=Helper.getEnergy(); + oslavMatrix[9][5]=Helper.getOslav(); + esvMatrix[9][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[9][6]=Helper.getEnergy(); + oslavMatrix[9][6]=Helper.getOslav(); + esvMatrix[9][6]=esv; + }else{ + System.out.println("NULL"); + } + + lines = simulationTable.getItems(); + }else if(VmPmChoiceBox.getValue().equals("600/420")){ + RandomConstants.setNUMBER_OF_VMS(600); + RandomConstants.setNUMBER_OF_HOSTS(420); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][0]=Helper.getEnergy(); + oslavMatrix[10][0]=Helper.getOslav(); + esvMatrix[10][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][1]=Helper.getEnergy(); + oslavMatrix[10][1]=Helper.getOslav(); + esvMatrix[10][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][2]=Helper.getEnergy(); + oslavMatrix[10][2]=Helper.getOslav(); + esvMatrix[10][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][3]=Helper.getEnergy(); + oslavMatrix[10][3]=Helper.getOslav(); + esvMatrix[10][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][4]=Helper.getEnergy(); + oslavMatrix[10][4]=Helper.getOslav(); + esvMatrix[10][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][5]=Helper.getEnergy(); + oslavMatrix[10][5]=Helper.getOslav(); + esvMatrix[10][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[10][6]=Helper.getEnergy(); + oslavMatrix[10][6]=Helper.getOslav(); + esvMatrix[10][6]=esv; + }else{ + System.out.println("NULL"); + } + lines = simulationTable.getItems(); + + + }else if(VmPmChoiceBox.getValue().equals("600/450")){ + RandomConstants.setNUMBER_OF_VMS(600); + RandomConstants.setNUMBER_OF_HOSTS(450); + if(Approach.getValue().equals("NfIqrGpaMmt")){ + System.out.println("NfIqrGpaMmt"); + NfIqrGpaMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine("NfIqrGpaMmt",Helper.getNbVm(),Helper.getNbPm(), + Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv, Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][0]=Helper.getEnergy(); + oslavMatrix[11][0]=Helper.getOslav(); + esvMatrix[11][0]=esv; + } + else if(Approach.getValue().equals("IqrMc")){ + System.out.println("IqrMc"); + IqrMc.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMc",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][1]=Helper.getEnergy(); + oslavMatrix[11][1]=Helper.getOslav(); + esvMatrix[11][1]=esv; + } + else if(Approach.getValue().equals("LrMmt")){ + System.out.println("LrMmt"); + LrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(), Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][2]=Helper.getEnergy(); + oslavMatrix[11][2]=Helper.getOslav(); + esvMatrix[11][2]=esv; + }else if(Approach.getValue().equals("MadMu")){ + MadMu.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("MadMu",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][3]=Helper.getEnergy(); + oslavMatrix[11][3]=Helper.getOslav(); + esvMatrix[11][3]=esv; + }else if(Approach.getValue().equals("ThrRs")){ + ThrRs.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("ThrRs",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][4]=Helper.getEnergy(); + oslavMatrix[11][4]=Helper.getOslav(); + esvMatrix[11][4]=esv; + }else if(Approach.getValue().equals("LrrMmt")){ + LrrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("LrrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][5]=Helper.getEnergy(); + oslavMatrix[11][5]=Helper.getOslav(); + esvMatrix[11][5]=esv; + } else if(Approach.getValue().equals("IqrMmt")){ + IqrMmt.main(args); + esv = Helper.getEnergy()* (Helper.getSlav()); + simulationTable.getItems().add(new SimulationLine + ("IqrMmt",Helper.getNbVm(),Helper.getNbPm(),Helper.getEnergy(),Helper.getTime(),Helper.getOslav(),esv,Helper.getNbMigr(),Helper.getEmigr(),Helper.getTmigr())); + energyMatrix[11][6]=Helper.getEnergy(); + oslavMatrix[11][6]=Helper.getOslav(); + esvMatrix[11][6]=esv; + }else{ + System.out.println("NULL"); + } + + lines = simulationTable.getItems(); + } + } + + @FXML + public void goToChart()throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/ViewChart.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + window.setScene(scene); + window.setTitle("Charts"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + @FXML + public void goToOslavBarChart()throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/OslavBarChart.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + window.setScene(scene); + window.setTitle("OSLAV Bar Chart"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + @FXML + public void gotoEsvChart() throws IOException{ + Parent root = FXMLLoader.load(getClass().getResource("/GUI/fxml/EsvBarChart.fxml")); + Stage window = new Stage(); + Scene scene = new Scene(root); + window.setScene(scene); + window.setTitle("ESV Bar Chart"); + window.getIcons().add(new Image("/GUI/icons/MainIcon.png")); + window.setResizable(false); + window.show(); + } + + public static ObservableList getLines() { + return lines; + } + + public static void setLines(ObservableList lines) { + SimulationConfigController.lines = lines; + } + + public static double getEnergyMatrix(int i,int j){ + return energyMatrix[i][j]; + } + + public static double getOslavMatrix(int i,int j){ + return oslavMatrix[i][j]; + } + + public static double getEsvMatrix(int i,int j){ + return esvMatrix[i][j]; + } +} diff --git a/modules/GUI/cloudsimgui/SimulationLine.java b/modules/GUI/cloudsimgui/SimulationLine.java new file mode 100644 index 000000000..9a3ed10ad --- /dev/null +++ b/modules/GUI/cloudsimgui/SimulationLine.java @@ -0,0 +1,119 @@ +package GUI.cloudsimgui; + +import examples.org.cloudbus.cloudsim.examples.power.random.*; +import examples.org.cloudbus.cloudsim.examples.power.Helper; + +/** + * + * @author sabir + */ + +public class SimulationLine { + + private String approachName; + private int vm; + private int pm; + private double energy; + private double time; + private double OSLAV; + private int numberMigration; + private double migrationEnergy; + private double migrationTime; + private double esv; + + + + public SimulationLine(String n,int vm,int pm,double E,double time,double oslav,double esv,int nMigr,double Em,double Tm){ + approachName = n; + this.vm = vm; + this.pm = pm; + energy = E; + this.time = time; + OSLAV = oslav; + numberMigration = nMigr; + migrationEnergy = Em; + migrationTime = Tm; + this.esv = esv; + } + + public int getPm() { + return pm; + } + + public void setPm(int pm) { + this.pm = pm; + } + + public double getTime() { + return time; + } + + public void setTime(double time) { + this.time = time; + } + + + public String getApproachName() { + return approachName; + } + + public int getVm() { + return vm; + } + + public double getEnergy() { + return energy; + } + + public double getOSLAV() { + return OSLAV; + } + + public int getNumberMigration() { + return numberMigration; + } + + public double getMigrationEnergy() { + return migrationEnergy; + } + + public void setApproachName(String approachName) { + this.approachName = approachName; + } + + public void setVm(int vm) { + this.vm = vm; + } + + public void setEnergy(double energy) { + this.energy = energy; + } + + public void setOSLAV(double OSLAV) { + this.OSLAV = OSLAV; + } + + public void setNumberMigration(int numberMigration) { + this.numberMigration = numberMigration; + } + + public void setMigrationEnergy(double migrationEnergy) { + this.migrationEnergy = migrationEnergy; + } + + public void setMigrationTime(double migrationTime) { + this.migrationTime = migrationTime; + } + + public double getMigrationTime() { + return migrationTime; + } + + public double getEsv() { + return esv; + } + + public void setEsv(double esv) { + this.esv = esv; + } +} \ No newline at end of file diff --git a/modules/GUI/cloudsimgui/ViewChartController.java b/modules/GUI/cloudsimgui/ViewChartController.java new file mode 100644 index 000000000..c1961d86f --- /dev/null +++ b/modules/GUI/cloudsimgui/ViewChartController.java @@ -0,0 +1,153 @@ +package GUI.cloudsimgui; + +import java.net.URL; +import java.util.Arrays; +import java.util.ResourceBundle; +import javafx.collections.FXCollections; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.chart.BarChart; +import javafx.scene.chart.CategoryAxis; +import javafx.scene.chart.NumberAxis; +import javafx.scene.chart.XYChart; +import javafx.collections.ObservableList; + +/** + * FXML Controller class + * + * @author Sabir Mohammedi Taieb + */ +public class ViewChartController implements Initializable { + + /** + * Initializes the controller class. + */ + + ObservableList data = SimulationConfigController.getLines(); + + @FXML + private BarChart EnergyChart; + + @FXML + private CategoryAxis X; + + @FXML + private NumberAxis Y; + + + @Override + public void initialize(URL url, ResourceBundle rb) { + X.setCategories(FXCollections.observableArrayList(Arrays.asList("50/50","150/120","200/150","250/200","350/250","400/350","450/350","500/450", + "550/450","600/400","600/420","600/450"))); + + XYChart.Series set1 = new XYChart.Series<>(); + set1.setName("NfIqrGpaMmt"); + set1.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 0))); + set1.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 0))); + set1.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 0))); + set1.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 0))); + set1.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 0))); + set1.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 0))); + set1.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 0))); + set1.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 0))); + set1.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 0))); + set1.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 0))); + set1.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,0))); + set1.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 0))); + + XYChart.Series set2 = new XYChart.Series<>(); + set2.setName("IqrMc"); + set2.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 1))); + set2.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 1))); + set2.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 1))); + set2.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 1))); + set2.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 1))); + set2.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 1))); + set2.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 1))); + set2.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 1))); + set2.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 1))); + set2.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 1))); + set2.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,1))); + set2.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 1))); + + XYChart.Series set3 = new XYChart.Series<>(); + set3.setName("LrMmt"); + set3.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 2))); + set3.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 2))); + set3.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 2))); + set3.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 2))); + set3.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 2))); + set3.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 2))); + set3.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 2))); + set3.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 2))); + set3.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 2))); + set3.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 2))); + set3.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,2))); + set3.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 2))); + + XYChart.Series set4 = new XYChart.Series<>(); + set4.setName("MadMu"); + set4.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 3))); + set4.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 3))); + set4.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 3))); + set4.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 3))); + set4.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 3))); + set4.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 3))); + set4.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 3))); + set4.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 3))); + set4.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 3))); + set4.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 3))); + set4.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,3))); + set4.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 3))); + + XYChart.Series set5 = new XYChart.Series<>(); + set5.setName("ThrRs"); + set5.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 4))); + set5.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 4))); + set5.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 4))); + set5.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 4))); + set5.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 4))); + set5.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 4))); + set5.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 4))); + set5.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 4))); + set5.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 4))); + set5.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 4))); + set5.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,4))); + set5.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11,4))); + + XYChart.Series set6 = new XYChart.Series<>(); + set6.setName("LrrMmt"); + set6.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 5))); + set6.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 5))); + set6.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 5))); + set6.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 5))); + set6.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 5))); + set6.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 5))); + set6.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 5))); + set6.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 5))); + set6.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 5))); + set6.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 5))); + set6.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,5))); + set6.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 5))); + + XYChart.Series set7 = new XYChart.Series<>(); + set7.setName("IqrMmt"); + set7.getData().add(new XYChart.Data("50/50",SimulationConfigController.getEnergyMatrix(0, 6))); + set7.getData().add(new XYChart.Data("150/120",SimulationConfigController.getEnergyMatrix(1, 6))); + set7.getData().add(new XYChart.Data("200/150",SimulationConfigController.getEnergyMatrix(2, 6))); + set7.getData().add(new XYChart.Data("250/200",SimulationConfigController.getEnergyMatrix(3, 6))); + set7.getData().add(new XYChart.Data("350/250",SimulationConfigController.getEnergyMatrix(4, 6))); + set7.getData().add(new XYChart.Data("400/350",SimulationConfigController.getEnergyMatrix(5, 6))); + set7.getData().add(new XYChart.Data("450/350",SimulationConfigController.getEnergyMatrix(6, 6))); + set7.getData().add(new XYChart.Data("500/450",SimulationConfigController.getEnergyMatrix(7, 6))); + set7.getData().add(new XYChart.Data("550/450",SimulationConfigController.getEnergyMatrix(8, 6))); + set7.getData().add(new XYChart.Data("600/400",SimulationConfigController.getEnergyMatrix(9, 6))); + set7.getData().add(new XYChart.Data("600/420",SimulationConfigController.getEnergyMatrix(10,6))); + set7.getData().add(new XYChart.Data("600/450",SimulationConfigController.getEnergyMatrix(11, 6))); + + EnergyChart.getData().addAll(set1,set2,set3,set4,set5,set6,set7); + + + } + +} diff --git a/modules/GUI/cloudsimgui/server-room-interior-in-datacenter.jpg b/modules/GUI/cloudsimgui/server-room-interior-in-datacenter.jpg new file mode 100644 index 000000000..14b29863c Binary files /dev/null and b/modules/GUI/cloudsimgui/server-room-interior-in-datacenter.jpg differ diff --git a/modules/GUI/fxml/AboutUs.fxml b/modules/GUI/fxml/AboutUs.fxml new file mode 100644 index 000000000..c138f5a25 --- /dev/null +++ b/modules/GUI/fxml/AboutUs.fxml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + diff --git a/modules/GUI/fxml/Approach.fxml b/modules/GUI/fxml/Approach.fxml new file mode 100644 index 000000000..386ac1e06 --- /dev/null +++ b/modules/GUI/fxml/Approach.fxml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + diff --git a/modules/GUI/fxml/EsvBarChart.fxml b/modules/GUI/fxml/EsvBarChart.fxml new file mode 100644 index 000000000..444c1cb50 --- /dev/null +++ b/modules/GUI/fxml/EsvBarChart.fxml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/modules/GUI/fxml/FXMLDocument.fxml b/modules/GUI/fxml/FXMLDocument.fxml new file mode 100644 index 000000000..7a7c2822b --- /dev/null +++ b/modules/GUI/fxml/FXMLDocument.fxml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/GUI/fxml/OslavBarChart.fxml b/modules/GUI/fxml/OslavBarChart.fxml new file mode 100644 index 000000000..1a352b5a7 --- /dev/null +++ b/modules/GUI/fxml/OslavBarChart.fxml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/modules/GUI/fxml/SimulationConfig.fxml b/modules/GUI/fxml/SimulationConfig.fxml new file mode 100644 index 000000000..91b01c17d --- /dev/null +++ b/modules/GUI/fxml/SimulationConfig.fxml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + +