TOSSIM v01.a - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

TOSSIM v01.a

Description:

Simulates large mote networks under Linux. Uses existing TinyOS code (different compilation) ... Every mote has a hearing value ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 19
Provided by: websCsB
Category:
Tags: tossim | mote | v01

less

Transcript and Presenter's Notes

Title: TOSSIM v01.a


1
TOSSIM v01.a
2
TOSSIM Capabilities
  • Simulates large mote networks under Linux
  • Uses existing TinyOS code (different compilation)
  • Extensible network model
  • Logs network activity

3
Compiling TOSSIM
  • Similar makefile to FULLPC
  • Uses a few different component implementations
  • MAIN.c
  • RFM.c
  • POT.c
  • etc.
  • system/tossim
  • make f MakefileTOS

4
Running TOSSIM
  • A few command line parameters
  • main OPTIONS num_nodes
  • Network model simple is default
  • -r ltstaticsimplespacegt
  • Pause on system clock interrupts
  • -p usec

5
Debugging Output
  • dbg() commands in TinyOS source
  • Many dbg flags DBG_SIM, DBG_RADIO, DBG_CLOCK,
    etc.
  • system/include/dbg_modes.h
  • gt setenv DBGroute,boot,usr2

6
External Communication
  • Tries to open sockets to listening servers at
    boot
  • Network packets
  • Network bits
  • Packet injection
  • Opens a server socket for dynamic network packet
    injection

7
Network Traffic GUI
  • tools/TossimGUI.class
  • Reads in and displays network traffic
  • Allows packet source filtering
  • Static packet injection (at startup)

8
(No Transcript)
9
Static Packet Injection
  • java TossimGUI filename
  • File contains packets to be received by nodes
  • lttimegt ltmoteIDgt ltdata0gt ltdata1gt ltdata37gt
  • tools/radio.txt

324122 2 ff ff 08 13 de ad be ef 00 00 00 00
10
Simulation Time
  • Time represented in ticks
  • 4 x 106 ticks/second
  • e.g. 400 ticks between 10Kb radio interrupts
  • Chosen as minimum value that allows accurate
    radio and system clock modeling

11
Dynamic Packet Injection
  • Connect to port 10579 on host
  • Message format detailed in documentation
  • system/tossim/doc/tossim.tex
  • Will be building dynamic injection tool

12
RFM Models
  • Simple every mote in one cell
  • Static connectivity determined at startup
  • Space silly space-based model which uses
    potentiometer settings proof of extensibility

13
TOSSIM Internals
  • Based on tos4.2 TOSSIM (Culler)
  • Discrete event simulation
  • Models clock interrupts
  • Every event associated with specific mote
  • Array of mote structures
  • define VAR(x) \ TOS_My_Frametos_state.current_no
    de.x

14
MAIN.c Event Loop
while(!queue_is_empty((tos_state.queue))) //
Currently a race condition (dynamic injection)
tos_state.tos_time queue_peek_event_time((
tos_state.queue)) queue_handle_next_event((to
s_state.queue)) TOS_schedule_task()
15
RFM Simulation
typedef struct void(init)() void(transmit)(
int, char) void(stop_transmit)(int) char(hea
rs) void data rfm_model
16
Example Simple Model
  • Every mote has a hearing value
  • Every time a mote transmits, it increments
    hearing value for all other motes
  • Every time a mote stops transmitting, it
    decrements hearing value for all other motes
  • If hearing value greater than 1 when a mote
    listens, that mote heard a bit
  • Static model uses a connectivity graph

17
Scalability
  • Tested with 1000 motes communicating over radio
  • 10 simulated seconds for 1000 motes takes 1.5-3
    minutes (depends on level of optimization,
    debugging symbols, etc.)

18
Conclusion
  • Demonstration
  • Questions
Write a Comment
User Comments (0)
About PowerShow.com