Init ESDS repository

This commit is contained in:
Loic Guegan 2022-06-09 21:48:32 +02:00
commit c2e6aad09f
106 changed files with 2638 additions and 0 deletions

41
example/simulator.py Executable file
View file

@ -0,0 +1,41 @@
#!/usr/bin/env python
# Load ESDS
import sys
sys.path.append("../")
import esds
# Use numpy to construct bandwidth and latencies matrix
import numpy as np
##### Scenario
# The simulated scenario comprises 1 that wakes up randomly
# for a duration called "uptime" every hour. The sender try to transmit
# his data during that uptime. Other nodes are receivers that have similar
# random wake up parterns and strive to receive data from the sender.
##### Bandwidth matrix
# Bandwidth value can be 0 for unreachable nodes
# Diagonal entries impact the transmission duration for wireless transmissions (wlan0)
n=2 # Number of nodes including the sender
B=np.full((n,n),5) # 5Mbps
##### Latency matrix
# If the latency entries match one with a bandwidth of 0
# then it will be ignore since node is unreachable.
L=np.full((n,n),0) # 0s
##### Create the simulator
s=esds.Simulator(B,L)
##### Instantiate nodes
uptime=180 # 180s uptime
s.create_node("sender",args=uptime) # Load sender.py for the first node with 5 as argument (first row in B and L)
# Aguments can be passed to nodes via: s.create_node("sender",args="my argument")
for n in range(0,n-1): # Load receiver.py for the remaining nodes
s.create_node("receiver",args=uptime)
##### Run the simulation
#s.run(debug=True) # Generate a "esds.debug" file
s.run()