Slotted programming for sensor networks

We advocate a novel programming approach we call slotted programming that not only addresses the specific hardware capabilities of sensor nodes, but also facilitates coding through a truly modular design. The approach is based on the temporal decoupling of the different tasks of a sensor node such that at any time at most one task is active. In contrast to traditional sensor network programming, slotted programming guarantees that each of these tasks can be implemented as an independent software module, simplifying not only the coding and testing phase, but also the code reuse in a different context. In addition, we believe that the proposed approach is highly qualified for energy efficient and real time applications. To substantiate our claims, we have implemented slotos, an extension to TinyOS that supports slotted programming. Within this framework, we demonstrate the advantages of the slotted programming paradigm.

[1]  Peter I. Corke,et al.  A Java compatible virtual machine for wireless sensor nodes , 2008, SenSys '08.

[2]  Omer Gurewitz,et al.  RI-MAC: a receiver-initiated asynchronous duty cycle MAC protocol for dynamic traffic loads in wireless sensor networks , 2008, SenSys '08.

[3]  Gyula Simon,et al.  The flooding time synchronization protocol , 2004, SenSys '04.

[4]  John A. Stankovic,et al.  t-kernel: providing reliable OS support to wireless sensor networks , 2006, SenSys '06.

[5]  David E. Culler,et al.  Versatile low power media access for wireless sensor networks , 2004, SenSys '04.

[6]  Eric Eide,et al.  Efficient memory safety for TinyOS , 2007, SenSys '07.

[7]  Jeff Rose,et al.  MANTIS: system support for multimodAl NeTworks of in-situ sensors , 2003, WSNA '03.

[8]  Anthony Rowe,et al.  Nano-RK: an energy-aware resource-centric RTOS for sensor networks , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[9]  Edward A. Lee Computing needs time , 2009, CACM.

[10]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[11]  Matt Welsh,et al.  Resource aware programming in the Pixie OS , 2008, SenSys '08.

[12]  R. Wattenhofer,et al.  Dozer: Ultra-Low Power Data Gathering in Sensor Networks , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[13]  Amre El-Hoiydi,et al.  WiseMAC: an ultra low power MAC protocol for the downlink of infrastructure wireless sensor networks , 2004, Proceedings. ISCC 2004. Ninth International Symposium on Computers And Communications (IEEE Cat. No.04TH8769).

[14]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[15]  Christoph Lenzen,et al.  Optimal clock synchronization in networks , 2009, SenSys '09.

[16]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[17]  David E. Culler,et al.  IP is dead, long live IP for wireless sensor networks , 2008, SenSys '08.

[18]  Nigamanth Sridhar,et al.  Abstractions for safe concurrent programming in networked embedded systems , 2006, SenSys '06.