The basic components of ifogSim are:
Initialize CloudSim Package CloudSim.init(num_user, calendar, trace_flag);
Create FogBroker FogBroker broker = new FogBroker("broker");
Create Application
Application application = Application.createApplication(appId, userId);
application.addAppModule("object_detector", 10);
application.addAppEdge("CAMERA", "motion_detector", 1000, 20000, "CAMERA", Tuple.UP, AppEdge.SENSOR);
application.addTupleMapping("motion_detector", "CAMERA", "MOTION_VIDEO_STREAM", new FractionalSelectivity(1.0));
final AppLoop loop1 = new AppLoop(new ArrayList
List
application.setLoops(loops);
return application;
Create FogDevice
createFogDevices(broker.getId(), appId);
Create module mapping
ModuleMapping moduleMapping = ModuleMapping.createModuleMapping();
Create Controller
controller = new Controller("master-controller", fogDevices, sensors, actuators);
Submit Application to Controller
controller.submitApplication(application, (CLOUD)?(new ModulePlacementMapping(fogDevices, application, moduleMapping)) :(new ModulePlacementEdgewards(fogDevices, sensors, actuators, application, moduleMapping)));
Start Simulation
CloudSim.startSimulation();
Stop Simulation
CloudSim.stopSimulation();