Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
A. Awan, S. Jagannathan, and A. Grama. Macroprogramming heterogeneous sensor networks using cosmos. In: EuroSys ’07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, ACM, New York, NY, pp 159–172, 2007. DOI http://doi.acm.org/10.1145/1272996.1273014.
A. Bakshi, A. Pathak, and V. K. Prasanna. System-level support for macroprogramming of networked sensing applications. In: International Conference on Pervasive Systems and Computing (PSC), Las Vegas, Nevada, USA, 2005.
A. Bakshi, V. K. Prasanna, J. Reich, and D. Larner. The abstract task graph: A methodology for architecture-independent programming of networked sensor systems. In: Workshop on End-to-End Sense-and-Respond Systems (EESR), Seattle, WA, USA, 2005.
R. Barr, Z. J. Haas, and R. van Renesse. Jist: An efficient approach to simulation using virtual machines. Software Practice and Experience 35(6):539–576, 2005.
G. Bernat, A. Burns, and A. Wellings. Portable worst-case execution time analysis using java byte code. In: Proceedings of the 12nd Euromicro Conference on Real-Time Systems, Maastricht, The Netherlands, 2000.
E. Bouillet, M. Feblowitz, Z. Liu, A. Ranganathan, A. Riabov, and F. Ye. A semantics-based middleware for utilizing heterogeneous sensor networks. In: Proceedings of the 3rd International Conference on Distributed Computing in Sensor Systems (DCOSS), Santa Fe, NM, USA, 2007.
A. Boukerche. Algorithms and Protocols for Wireless and Mobile Systems. Chapman & Hall/CRC, 2005.
A. Boulis, C. C. Han, and M. B. Srivastava. Design and implementation of a framework for efficient and programmable sensor networks. In MobiSys ’03: Proceedings of the 1st international conference on Mobile systems, applications and services. ACM, New York, NY, pages 187–200, 2003. DOI http://doi.acm.org/10.1145/1066116.1066121.
P. Buonadonna, D. Gay, J. Hellerstein, W. Hong, and S. Madden. TASK: Sensor network in a box. In: Second European Workshop on Wireless Sensor Networks, EWSN 2005, Istanbul, Turkey, 2005.
I. Chatzigiannakis, G. Mylonas, and S. E. Nikoletseas. jWebDust: A java-based generic application environment for wireless sensor networks. In: DCOSS, Marina del Rey, California, USA, pages 376–386, 2005.
E. Cheong, E. A. Lee, and Y. Zhao. Joint modeling and design of wireless networks and sensor node software. Technical report, Electrical Engineering and Computer Sciences University of California at Berkeley, 2006.
W. Choi, P. Shah, and S. Das. A framework for energy-saving data gathering using two-phase clustering in wireless sensor networks. In: Proceedings of the 1st International Conference on Mobile and Ubiquitous Systems: Networking and Services (MOBIQUITOUS), Boston, MA, USA, 2004.
J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby, and H. Zheng. Bandera: Extracting finite-state models from java source code. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), Limerick, Ireland, 2000.
C. Curino, M. Giani, M. Giorgetta, A. Giusti, A. L. Murphy, and G. P. Picco. Tinylime: Bridging mobile and sensor networks through middleware. In: Third IEEE International Conference on Pervasive Computing and Communications, 2005. PerCom 2005, pp 61–72, Kauai, Hawaii, USA, 2005.
M. Dermibas. Wireless sensor networks for monitoring of large public buildings. Technical report, University at Buffalo, 2005.
D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In: Proceedings of Programming Language Design and Implementation (PLDI), San Diego, CA, USA, 2003.
The generic modeling environment, http://www.isis.vanderbilt.edu/projects/gme. Accessed on October 2010.
GRATIS: Graphical development environment for tinyos. http://www.isis.vanderbilt.edu/ projects/nest/gratis/index.html. Accessed on October 2010.
Habitat monitoring on the Great Duck Island. www.greatduckisland.net
B. Greenstein, E. Kohler, and D. Estrin. A sensor network application construction kit (SNACK). In: 2nd ACM Conference on Embedded Networked Sensor Systems, Baltimore, MD, USA, 2004.
R. Gummadi, O. Gnawali, and R. Govindan. Macro-programming wireless sensor networks using Kairos. In: Proceedings of the 1st International Conference on Distributed Computing in Sensor Systems (DCOSS), Marina del Rey, California, USA, 2005.
T. W. Hnat, T. I. Sookoor, P. Hooimeijer, W. Weimer, and K. Whitehouse. Macrolab: A vectorbased macroprogramming framework for cyber-physical systems. In: SenSys ’08: Proceedings of the 6th ACM conference on Embedded network sensor systems, ACM, New York, NY, pages 225–238, 2008. DOI http://doi.acm.org/10.1145/1460412.1460435
HPROF: A heap/cpu profiling tool in J2SE 5.0. http://java.sun.com/developer/ technicalArticles/Programming/HPROF.html. Accessed on October 2010.
T. T. Hsieh. Using sensor networks for highway and traffic applications. IEEE Potentials 23(2):13–16, 2004.
V. Jain, R. Biswas, and D. P. Agrawal. Energy efficient and reliable medium access for wireless sensor networks. In: IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM), Helsinki, Finland, 2007.
B. Karp and H. T. Kung. GPSR: Greedy perimeter stateless routing for wireless networks. In: Proceedings of ACM/IEEE MobiCom, Boston, MA, USA, 2000.
N. Kothari, R. Gummadi, T. Millstein, and R. Govindan. Reliable and efficient programming abstractions for wireless sensor networks. In: PLDI ’07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, ACM, New York, NY, pages 200–210, 2007. DOI http://doi.acm.org/10.1145/1250734.1250757.
B. Krishnamachari. Networking wireless sensors. Cambridge University Press, 2006.
J. Liu, J. Reich, and F. Zhao. State-centric programming for sensor-actuator network systems. IEEE Pervasive Computing, 2(4):50–62, 2003.
L. Luo, T. F. Abdelzaher, T. He, and J. A. Stankovic. Envirosuite: An environmentally immersive programming framework for sensor networks. Transaction on Embedded Computing System 5(3):543–576, 2006.
L. Luo, Q. Cao, C. Huang, L. Wang, T. F. Abdelzaher, J. A. Stankovic, and M. Ward. Design, implementation, and evaluation of enviromic: A storage-centric audio sensor network. ACM Transaction on Sensor Network 5(3):1–35, 2009. DOI http://doi.acm.org/10.1145/ 1525856.1525860.
S. R. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong. TinyDB: An acquisitional query processing system for sensor networks. ACM Transaction on Database System 30(1):122–173, 2005. DOI http://doi.acm.org/10.1145/1061318.1061322.
G. Mainland, M. Welsh, and G. Morrisett. Flask: A language for data-driven sensor network programs. In: Technical Report TR-13-06, Harvard University Technical Report, 2006.
L. Mottola, A. Pathak, A. Bakshi, V. K. Prasanna, and G. P. Picco. Enabling scoping in sensor network macroprogramming. In: Fourth IEEE International Conference on Mobile Ad-hoc and Sensor Systems (MASS) Pisa, Italy, 2007.
L. Mottola and G. P. Picco. Logical neighborhoods: A programming abstraction for wireless sensor networks. In: Proceedings of the the 2nd International Conference on Distributed Computing on Sensor Systems (DCOSS), San Francisco, CA, USA, 2006.
L. Mottola and G. P. Picco. Programming wireless sensor networks with logical neighborhoods. In: Proceedings of the 1st International Conference on Integrated Internet Ad hoc and Sensor Networks (InterSense), Nice, France, 2006.
L. Mottola and G. P. Picco. Programming wireless sensor networks: Fundamental concepts and state of the art. ACM Computing Surveys (accepted).
R. Newton, Arvind, and M. Welsh. Building up to macroprogramming: An intermediate language for sensor networks. In: Proceedings of the 4th International Conference on Information Processing in Sensor Networks (IPSN), Los Angeles, CA, 2005.
R. Newton, L. Girod, M. Craig, G. Morrisett, and S. Madden. Design and evaluation of a compiler for embedded stream programs. In: Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2008), Tucson, AZ, USA, 2008.
R. Newton and M. Welsh. Region streams: Functional macroprogramming for sensor networks. In: Proceedings of the 1st International Workshop on Data Management for Sensor Networks (DMSN), Toronto, Canada, 2004.
A. Pathak, L. Mottola, A. Bakshi, V. K. Prasanna, and G. P. Picco. Expressing sensor network interaction patterns using data-driven macroprogramming. In: Third IEEE InternationalWorkshop on Sensor Networks and Systems for Pervasive Computing (PerSeNS 2007), White Plains, NY, 2007.
A. Pathak and V. K. Prasanna. Issues in designing a compilation framework for macroprogrammed networked sensor systems. In: Proceedings of the the 1st International Conference on Integrated Internet Ad hoc and Sensor Networks (InterSense), Nice, France, 2006.
A. Pathak and V. K. Prasanna. Energy-efficient task mapping for data-driven sensor network macroprogramming. In: International Conference on Distributed Computing in Sensor Systems (DCOSS), Santorini, Greece, 2008.
O. Powell, P. Leone, and J.D.P. Rolim. Energy optimal data propagation in wireless sensor networks. Journal of Parallel and Distributed Computing 67(3):302–317, 2007.
M. Rahimi, M. Hansen, W. Kaiser, G. Sukhatme, and D. Estrin. Adaptive sampling for environmental field estimation using robotic sensors. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Edmonton, Canada, 2005.
T. Sookoor, T. Hnat, P. Hooimeijer, W. Weimer, and K. Whitehouse. Macrodebugging: Global views of distributed program execution. In: SenSys ’09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. ACM, New York, NY, pages 141–154, 2009. DOI http://doi.acm.org/10.1145/1644038.1644053.
Srijan—Graphical WSN application development toolkit. https://gforge.inria.fr/projects/ srijan/.
Sunâ„¢Small Programmable Object Technology (Sun SPOT), www.sunspotworld.com.
K. Whitehouse, C. Sharp, E. Brewer, and D. Culler. Hood: A neighborhood abstraction for sensor networks. In: Proceedings of the 2nd International Conference on Mobile systems, applications, and services (MOBISYS), Boston, MA, USA, 2004.
K. Whitehouse, F. Zhao, and J. Liu. Semantic streams: A framework for composable semantic interpretation of sensor data. In: European Workshop on Wireless Sensor Networks (EWSN), Zurich, Switzerland, 2006.
A. Woo, S. Seth, T. Olson, J. Liu, and F. Zhao. A spreadsheet approach to programming and managing sensor networks. In: IPSN ’06: Proceedings of the fifth international conference on Information processing in sensor networks. New York, NY (2006). DOI http://doi.acm.org/10.1145/1127777.1127842.
A. D. Wood, L. Selavo, and J. A. Stankovic. SenQ: An embedded query system for streaming data in heterogeneous interactive wireless sensor networks. In: Nikoletseas S.E., Chlebus B.S., Johnson D.B., and Krishnamachari B., editors. DCOSS, volume of Lecture Notes in Computer Science, Springer, Berlin, pages 531–543, 2008.
Y. Yao and J. Gehrke. The cougar approach to in-network query processing in sensor networks. SIGMOD Record 31(3):9–18, 2002. DOI http://doi.acm.org/10.1145/601858.601861.
Acknowledgments
This work is partially supported by the National Science Foundation, USA, under grant number CCF-0430061 and CNS-0627028. The authors are grateful to Amol Bakshi, Luca Mottola, Gian-Pietro Picco, and Qunzhi Zhou for their assistance.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Pathak, A., Prasanna, V.K. (2011). High-Level Application Development for Sensor Networks: Data-Driven Approach. In: Nikoletseas, S., Rolim, J. (eds) Theoretical Aspects of Distributed Computing in Sensor Networks. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14849-1_26
Download citation
DOI: https://doi.org/10.1007/978-3-642-14849-1_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14848-4
Online ISBN: 978-3-642-14849-1
eBook Packages: Computer ScienceComputer Science (R0)