High-Level Application Development is Realistic for Wireless Sensor Networks

Programming wireless sensor network (WSN) applications is known to be a difficult task. Part of the problem is that the resource limitations of typical WSN nodes force programmers to use relatively low-level techniques to deal with the logical concurrency and asynchronous event handling inherent in these applications. In addition, existing general-purpose, node-level programming tools only support the networked nature of WSN applications in a limited way and result in application code that is hardly portable across different software platforms. All of this makes programming a single device a tedious and error-prone task. To address these issues we propose a high-level programming model that allows programmers to express applications as hierarchical state machines and to handle events and application concurrency in a way similar to imperative synchronous languages. Our program execution model is based on static scheduling what allows for standalone application analysis and testing. For deployment, the resulting programs are translated into efficient sequential C code. A prototype compiler for TinyOS has been implemented and its evaluation in described in this paper.

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

[2]  Sang Hyuk Son,et al.  USENIX Association Proceedings of MobiSys 2003 : The First International Conference on Mobile Systems , Applications , and Services , 2003 .

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

[4]  Reinhard Budde,et al.  synERJY An Object-oriented Synchronous Language , 2006, SLAP@ETAPS.

[5]  Feng Zhao,et al.  TinyGALS: a programming model for event-driven embedded systems , 2003, SAC '03.

[6]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

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

[8]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

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

[10]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[11]  Stephen A. Edwards,et al.  SHIM: a deterministic model for heterogeneous embedded systems , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

[13]  Kay Römer,et al.  Beyond event handlers: programming wireless sensors with attributed state machines , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[14]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

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

[16]  David E. Culler,et al.  TOSSIM: accurate and scalable simulation of entire TinyOS applications , 2003, SenSys '03.

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

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

[19]  Stephen A. Edwards,et al.  An Esterel compiler for large control-dominated systems , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Pedro José Marrón,et al.  Generic role assignment for wireless sensor networks , 2004, EW 11.

[21]  Sang Hyuk Son,et al.  EnviroTrack: towards an environmental computing paradigm for distributed sensor networks , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..