Xenotiny: Emulating wireless sensor networks on xen
Abstract
The large-scale and inaccessibility of deployed wireless sensor
networks mandate that the code installed in sensor nodes be rigorously
tested prior to deployment. Such testing is primarily
achieved using discrete event simulators designed to provide
“high fidelity” simulation of the communications between nodes.
Discrete event simulators, by their very nature, mask race conditions
in the code since simulated interrupts never interrupt running
code; an additional limitation of most such simulators is the
requirement that all simulated nodes execute the same application
code, at variance with common practice in actual deployments.
Since both of these problems reduce confidence in the deployed
system, the focus of this work is to eliminate these problems via
complete emulation of wireless sensor networks using virtualization
techniques. In particular, a version of TinyOS is described,
XenoTiny, which can be executed as a guest domain over the Xen
virtualization hypervisor. XenoTiny is well integrated with the
TinyOS build process. Since each node runs independently in its
own guest domain, race conditions are able to manifest themselves,
and each node can run a node-appropriate application.
The hardware emulation is performed at the lowest possible
hardware abstraction layer, thus maximizing the amount of actual
TinyOS code that is executed during emulation. Finally, a novel
Xen-specific radio model mechanism has been introduced, easing
the introduction of different radio models for use during emulation
runs.