System-level Support for Macroprogramming of Networked Sensing Applications

Wireless sensor networks (WSNs) provide low-cost, embedded sense-and-respond capability, and are therefore an integral part of the vision of pervasive computing. Most research on WSNs to date has focused on the development of efficient protocols for infrastructure establishment. Application development for WSNs is still very daunting for the non-expert. This paper proposes hierarchical layers of abstractions to categorize the functionality of various WSN protocols from a programming perspective. We then address the issue of systemlevel support for programming models in sensor networks, and describe the design of the DART runtime system, which supports a macroprogramming model called the Abstract Task Graph. DART prototypes for two different target platforms have been implemented. The modular structure of the runtime is inspired by our proposed layers of programming abstraction. The design of DART simplifies software synthesis of ATaG programs, and enables near plug-and-play integration of different protocols and services at the lower layers with minimal impact on the higher layers.

[1]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[2]  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.

[3]  Ryan Newton,et al.  Region streams: functional macroprogramming for sensor networks , 2004, DMSN '04.

[4]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI '03.

[5]  Viktor K. Prasanna,et al.  Issues in designing middleware for wireless sensor networks , 2004, IEEE Network.

[6]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[7]  Amy L. Murphy,et al.  Middleware to support sensor network applications , 2004, IEEE Network.

[8]  Jie Liu,et al.  Semantic Streams: a Framework for Declarative Queries and Automatic Data Interpretation , 2005 .

[9]  Jie Liu,et al.  galsC: a language for event-driven embedded systems , 2005, Design, Automation and Test in Europe.

[10]  Viktor K. Prasanna,et al.  The Abstract Task Graph: a methodology for architecture-independent programming of networked sensor systems , 2005, EESR '05.

[11]  Ladislav Hluchý,et al.  Data Driven Graph: A Parallel Program Model for Scheduling , 1999, LCPC.

[12]  Deborah Estrin,et al.  An energy-efficient MAC protocol for wireless sensor networks , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[13]  Feng Zhao,et al.  State-Centric Programming for Sensor-Actuator Network Systems , 2003, IEEE Pervasive Comput..

[14]  Ramesh Govindan,et al.  Macro-programming Wireless Sensor Networks Using Kairos , 2005, DCOSS.

[15]  Deborah Estrin,et al.  Networking Issues in Sensor Networks , 2003 .

[16]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[17]  Deborah Estrin,et al.  Time synchronization for wireless sensor networks , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[18]  Margaret Martonosi,et al.  Impala: a middleware system for managing autonomic, parallel sensor systems , 2003, PPoPP '03.

[19]  Brad Karp,et al.  GPSR: greedy perimeter stateless routing for wireless networks , 2000, MobiCom '00.

[20]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[21]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[22]  Mani B. Srivastava,et al.  Dynamic fine-grained localization in Ad-Hoc networks of sensors , 2001, MobiCom '01.