This simulator contains the ReSF (Recurrent Low-Latency Scheduling Function) implementation as described in:
Daneels, G., Spinnewyn, B., Latré, S., & Famaey, J. (2018). ReSF: Recurrent Low-Latency Scheduling in IEEE 802.15. 4e TSCH networks. Ad Hoc Networks, 69, 100-114.
Paper can be found here.
Brought to you by:
- Thomas Watteyne ([email protected])
- Kazushi Muraoka ([email protected])
- Nicola Accettura ([email protected])
- Xavier Vilajosana ([email protected])
6TiSCH is an active IETF standardization working group which defines mechanisms to build and maintain communication schedules in tomorrow's Internet of (Important) Things. This simulator allows you to measure the performance of those different mechanisms under different conditions.
What is simulated:
- protocols
- IEEE802.15.4e-2012 TSCH (http://standards.ieee.org/getieee802/download/802.15.4e-2012.pdf)
- RPL (http://tools.ietf.org/html/rfc6550)
- 6top (http://tools.ietf.org/html/draft-wang-6tisch-6top-sublayer)
- On-The-Fly scheduling (http://tools.ietf.org/html/draft-dujovne-6tisch-on-the-fly)
- the "Pister-hack" propagation model with collisions
- the energy consumption model taken from
- A Realistic Energy Consumption Model for TSCH Networks. Xavier Vilajosana, Qin Wang, Fabien Chraim, Thomas Watteyne, Tengfei Chang, Kris Pister. IEEE Sensors, Vol. 14, No. 2, February 2014.
What is not simulated:
- downstream traffic
More about 6TiSCH:
what | where |
---|---|
charter | http://tools.ietf.org/wg/6tisch/charters |
data tracker | http://tools.ietf.org/wg/6tisch/ |
mailing list | http://www.ietf.org/mail-archive/web/6tisch/current/maillist.html |
source | https://bitbucket.org/6tisch/ |
- Install Python 2.7
- Clone or download this repository
- To plot the graphs, you need Matplotlib and scipy. On Windows, Anaconda (http://continuum.io/downloads) is a good on-stop-shop.
- Run a simulation:
bin/simpleSim/runSim.py
- Plot fancy graphs:
bin/simpleSim/plotStuff.py
Use bin/simpleSim/runSim.py --help
for a list of simulation parameters. In particular, use --gui
for a graphical interface.
bin/
: the script for you to runSimEngine/
: the simulatorMote.py
: Models a 6TiSCH mote running the different standards listed above.Propagation.py
: Wireless propagation model.SimEngine.py
: Event-driven simulation engine at the core of this simulator.SimSettings.py
: Data store for all simulation settings.SimStats.py
: Periodically collects statistics and writes those to a file.Topology.py
: creates a topology of the motes in the network.
SimGui/
: the graphical user interface to the simulator