79 lines
2.5 KiB
Java
79 lines
2.5 KiB
Java
/*
|
|
* Title: EdgeCloudSim - Scenario Factory
|
|
*
|
|
* Description: VehicularScenarioFactory provides the default
|
|
* instances of required abstract classes
|
|
*
|
|
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
|
|
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey
|
|
*/
|
|
|
|
package edu.boun.edgecloudsim.applications.sample_app5;
|
|
|
|
import edu.boun.edgecloudsim.cloud_server.CloudServerManager;
|
|
import edu.boun.edgecloudsim.cloud_server.DefaultCloudServerManager;
|
|
import edu.boun.edgecloudsim.core.ScenarioFactory;
|
|
import edu.boun.edgecloudsim.edge_orchestrator.EdgeOrchestrator;
|
|
import edu.boun.edgecloudsim.edge_server.EdgeServerManager;
|
|
import edu.boun.edgecloudsim.edge_client.MobileDeviceManager;
|
|
import edu.boun.edgecloudsim.edge_client.mobile_processing_unit.MobileServerManager;
|
|
import edu.boun.edgecloudsim.mobility.MobilityModel;
|
|
import edu.boun.edgecloudsim.task_generator.LoadGeneratorModel;
|
|
import edu.boun.edgecloudsim.network.NetworkModel;
|
|
|
|
public class VehicularScenarioFactory implements ScenarioFactory {
|
|
private int numOfMobileDevice;
|
|
private double simulationTime;
|
|
private String orchestratorPolicy;
|
|
private String simScenario;
|
|
|
|
VehicularScenarioFactory(int _numOfMobileDevice,
|
|
double _simulationTime,
|
|
String _orchestratorPolicy,
|
|
String _simScenario){
|
|
orchestratorPolicy = _orchestratorPolicy;
|
|
numOfMobileDevice = _numOfMobileDevice;
|
|
simulationTime = _simulationTime;
|
|
simScenario = _simScenario;
|
|
}
|
|
|
|
@Override
|
|
public LoadGeneratorModel getLoadGeneratorModel() {
|
|
return new VehicularLoadGenerator(numOfMobileDevice, simulationTime, simScenario);
|
|
}
|
|
|
|
@Override
|
|
public EdgeOrchestrator getEdgeOrchestrator() {
|
|
return new VehicularEdgeOrchestrator(numOfMobileDevice, orchestratorPolicy, simScenario);
|
|
}
|
|
|
|
@Override
|
|
public MobilityModel getMobilityModel() {
|
|
return new VehicularMobilityModel(numOfMobileDevice,simulationTime);
|
|
}
|
|
|
|
@Override
|
|
public NetworkModel getNetworkModel() {
|
|
return new VehicularNetworkModel(numOfMobileDevice, simScenario, orchestratorPolicy);
|
|
}
|
|
|
|
@Override
|
|
public EdgeServerManager getEdgeServerManager() {
|
|
return new VehicularEdgeServerManager();
|
|
}
|
|
@Override
|
|
public CloudServerManager getCloudServerManager() {
|
|
return new DefaultCloudServerManager();
|
|
}
|
|
|
|
@Override
|
|
public MobileDeviceManager getMobileDeviceManager() throws Exception {
|
|
return new VehicularMobileDeviceManager();
|
|
}
|
|
|
|
@Override
|
|
public MobileServerManager getMobileServerManager() {
|
|
return new VehicularMobileServerManager(numOfMobileDevice);
|
|
}
|
|
}
|