Avrora
AvroraZ
AZEM
AZEM : Class Diagram
Allowing multiple energy levels attribution to nodes:To modify the battery value, we have made many modifications illustrated in Figure 1. The modified classes are Simulation, Node, WiredSimulation, SensorSimulation, SensorNode and WiredNode. Our modification consists in:
- Adding an Option.List variable called BATTERY in the Simulation class.
- Adding a double variable called energy in the Node class that will be initiated in the constructor.
- Adding a getter and a setter for the energy variable in the Node class.
- Adding the energy variable in the instantiation of class Node in Simulation, WiredSimulation, and SensorSimulation classes.
- Adding the energy variable in the constructor of SensorNode and WiredNode classes.
- Adding the NodeNumber() method in classes WiredSimulation, SensorSimulation that allows us to calculate NODECOUNT.
These modifications are in coherence with the extension made to enable the Energy monitoring.
So, we modified EnergyMonitor, Monitor and BatteryCheck classes as illustrated in Figure 2:
- Removing variable called BATTERY from the EnergyMonitor class because it becomes in the Simulation class.
- Modifying the constructors of Monitor and BatteryCheck classes to match with the made modifications.
Fig. 1: Class Diagram for Energy Modification
Fig. 2: Class Diagram for Energy Monitoring
To modify nodes position at runtime, we carried out the modifications presented on Figure 3. The modified classes are NodeMovement, SensorSimulation and Topology. Our modification consists in:
- Adding the method changePosition(int id, double new_x, double new_y, double new_z) in the SensorSimulation class that creates an event allowing injecting new nodes in the simulation.
- Adding the NodeMovement class in the SensorSimulation class. This class consists in an event that can be injected on the event queue and triggered when there is a timed event in the simulator.
- Adding the method setPosition() in the Topology class that allows the node position modification at runtime.
Fig. 3: Class Diagram for Mobility