Research Publications Misc
Overview A main challenge to developing applications for wireless embedded systems is the lack of run-time visibility and control. We developed a tool suite called Marionette that provides an interpreter through which the network operator can remotely call the node's functions, read and write its variables, and access its enumerations and data structures. This interactive and scriptable environment allows the developer to seamlessly trade off between between writing application logic on the PC for simplicity and debugging or writing it on the nodes for increased efficiency. This greatly eases the development process and we have shown that this tool suite can reduce code size in several existing applications by up to 75%. Marionette is actively being used for development on several testbeds of up to several hundred nodes. Marionette builds upon my earlier work on the Matlab/TinyOS development environment, which has been in the main TinyOS distribution.

Kamin Whitehouse, Gilman Tolle, Jay Taneja, Cory Sharp, Sukun Kim, Jaein Jeong, Jonathan Hui, Prabal Dutta, and David Culler. "Marionette: Using RPC for Interactive Development and Debugging of Wireless Embedded Networks".  The Fifth International Conference on Information Processing in Sensor Networks: Special Track on Sensor Platform, Tools, and Design Methods for Network Embedded Systems (IPSN/SPOTS '06).  Nashville, TN, April 21, 2006. (ppt)

Software The code for Marionette is publicly available and is part of the standard tinyos-1.x software distribution.
Documentation Documentation for installing and using Marionette can be found on a public wiki, which includes screenshots. Installation of jpype can be tricky. To try Marionette without going through the installation process, try using the live CD called Xubuntos, which lets you boot into a working tinyos environment. ,

Kamin Whitehouse
Computer Science Department
The University of Virginia
217 Olsson Hall
Charlottesville, Virginia 94720