A main challenge with developing applications for wireless embedded systems is the lack of visibility and control during execution of an application. In this paper, we present a tool suite called  Marionette  that provides the ability to call functions and to read or write variables on pre-compiled, embedded programs at run-time, without requiring the programmer to add any special code to the application. This rich interface facilitates interactive development and debugging at minimal cost to the node.
['Kamin Whitehouse', 'Gilman Tolle', 'Jay Taneja', 'Cory Sharp', 'Sukun Kim', 'Jaein Jeong', 'Jonathan W. Hui', 'Prabal Dutta', 'David E. Culler']
Marionette: using RPC for interactive development and debugging of wireless embedded networks