Reputation: 1
This is my java code in iFogSim:
package org.fog.test.perfeval;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.LinkedList;
import java.util.List;
import org.cloudbus.cloudsim.Host;
import org.cloudbus.cloudsim.Log;
import org.cloudbus.cloudsim.Pe;
import org.cloudbus.cloudsim.Storage;
import org.cloudbus.cloudsim.core.CloudSim;
import org.cloudbus.cloudsim.power.PowerHost;
import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
import org.cloudbus.cloudsim.sdn.overbooking.BwProvisionerOverbooking;
import org.cloudbus.cloudsim.sdn.overbooking.PeProvisionerOverbooking;
import org.fog.application.AppEdge;
import org.fog.application.AppLoop;
import org.fog.application.Application;
import org.fog.application.selectivity.FractionalSelectivity;
import org.fog.entities.Actuator;
import org.fog.entities.FogBroker;
import org.fog.entities.FogDevice;
import org.fog.entities.FogDeviceCharacteristics;
import org.fog.entities.Sensor;
import org.fog.entities.Tuple;
import org.fog.placement.Controller;
import org.fog.placement.ModuleMapping;
import org.fog.placement.ModulePlacementEdgewards;
import org.fog.placement.ModulePlacementMapping;
import org.fog.policy.AppModuleAllocationPolicy;
import org.fog.scheduler.StreamOperatorScheduler;
import org.fog.utils.FogLinearPowerModel;
import org.fog.utils.FogUtils;
import org.fog.utils.TimeKeeper;
import org.fog.utils.distribution.DeterministicDistribution;
public class dart {
public static void main(String[] args) {
// Initialize CloudSim
CloudSim.init(1, null, false);
// Create the FogDevice for the DART buoy
FogDevice dartBuoy = createDartBuoy();
// Simulate sensor readings
simulateSensorReadings(dartBuoy);
// Start simulation
CloudSim.startSimulation();
CloudSim.stopSimulation();
}
private static FogDevice createDartBuoy() {
// Parameters: id, name, mips, ram, bw, storage, upFogDeviceId
int dartBuoyId = 1; // Unique ID for the DART buoy
String dartBuoyName = "DARTBuoy";
int mips = 1000; // MIPS (Million Instructions Per Second)
int ram = 512; // RAM in MB
int bw = 1000; // Bandwidth in Mbps
int storage = 10000; // Storage in MB
int upFogDeviceId = -1; // -1 indicates no parent device
// Create the DART buoy device
FogDevice dartBuoy = new FogDevice(dartBuoyId, dartBuoyName, mips, ram, bw, storage, upFogDeviceId);
return dartBuoy;
}
private static void simulateSensorReadings(FogDevice dartBuoy) {
for (int i = 0; i < 10; i++) {
double pressure = generateRandomPressure();
double temperature = generateRandomTemperature();
// Log readings
System.out.println("Sensor Readings from " + dartBuoy.getName() + ":");
System.out.println("Pressure: " + pressure + " hPa");
System.out.println("Temperature: " + temperature + " °C");
System.out.println("-----------------------------");
try {
Thread.sleep(1000); // Simulate time delay between readings
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private static double generateRandomPressure() {
// Generate random pressure between 1000 and 1100 hPa
return 1000 + Math.random() * 100;
}
private static double generateRandomTemperature() {
// Generate random temperature between 0 and 30 °C
return Math.random() * 30;
}
}
While trying to create DART buoy component (comment: // Create the DART buoy device), I keep getting the error saying "The constructor FogDevice(int, String, int, int, int, int, int) is undefined" even though the library needed for the constructor is present. How could this be resolved?
I am expecting the output as sensor reading in the following format:
Upvotes: 0
Views: 21