Viptos (Visual Ptolemy and TinyOS) is an integrated graphical development and
simulation environment for TinyOS-based wireless sensor networks. Viptos allows
developers to create block and arrow diagrams to construct TinyOS programs from
any standard library of nesC/TinyOS components. The tool automatically
transforms the diagram into a nesC program that can be compiled and downloaded
from within the graphical environment onto any TinyOS-supported target
hardware. In particular, Viptos includes the full capabilities of VisualSense,
which can model communication channels, networks, and non-TinyOS nodes. This
release of Viptos is compatible with nesC 1.2 and includes tools to harvest
existing TinyOS components and applications and convert them into a format that
can be displayed as block (and arrow) diagrams and simulated.
Viptos is based on TOSSIM and Ptolemy II. TOSSIM is an interrupt-level
simulator for TinyOS programs. It runs actual TinyOS code but provides software
replacements for the simulated hardware and models network interaction at the
bit or packet level. Ptolemy II is a graphical software system for modeling,
simulation, and design of concurrent, real-time, embedded systems. Ptolemy II
focuses on assembly of concurrent components with well-defined models of
computation that govern the interaction between components. VisualSense is a
Ptolemy II environment for modeling and simulation of wireless sensor networks
at the network level.
Viptos provides a bridge between VisualSense and TOSSIM by providing
interrupt-level simulation of actual TinyOS programs, with packet-level
simulation of the network, while allowing the developer to use other models of
computation available in Ptolemy II for modeling various parts of the system.
While TOSSIM only allows simulation of homogeneous networks where each node
runs the same program, Viptos supports simulation of heterogeneous networks
where each node may run a different program. Viptos simulations may also
include non-TinyOS-based wireless nodes. The developer can easily switch to
different channel models and change other parts of the simulated environment,
such as creating models to generate simulated traffic on the wireless network.
Viptos inherits the actor-oriented modeling environment of Ptolemy II, which
allows the developer to use different models of computation at each level of
simulation. At the lowest level, Viptos uses the discrete-event scheduler of
TOSSIM to model the interaction between the CPU and TinyOS code that runs on
it. At the next highest level, Viptos uses the discrete-event scheduler of
Ptolemy II to model interaction with mote hardware, such as the radio and
sensors. This level is then embedded within VisualSense to allow modeling of
the wireless channels to simulate packet loss, corruption, delay, etc. The user
can also model and simulate other aspects of the physical environment including
those detected by the sensors (e.g., light, temperature, etc.), terrain, etc.