<XML><RECORDS><RECORD><REFERENCE_TYPE>10</REFERENCE_TYPE><REFNUM>9131</REFNUM><AUTHORS><AUTHOR>Sventek,J.</AUTHOR><AUTHOR>Maclean,A.</AUTHOR><AUTHOR>McIlroy,R.</AUTHOR><AUTHOR>Milos,G.</AUTHOR></AUTHORS><YEAR>2008</YEAR><TITLE>XenoTiny: Emulating Wireless Sensor Networks on Xen</TITLE><PLACE_PUBLISHED>DCS Technical Report Series</PLACE_PUBLISHED><PUBLISHER>Dept of Computing Science, University of Glasgow</PUBLISHER><PAGES>1-10</PAGES><ISBN>TR-2008-294</ISBN><LABEL>Sventek:2008:9131</LABEL><KEYWORDS><KEYWORD>Sensor network</KEYWORD></KEYWORDS<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.</ABSTRACT></RECORD></RECORDS></XML>