Skip to content

An implementation of the local voting algorithm on a TSCH network

Notifications You must be signed in to change notification settings

yanpads/local_voting_tsch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Voting TSCH

Implementation of the Local Voting algorithm in the 6TiSCH Simulator, and some simulation results. Comparison of Local Voting with OTF, thresholds 0,1,4,10, 1,2, and 3 parents, and 10 and 100 buffer size.

You can find eps and png figures of the results in folder bin/simData/

Some indicative results:

Aggregated Values vs parameters

time_all_root

time_all_root

max_latency

max_latency

latency

latency

chargeConsumedPerRecv

chargeConsumedPerRecv

chargeConsumed

chargeConsumed

reliability

reliability

max_txQueueFill

max_txQueueFill

txQueueFill

txQueueFill

Some indicative scenarios

Scenario parents: 1, packets: 25

appGenerated_cum

appGenerated_cum

appReachesDagroot_cum

appReachesDagroot_cum

appReachesDagroot

appReachesDagroot

chargeConsumed

chargeConsumed

latency

latency

numRxCells

numRxCells

txQueueFill

txQueueFill

Scenario parents: 2, packets: 25

appGenerated_cum

appGenerated_cum

appReachesDagroot_cum

appReachesDagroot_cum

appReachesDagroot

appReachesDagroot

chargeConsumed

chargeConsumed

latency

latency

numRxCells

numRxCells

txQueueFill

txQueueFill

Scenario parents: 3, packets: 25

appGenerated_cum

appGenerated_cum

appReachesDagroot_cum

appReachesDagroot_cum

appReachesDagroot

appReachesDagroot

chargeConsumed

chargeConsumed

latency

latency

numRxCells

numRxCells

txQueueFill

txQueueFill

Scenario parents: 3, packets: 5

appGenerated_cum

appGenerated_cum

appReachesDagroot_cum

appReachesDagroot_cum

appReachesDagroot

appReachesDagroot

chargeConsumed

chargeConsumed

latency

latency

numRxCells

numRxCells

txQueueFill

txQueueFill

The Remainder of this document is orginal README from the parent repository, https://bitbucket.org/6tisch/simulator/src

The 6TiSCH Simulator

Brought to you by:

Scope

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:

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/

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.

Running

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

Code Organization

  • bin/: the script 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

Issues and bugs

About

An implementation of the local voting algorithm on a TSCH network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.2%
  • Shell 0.8%