High-Level Application Development for Sensor Networks: Data-Driven Approach

Owing to the large scale of networked sensor systems, ease of programming remains a hurdle in their wide acceptance. High-level application development techniques, or macroprogramming provides an easy-to-use high-level representation to the application developer, who can focus on specifying the behavior of the system, as opposed to the constituent nodes of the wireless sensor network (WSN). This chapter provides an overview of the current approaches to high-level application design for WSNs, going into the details related to data-driven macroprogramming. Details of one such language are provided, in addition to the approach taken to the compilation of data-driven macroprograms to node-level code. An implementation of the modular compilation framework is also discussed, as well as a graphical toolkit built around it that supports data-driven macroprogramming. Through experiments, it is shown that the code generated by the compiler matches hand-generated implementations of the applications, while drastically reducing the time and effort involved in developing real-world WSN applications.

[1]  Eric Bouillet,et al.  A Semantics-Based Middleware for Utilizing Heterogeneous Sensor Networks , 2007, DCOSS.

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

[3]  Murat Demirbas,et al.  Wireless Sensor Networks for Monitoring of Large Public Buildings , 2005 .

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

[5]  Amy L. Murphy,et al.  TinyLIME: bridging mobile and sensor networks through middleware , 2005, Third IEEE International Conference on Pervasive Computing and Communications.

[6]  Sajal K. Das,et al.  A framework for energy-saving data gathering using two-phase clustering in wireless sensor networks , 2004, The First Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, 2004. MOBIQUITOUS 2004..

[7]  Gaurav S. Sukhatme,et al.  Adaptive sampling for environmental field estimation using robotic sensors , 2004, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[8]  Azzedine Boukerche Handbook of Algorithms for Wireless Networking and Mobile Computing , 2005 .

[9]  Tarek F. Abdelzaher,et al.  EnviroSuite: An environmentally immersive programming framework for sensor networks , 2006, TECS.

[10]  Ryan Newton,et al.  Design and evaluation of a compiler for embedded stream programs , 2008, LCTES '08.

[11]  Suresh Jagannathan,et al.  Macroprogramming heterogeneous sensor networks using cosmos , 2007, EuroSys '07.

[12]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[13]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[14]  José D. P. Rolim,et al.  Energy optimal data propagation in wireless sensor networks , 2005, J. Parallel Distributed Comput..

[15]  Wei Hong,et al.  TASK: sensor network in a box , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[16]  Viktor K. Prasanna,et al.  Enabling Scope-Based Interactions in Sensor Network Macroprogramming , 2007, 2007 IEEE Internatonal Conference on Mobile Adhoc and Sensor Systems.

[17]  Luca Mottola,et al.  Logical Neighborhoods: A Programming Abstraction for Wireless Sensor Networks , 2006, DCOSS.

[18]  Ramesh Govindan,et al.  Reliable and efficient programming abstractions for wireless sensor networks , 2007, PLDI '07.

[19]  Lili Wang,et al.  Design, implementation, and evaluation of EnviroMic: A storage-centric audio sensor network , 2009, TOSN.

[20]  Siddharth Seth,et al.  A spreadsheet approach to programming and managing sensor networks , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[21]  Robbert van Renesse,et al.  JiST: an efficient approach to simulation using virtual machines , 2005, Softw. Pract. Exp..

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

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

[24]  Viktor K. Prasanna,et al.  Issues in designing a compilation framework for macroprogrammed networked sensor systems , 2006, InterSense '06.

[25]  Viktor K. Prasanna,et al.  Expressing Sensor Network Interaction Patterns Using Data-Driven Macroprogramming , 2007, Fifth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerComW'07).

[26]  Kamin Whitehouse,et al.  Semantic Streams: A Framework for Composable Semantic Interpretation of Sensor Data , 2006, EWSN.

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

[28]  Viktor K. Prasanna,et al.  Energy-Efficient Task Mapping for Data-Driven Sensor Network Macroprogramming , 2008, DCOSS.

[29]  Dharma P. Agrawal,et al.  Energy-Efficient and Reliable Medium Access in Sensor Networks , 2007, 2007 IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.

[30]  Kamin Whitehouse,et al.  MacroLab: a vector-based macroprogramming framework for cyber-physical systems , 2008, SenSys '08.

[31]  John A. Stankovic,et al.  SenQ: An Embedded Query System for Streaming Data in Heterogeneous Interactive Wireless Sensor Networks , 2008, DCOSS.

[32]  Kamin Whitehouse,et al.  Macrodebugging: global views of distributed program execution , 2009, SenSys '09.

[33]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[34]  Ioannis Chatzigiannakis,et al.  jWebDust : A Java-Based Generic Application Environment for Wireless Sensor Networks , 2005, DCOSS.

[35]  Alan Burns,et al.  Portable worst-case execution time analysis using Java Byte Code , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[36]  Yong Yao,et al.  The cougar approach to in-network query processing in sensor networks , 2002, SGMD.

[37]  Tim Tau Hsieh Using sensor networks for highway and traffic applications , 2004 .

[38]  Ryan Newton,et al.  Building up to macroprogramming: an intermediate language for sensor networks , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[39]  Luca Mottola,et al.  Programming wireless sensor networks with logical neighborhoods , 2006, InterSense '06.

[40]  Viktor K. Prasanna,et al.  System-level Support for Macroprogramming of Networked Sensing Applications , 2005, PSC.

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

[42]  Luca Mottola,et al.  Programming wireless sensor networks , 2011, ACM Comput. Surv..