/* * Title: EdgeCloudSim - Main Application * * Description: Main application for Sample App3 * * Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Copyright (c) 2017, Bogazici University, Istanbul, Turkey */ package edu.boun.edgecloudsim.applications.sample_app3; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.cloudbus.cloudsim.Log; import org.cloudbus.cloudsim.core.CloudSim; import edu.boun.edgecloudsim.core.ScenarioFactory; import edu.boun.edgecloudsim.core.SimManager; import edu.boun.edgecloudsim.core.SimSettings; import edu.boun.edgecloudsim.utils.SimLogger; import edu.boun.edgecloudsim.utils.SimUtils; public class MainApp { /** * Creates main() to run this example */ public static void main(String[] args) { //disable console output of cloudsim library Log.disable(); //enable console ourput and file output of this application SimLogger.enablePrintLog(); int iterationNumber = 1; String configFile = ""; String outputFolder = ""; String edgeDevicesFile = ""; String applicationsFile = ""; if (args.length == 5){ configFile = args[0]; edgeDevicesFile = args[1]; applicationsFile = args[2]; outputFolder = args[3]; iterationNumber = Integer.parseInt(args[4]); } else{ SimLogger.printLine("Simulation setting file, output folder and iteration number are not provided! Using default ones..."); configFile = "scripts/sample_app3/config/default_config.properties"; applicationsFile = "scripts/sample_app3/config/applications.xml"; edgeDevicesFile = "scripts/sample_app3/config/edge_devices.xml"; outputFolder = "sim_results/ite" + iterationNumber; } //load settings from configuration file SimSettings SS = SimSettings.getInstance(); if(SS.initialize(configFile, edgeDevicesFile, applicationsFile) == false){ SimLogger.printLine("cannot initialize simulation settings!"); System.exit(0); } if(SS.getFileLoggingEnabled()){ SimLogger.enableFileLog(); SimUtils.cleanOutputFolder(outputFolder); } DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date SimulationStartDate = Calendar.getInstance().getTime(); String now = df.format(SimulationStartDate); SimLogger.printLine("Simulation started at " + now); SimLogger.printLine("----------------------------------------------------------------------"); for(int j=SS.getMinNumOfMobileDev(); j<=SS.getMaxNumOfMobileDev(); j+=SS.getMobileDevCounterSize()) { for(int k=0; k