Skip to content

Latest commit

 

History

History
116 lines (90 loc) · 5.42 KB

README.md

File metadata and controls

116 lines (90 loc) · 5.42 KB

New ReSF implementation

This simulator contains the updated ReSF (Recurrent Low-Latency Scheduling Function) implementation as described in:

Daneels, Glenn, Steven Latré, and Jeroen Famaey. "Efficient Recurrent Low-Latency Scheduling in IEEE 802.15. 4e TSCH Networks." 2019 IEEE International Black Sea Conference on Communications and Networking (BlackSeaCom). IEEE, 2019.

Paper can be found link.

The 6TiSCH Simulator

Core Developers:

Contributers:

Scope

6TiSCH is an active IETF standardization working group that 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:

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/

Gallery

Installation

  • 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.

Getting Started

  1. Download the code:

    $ git clone https://bitbucket.org/6tisch/simulator.git
    
  2. Install the Python dependencies: cd simulator and pip install -r requirements.txt

  3. Move down to bin directory:

    $ cd bin
    
  4. Execute runSim.py:

    $ python runSim.py
    
    • You'll have raw output data under bin/simData directory.
    • You can specify configuration parameters such as slot length and application packet interval if you want. $ python runSim.py --help shows available options.
  5. Execute plot.py to see the results:

    $ python plot.py
    
    • You’ll have charts derived from the data under bin/simPlots directory.
    • You need to define your simulation scenarios and identify necessary parameter sets in order to have meaningful results or charts.

Code Organization

  • bin/: the scripts for you to run
  • SimEngine/: the simulator
    • Mote.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

Development Workflow and Coding Style