Programming Paradigms and Stream Processing for WSN

  • José Cecílio
  • Pedro Furtado
Part of the Computer Communications and Networks book series (CCN)


Ease of programming, deployment and use have been identified by the wireless sensor networks (WSNs) research community as important developments for increasing the awareness and real deployments of WSNs in practical contexts. Platform-level programming abstractions are often the languages of choice. However, declarative streamlike languages are much simpler to use than most other approaches. They are also more inflexible and non-customizable, since they embed everything, from tree-collection routing logic to how the data is to be processed, within the engine itself. In this chapter, we discuss and review programming paradigms for wireless sensor networks and for heterogeneous sensor networks in general. Techniques such as stream and database-style declarative SQL-like queries are reviewed.


  1. 1.
    Gay D, Levis P, Von Behren R, Welsh M, Brewer E, Culler D (2003) The nesC language: a holistic approach to networked embedded systems. ACM SIGPLAN Not 38(5):1–11CrossRefGoogle Scholar
  2. 2.
    Dunkels A, Gronvall B, Voigt T (2004) Contiki – a lightweight and flexible operating system for tiny networked sensors. In: Proceedings of the 29th annual IEEE international conference on local computer networks. IEEE Computer Society, Los Alamitos, pp 455–462CrossRefGoogle Scholar
  3. 3.
    Fortino G, Guerrieri A, O’Hare GMP, Ruzzelli A (2012) A flexible building management framework based on wireless sensor and actuator networks. J Netw Comput Appl 35(6):1934–1952CrossRefGoogle Scholar
  4. 4.
    Madden SR, Franklin MJ, Hellerstein JM, Hong W (2005) TinyDB: an acquisitional query processing system for sensor networks. ACM Trans Database Syst 30(1):122–173CrossRefGoogle Scholar
  5. 5.
    Gummadi R, Gnawali O (2005) Macro-programming wireless sensor networks using Kairos. In: Prasanna V, Iyengar S, Spirakis P, Welsh M (eds) Distributed computing in sensor systems. Springer, Berlin/Heidelberg, p 466Google Scholar
  6. 6.
    Mottola L, Pietro Picco G (2006) Programming wireless sensor networks with logical neighborhoods. In: SenSys 07: proceedings of the 5th international conference on embedded networked sensor systems. ACM, New York, p 8Google Scholar
  7. 7.
    Bakshi A, Prasanna VK, Reich J, Larner D (2005) The abstract task graph: a methodology for architecture-independent programming of networked sensor systems. In: Proceedings of the 2005 workshop on end-to-end sense-and-respond systems applications and services (EESR 05), Berkeley, pp 19–24Google Scholar
  8. 8.
    Newton R, Morrisett G, Welsh M (2007) The regiment macroprogramming system. In: Proceedings of the 2007 6th international symposium on information processing in sensor networks. ACM, New YorkGoogle Scholar
  9. 9.
    Liu J, Chu M, Reich J, Zhao F (2003) State-centric programming for sensor-actuator network systems. IEEE Pervasive Comput 2(4):50–62CrossRefGoogle Scholar
  10. 10.
    Welsh M, Mainland G (2004) Programming sensor networks using abstract regions. In: USENIX, Berkeley, p 3Google Scholar
  11. 11.
    Gummadi R, Millstein T, Govindan R, Kothari N (2007) Reliable and efficient programming abstractions for wireless sensor networks. ACM SIGPLAN Not 42(6):200CrossRefGoogle Scholar
  12. 12.
    Yao Y, Gehrke J (2002) The cougar approach to in-network query processing in sensor networks. ACM SIGMOD Rec 31(3):9CrossRefGoogle Scholar
  13. 13.
    Bestavros A, Bradley AD, Kfoury AJ, Ocean MJ (2005) SNBENCH: a development and run-time platform for rapid deployment of sensor network applications. In: Proceedings of the 2nd international conference on broadband networks, 2005. IEEE, PiscatawayGoogle Scholar
  14. 14.
    Mainland G, Welsh M, Morrisett G (2006) Flask: a language for data-driven sensor network programs. Technical report TR-13-06, CambridgeGoogle Scholar
  15. 15.
    Li S, Son S, Stankovic J (2003) Event detection services using data service middleware in distributed sensor networks. In: Proceedings of 2nd international workshop on information processing in sensor networks. ACM, New YorkGoogle Scholar
  16. 16.
    Carney D, Cetintemel U, Tatbul N, Stonebraker M, Abadi DJ, Zdonik S, Convey C, Lee S, Cherniack M (2003) Aurora: a new model and architecture for data stream management. VLDB J Int J Very Larg Database 12(2):120–139Google Scholar
  17. 17.
    Motwani R, Widom J, Arasu A, Babcock B, Babu S, Datar M, Manku G, Olston C, Rosenstein J, Varma R (2002) Query processing, resource management, and approximation in a data stream management system. Stanford InfoLabGoogle Scholar
  18. 18.
    Chandrasekaran S, Cooper O, Deshpande A, Franklin MJ, Hellerstein JM, Hong W, Krishnamurthy S, Madden S, Raman V, Reiss F, Shah M (2003) TelegraphCQ: continuous dataflow processing for an uncertain world. In: Proceedings of the first biennial conference innovative data systems research (CIDR), vol 20, p 668Google Scholar
  19. 19.
    Babu S, Widom J, Arasu A (2006) The CQL continuous query language: semantic foundations and query execution. VLDB J 15(2):121–142CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • José Cecílio
    • 1
  • Pedro Furtado
    • 1
  1. 1.University of CoimbraCoimbraPortugal

Personalised recommendations