A Few Bytes are Worth a Thousand Words: Run-Time Compilation of High Level Scripts in Sensor Networks

Over the air reprogramming has become a vital requirement of wireless sensor networks due to the infeasibility and inaccessibility of deployed sensor nodes. The transmission of whole software binaries consumes a substantial amount of energy and therefore a more efficient means of updating software on sensor nodes is required. Virtual machines allow for smaller sized update scripts due to the higher level instructions. However, they also incur higher execution overheads introduced by the required interpretation. Native code on the other hand provides faster execution however at the cost of a larger code size. In this paper we demonstrate that it is possible to leverage small update sizes achieved using high level scripts without incurring high interpretation overheads, by translating the scripts to native code in situ.

[1]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[2]  Weijia Li,et al.  Towards energy-efficient code dissemination in wireless sensor networks , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[3]  Peter I. Corke,et al.  Darjeeling, a Java compatible virtual machine for microcontrollers , 2008, Companion '08.

[4]  Andrew Tridgell,et al.  Efficient Algorithms for Sorting and Synchronization , 1999 .

[5]  Saurabh Bagchi,et al.  Hermes: Fast and Energy Efficient Incremental Code Updates for Wireless Sensor Networks , 2009, IEEE INFOCOM 2009.

[6]  Saurabh Bagchi,et al.  Zephyr: efficient incremental reprogramming of sensor nodes using function call indirections and difference computation , 2009 .

[7]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

[8]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[9]  Weijia Li,et al.  UCC: update-conscious compilation for energy efficiency in wireless sensor networks , 2007, PLDI '07.

[10]  Henri Dubois-Ferrière,et al.  TinyNode: a comprehensive platform for wireless sensor network applications , 2006, IPSN.

[11]  David E. Culler,et al.  Active sensor networks , 2005, NSDI.

[12]  Joel Koshy,et al.  Remote incremental linking for energy-efficient reprogramming of sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[13]  David E. Culler,et al.  Incremental network programming for wireless sensors , 2004, SECON.

[14]  Roger Wattenhofer,et al.  Decoding Code on a Sensor Node , 2008, DCOSS.

[15]  Liviu Iftode,et al.  Scylla: a smart virtual machine for mobile embedded systems , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.