Skip to main content

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

  • Chapter
  • First Online:
Theoretical Aspects of Distributed Computing in Sensor Networks

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. 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.

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

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Article  Google Scholar 

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

    Google Scholar 

  6. 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.

    Google Scholar 

  7. A. Boukerche. Algorithms and Protocols for Wireless and Mobile Systems. Chapman & Hall/CRC, 2005.

    Google Scholar 

  8. 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.

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. M. Dermibas. Wireless sensor networks for monitoring of large public buildings. Technical report, University at Buffalo, 2005.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. The generic modeling environment, http://www.isis.vanderbilt.edu/projects/gme. Accessed on October 2010.

  18. GRATIS: Graphical development environment for tinyos. http://www.isis.vanderbilt.edu/ projects/nest/gratis/index.html. Accessed on October 2010.

  19. Habitat monitoring on the Great Duck Island. www.greatduckisland.net

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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

  23. HPROF: A heap/cpu profiling tool in J2SE 5.0. http://java.sun.com/developer/ technicalArticles/Programming/HPROF.html. Accessed on October 2010.

  24. T. T. Hsieh. Using sensor networks for highway and traffic applications. IEEE Potentials 23(2):13–16, 2004.

    Article  Google Scholar 

  25. 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.

    Google Scholar 

  26. B. Karp and H. T. Kung. GPSR: Greedy perimeter stateless routing for wireless networks. In: Proceedings of ACM/IEEE MobiCom, Boston, MA, USA, 2000.

    Google Scholar 

  27. 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.

  28. B. Krishnamachari. Networking wireless sensors. Cambridge University Press, 2006.

    Google Scholar 

  29. J. Liu, J. Reich, and F. Zhao. State-centric programming for sensor-actuator network systems. IEEE Pervasive Computing, 2(4):50–62, 2003.

    Article  Google Scholar 

  30. 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.

    Article  Google Scholar 

  31. 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.

    Article  Google Scholar 

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

    Article  Google Scholar 

  33. 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.

    Google Scholar 

  34. 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.

    Google Scholar 

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

    Google Scholar 

  36. 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.

    Google Scholar 

  37. L. Mottola and G. P. Picco. Programming wireless sensor networks: Fundamental concepts and state of the art. ACM Computing Surveys (accepted).

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. 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.

    Google Scholar 

  42. 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.

    Google Scholar 

  43. 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.

    Google Scholar 

  44. 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.

    Article  MATH  Google Scholar 

  45. 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.

    Google Scholar 

  46. 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.

  47. Srijan—Graphical WSN application development toolkit. https://gforge.inria.fr/projects/ srijan/.

  48. Sunâ„¢Small Programmable Object Technology (Sun SPOT), www.sunspotworld.com.

  49. 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.

    Google Scholar 

  50. 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.

    Google Scholar 

  51. 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.

  52. 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.

    Google Scholar 

  53. 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.

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Animesh Pathak .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics