Compilation of data-driven macroprograms for a class of networked sensing applications

Wireless Sensor Networks (WSNs) are rapidly emerging as a new class of distributed pervasive systems, with applications in a diverse range of domains such as traffic management, building environment management, target tracking, etc. Most, if not all, WSN application design is currently performed at the node-level, with developers manually customizing various protocols to realize their applications. This makes it difficult for the typical domain-expert application developer (e.g., a building system designer) to develop applications for them, and is a hindrance to their wide acceptance. To address this problem, the field of macroprogramming has emerged, which aims to provide high-level programming abstractions to assist in application development for WSNs. Although several macroprogramming approaches have been studied, the area of compilation of these macroprograms to node-level code is still largely unexplored. This thesis addresses the issues involved in the compilation of sensor network macroprograms. The emphasis is on data-driven macroprogramming, where the application is represented as a set of tasks running on the system's nodes - producing, processing and acting on data items or streams to achieve the system's goals. In addition to a modular framework for the overall compilation process, formal models for the task-mapping problem which arises in this context are discussed. Results from optimal result-producing mixed-integer programming techniques and algorithmic heuristics for the above problem are presented. We also present the design and implementation of a graphical toolkit for sensor network macroprogramming.

[1]  Gero Mühl,et al.  Rapid Prototyping for Pervasive Applications , 2007, IEEE Pervasive Computing.

[2]  C. P. Ravikumar,et al.  Genetic algorithm for mapping tasks onto a reconfigurable parallel processor , 1995 .

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

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

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

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

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

[8]  Gaurav S. Sukhatme,et al.  Networked Sensing for Structural Health Monitoring , 2004 .

[9]  Gang Zhou,et al.  VigilNet: An integrated sensor network system for energy-efficient surveillance , 2006, TOSN.

[10]  Antonella Ferrara,et al.  Nonlinear optimization for freeway control using variable-speed signaling , 1999 .

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

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

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

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

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

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

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

[18]  Joel Koshy,et al.  VMSTAR: synthesizing scalable runtime environments for sensor networks , 2005, SenSys '05.

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

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

[21]  Samuel Madden,et al.  Resource-Aware Wireless Sensor-Actuator Networks , 2005, IEEE Data Eng. Bull..

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

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

[24]  Edward A. Lee,et al.  Joint Modeling and Design of Wireless Networks and Sensor Node Software , 2006 .

[25]  Rohit Chaudhri,et al.  Mobile Device-Centric Exercise Monitoring with an External Sensor Population , 2007 .

[26]  Brad Karp,et al.  GPSR : Greedy Perimeter Stateless Routing for Wireless , 2000, MobiCom 2000.

[27]  Sandeep K. S. Gupta,et al.  The personal sensor network: a user-centric monitoring solution , 2007, BODYNETS.

[28]  Sushil K. Prasad,et al.  Distributed Algorithms for Lifetime of Wireless Sensor Networks Based on Dependencies Among Cover Sets , 2007, HiPC.

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

[30]  Satish Kumar,et al.  Next century challenges: scalable coordination in sensor networks , 1999, MobiCom.

[31]  Deborah Estrin,et al.  Tenet: An Architecture for Tiered Embedded Networks , 2005 .

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

[33]  W.J. Kaiser,et al.  The low power energy aware processing (LEAP) embedded networked sensor system , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[34]  Doug Simon,et al.  The squawk virtual machine: Java™ on the bare metal , 2005, OOPSLA '05.

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

[36]  J. Chinrungrueng,et al.  Smart Parking: An Application of Optical Wireless Sensor Network , 2007, 2007 International Symposium on Applications and the Internet Workshops.

[37]  Ishfaq Ahmad,et al.  Optimal task assignment in heterogeneous computing systems , 1997, Proceedings Sixth Heterogeneous Computing Workshop (HCW'97).

[38]  M. Welsh,et al.  Flask : A Language for Data-driven Sensor Network Programs , 2006 .

[39]  S. Sitharama Iyengar,et al.  Distributed Sensor Networks , 2004 .

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

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

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

[43]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[44]  D. Everitt,et al.  An Interoperability Framework for Sensor and UMTS Networks , 2007, 2007 Third International Conference on Wireless and Mobile Communications (ICWMC'07).

[45]  Viktor K. Prasanna,et al.  Energy-Balanced Task Allocation for Collaborative Processing in Wireless Sensor Networks , 2005, Mob. Networks Appl..

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

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

[48]  Kaan Ozbay,et al.  Feedback Ramp Metering in Intelligent Transportation Systems , 2003 .

[49]  C. Manzie,et al.  On the potential for improving fuel economy using a traffic flow sensor network , 2005, Proceedings of 2005 International Conference on Intelligent Sensing and Information Processing, 2005..

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

[51]  Nanyan Jiang,et al.  Enabling applications in sensor-based pervasive environments , 2004 .

[52]  Lothar Thiele,et al.  Deployment support network a toolkit for the development of WSNs , 2007 .

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

[54]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

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

[56]  David E. Culler,et al.  System architecture directions for networked sensors , 2000, SIGP.

[57]  Eylem Ekici,et al.  Energy-constrained task mapping and scheduling in wireless sensor networks , 2005, IEEE International Conference on Mobile Adhoc and Sensor Systems Conference, 2005..

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

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

[60]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

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

[62]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

[64]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[65]  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).

[66]  Viktor K. Prasanna,et al.  Architecture-Independent Programming for Wireless Sensor Networks , 2008 .

[67]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

[68]  James Evans,et al.  Optimization algorithms for networks and graphs , 1992 .

[69]  Bharadwaj Veeravalli,et al.  A Co-ordinate Based Resource Allocation Strategy for Grid Environments , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[70]  Viktor K. Prasanna,et al.  Enabling Scoping in Sensor Network Macroprogramming ∗ , 2006 .

[71]  Krishna M. Sivalingam,et al.  A survey of MAC protocols for sensor networks , 2004 .

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

[73]  Kian Hsiang Low,et al.  Autonomic mobile sensor network with self-coordinated task allocation and execution , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[74]  Kay Römer,et al.  Solving generic role assignment exactly , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

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

[76]  José D. P. Rolim,et al.  Energy balanced data propagation in wireless sensor networks , 2006, Wirel. Networks.

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

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

[79]  S. Sitharama Iyengar,et al.  Distributed Sensor Networks (Chapman & Hall/Crc Computer and Information Science) , 2004 .

[80]  Bradford G. Nickerson,et al.  A User Friendly Toolkit for Building Robust Environmental Sensor Networks , 2007, Fifth Annual Conference on Communication Networks and Services Research (CNSR '07).

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

[82]  Ian F. Akyildiz,et al.  Wireless sensor and actor networks: research challenges , 2004, Ad Hoc Networks.

[83]  Jie Liu,et al.  Greedy is Good: On Service Tree Placement for In-Network Stream Processing , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).