A New Debugging and Evaluation Tool for Simulation on TinyOS
Introduction
TOSSIM \cite{tossim} has been widely used for sensor network simulations. It simulates entire TinyOS applications and works by replacing components with simulation implementations. The level at which components are replaced is flexible. The greatest feature of TOSSIM is that same high-level source code can work in both real sensor network test bed and TOSSIM. This feature greatly relieves the development overhead in system research. TOSSIM Live is an extension of TOSSIM (of TinyOS 2.x) to enable virtual tiered networks. It has two main parts: a simulation throttle and a serial forwarder. The simulation throttle allows the simulation clock to emulate the wall clock, whereas the serial forwarder allows serial messages to be sent to and received from the virtual motes. We designed a set of visualized network manipulation and evaluation tools, which is called SimX built upon TOSSIM and TOSSIM Live.

Features
SimX is an add-on tool for simulation experiments, but also extensions for Tossim bunched with Tinyos 2.x. This tool changes traditional development style based on Tossim. SimX support critical features: Simulation Speed Control, Topology Manipulation, Variable Watching, Date Reading Input and Holistic Evaluation.
The features of this research include:
- Simulation Topology Manipulation :
- allows a user to change the simulated network's physical connectivity. A simple mouse drag on the virtual network node will actually change the physical network topology and the link qualities.
- allows user to turn on or off a node.
- suitable for network mobility and disruption simulations.
- Simulation Runtime Control :
- allows a user to control a simulation to run faster or slower.
- enables simulation time to synchronize real
time.
This feature is offer by TOSSIM Live, but we make its usage more
user friendly.
- Simulation Variables Watching :
- allows user to watch variable value changes of all nodes concurrently during simulation running time
- allows user to set a pause condition to set break point.
- Simulation Sensor Data Input :
- allows a user to simulate a sensor's data input
- simulates different sampling rate of different nodes
- Simulation Holistic Evaluation Methdology :
- generate instinctive evalution method for sensor network
Downloads:
Instructions:
SimX v1.0 Installation Instructions
Last updated: September 5th, 2009
This document describes how to install SimX on your system.
Supported system: Linux
Required Software:
Before you install SimX, TinyOS-2.1.0, scala, java and python must be installed on your system. If not, please
sudo apt-get install tinyos-2.1.0
sudo apt-get install java-6-sun
sudo apt-get install scala
sudo apt-get install python
For the source code, if you want to compile them, swig and mig must be installed on your system, If not, please
sudo apt-get install mig
sudo apt-get install swig
Required Environment:
After you download the SimX.zip
unzip SimX.zip
You need to setup environment for simx running,
cd SimX
(if you could access simx on svn: https://sensorweb.vancouver.wsu.edu/svn/tinyos-svn/sensorweb/tools/simx
remember go into simx/trunk at first
cd trunk)
source simx.sh
Compile and make it run:
cd react
make
cd ../test/Octopus/motes
make -f Makefile.simx micaz sim-sf
. run.sh
or
python simbuild/simact.py --dynamic -l Dynamic,16,1 --sf-port=9006
in templates,not commands
in templates
add nodes
set input
Then this is the first runtime instance of SimX.
if you want to monitor this simulation
download XMonitor
cd XMonitor
make
monitor-sf localhost 9006 he_octopus.xml little
