Abstract
We present design concepts, programming constructs, and automatic verification techniques to support the development of adaptive Wireless Sensor Network (WSN) software. WSNs operate at the interface between the physical world and the computing machine and are hence exposed to unpredictable environment dynamics. WSN software must adapt to these dynamics to maintain dependable and efficient operation. However, developers are left without proper support to develop adaptive functionality in WSN software. Our work fills this gap with three key contributions: (i) design concepts help developers organize the necessary adaptive functionality and understand their relations, (ii) dedicated programming constructs simplify the implementations, (iii) custom verification techniques allow developers to check the correctness of their design before deployment. We implement dedicated tool support to tie the three contributions, facilitating their practical application. Our evaluation considers representative WSN applications to analyze code metrics, synthetic simulations, and cycle-accurate emulation of popular WSN platforms. The results indicate that our work is effective in simplifying the development of adaptive WSN software; for example, implementations are provably easier to test and to maintain, the run-time overhead of our dedicated programming constructs is negligible, and our verification techniques return results in a matter of seconds.
- G. Abowd, A. Dey, P. Brown, N. Davies, M. Smith, and P. Steggles. 1999. Towards a better understanding of context and context-awareness. In Proceedings of the International Symposium on Handheld and Ubiquitous Computing. Google Scholar
Digital Library
- T. Ball and S. K. Rajamani. 2002. The SLAM project: Debugging system software via static analysis. In Proceedings of the ACM Symposium on Principles of Programming Languages (POPL’02). Google Scholar
Digital Library
- J. E. Bardram. 2005. The java context awareness framework (JCAF) -- A service infrastructure and programming framework for context-aware applications. In Proceedings of the International Conference on Pervasive Computing (PERVASIVE’05). Google Scholar
Digital Library
- D. Beyer, T. A. Henzinger, R. Jhala, and R. Majumdar. 2007. The software model checker blast: Applications to software engineering. Int. J. Softw. Tools Technol. Transf. 9, 5--6 (2007), 505--525. Google Scholar
Digital Library
- N. A. Bhatti, M. H. Alizai, A. A. Syed, and L. Mottola. 2016. Energy harvesting and wireless transfer in sensor network applications: Concepts and experiences. ACM Trans. Wireless Sensor Networks (TOSN) 12, 3 (2016), 24:1--24:40. Google Scholar
Digital Library
- T. Bourdenas, D. Wood, P. Zerfos, F. Bergamaschi, and M. Sloman. 2011. Self-adaptive routing in multi-hop sensor networks. In Proceedings of the International Conference on Network and Service Management (CNSM’11). Google Scholar
Digital Library
- D. Bucur and M. Kwiatkowska. 2009. Bug-free sensors: The automatic verification of context-aware tinyos applications. In Proceedings of the Conference on Ambient Intelligence (AmI’09). Google Scholar
Digital Library
- B. Cheng and others. 2009. Software Engineering for Self-Adaptive Systems: A Research Roadmap. Springer, 1--26. Google Scholar
Digital Library
- E. Clarke, O. Grumberg, and D. Peled. 1999. Model Checking. MIT press. Google Scholar
Digital Library
- E. Clarke, D. Kroening, and F. Lerda. 2004. A tool for checking ANSI-C programs. In Tools and Algorithms for the Construction and Analysis of Systems. Springer, 168--176.Google Scholar
- E. Clarke, D. Kroening, N. Sharygina, and K. Yorav. 2005. SATABS: SAT-based predicate abstraction for ANSI-C. In Proceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’05). Google Scholar
Digital Library
- E. M. Clarke, E. A. Emerson, and A. P. Sistla. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8, 2 (1986), 244--263. Google Scholar
Digital Library
- J. Coutaz, J. Crowley, S. Dobson, and D. Garlan. 2005. Context is key. Commun. ACM 48, 3 (2005), 49--53. Google Scholar
Digital Library
- A. Dey. 2001. Understanding and using context. Personal. Ubiq. Comput. 5, 1 (2001), 4--7. Google Scholar
Digital Library
- J.-P. Diguet, Y. Eustache, and G. Gogniat. 2011. Closed-loop-based self-adaptive hardware/software-embedded systems: Design methodology and smart cam case study. ACM Trans. Embedded Comput. Syst. (TECS) 10, 3 (2011), Article No. 38. Google Scholar
Digital Library
- A. Dunkels, B. Gronvall, and T. Voigt. 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. Google Scholar
Digital Library
- J. Eriksson, F. Oesterlind, N. Finne, N. Tsiftes, A. Dunkels, T. Voigt, R. Sauter, and P. J. Marroon. 2009. COOJA/MSPSim: Interoperability testing for wireless sensor networks. In Proceedings of the Simutools. Google Scholar
Digital Library
- F. Ferrari, M. Zimmerling, L. Mottola, and L. Thiele. 2012. Low-power wireless bus. In Proceedings of the ACM Conference on Embedded Network Sensor Systems (SenSys’12). Google Scholar
Digital Library
- R. Filman, T. Elrad, S. Clarke, and M.ehmet Akşit. 2004. Aspect-oriented Software Development. Addison-Wesley Professional. Google Scholar
Digital Library
- N. Finne, J. Eriksson, N. Tsiftes, A. Dunkels, and T. Voigt. 2010. Improving sensornet performance by separating system configuration from system logic. In Proceedings of the International Conference on Embedded Wireless Systems and Networks (EWSN’10). Google Scholar
Digital Library
- F. Fleurey, B. Morin, and A. Solberg. 2011. A model-driven approach to develop adaptive firmwares. In Proceedings of the 6th SEAMS. Google Scholar
Digital Library
- H. Fotouhi, M. Zuniga, M. Alves, A. Koubaa, and P. Marron. 2012. Smart-HOP: A reliable handoff mechanism for mobile wireless sensor networks. In Proceedings of the International Conference on Embedded Wireless Systems and Networks (EWSN’12). Google Scholar
Digital Library
- E. Gaura, L. Girod, J. Brusey, M. Allen, and G. Challen. 2010. Wireless Sensor Networks: Deployments and Design Frameworks. Springer Science 8 Business Media. Google Scholar
Digital Library
- D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. 2003. nesC language: A holistic approach to networked embedded systems. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI’03). Google Scholar
Digital Library
- O. Gnawali, R Fonseca, K. Jamieson, D. Moss, and P. Levis. 2009. Collection tree protocol. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SENSYS’09). Google Scholar
Digital Library
- Grevecom 2017. GrEVeCOM: Software Adaptation in Wireless Sensor Networks. Retrieved from bitbucket.org/neslabpolimi/conesc/wiki/.Google Scholar
- F. Gustafsson. 2010. Statistical Sensor Fusion. Springer.Google Scholar
- R. Hirschfeld, P. Costanza, and O. Nierstrasz. 2008. Context-oriented programming. J. Object Technol. 7, 3 (2008), 125--151.Google Scholar
Cross Ref
- K. Iwanicki, P. Horban, P. Glazar, and K. Strzelecki. 2014. Bringing modern unit testing techniques to sensornets. ACM Trans. Sen. Netw. 11, 2 (2014), Article No. 25. Google Scholar
Digital Library
- M. Jackson. 1995. The world and the machine. In Proceedings of the International Conference on Software Engineering (ICSE’95). Google Scholar
Digital Library
- JavaCC 2016. JavaCC - The Java Compiler Compiler. Retrieved from javacc.java.net.Google Scholar
- T. Kamina, T. Aotani, and H. Masuhara. 2011. EventCJ: A context-oriented programming language with declarative event-based context transition. In Proceedings of the International Conference on Aspect-Oriented Software Development (AOSD’11). Google Scholar
Digital Library
- S. Kang, J. Kee, H. Jang, Y. Lee, S. Park, and J. Song. 2008. SeeMon: Scalable and energy-efficient context monitoring framework for sensor-rich mobile environments. In Proceedings of the 6th International Conference on Mobile Systems, Applications, and Services (MOBISYS’08). Google Scholar
Digital Library
- R. Keays and A. Rakotonirainy. 2003. Context-oriented programming. In Proceedings of the ACM International Workshop on Data Engineering for Wireless and Mobile Access (MobiDe’03). Google Scholar
Digital Library
- N. Kern, B. Schiele, and A. Schmidt. 2003. Multi-sensor activity context detection for wearable computing. In Proceedings of the European Symposium on Ambient Intelligence.Google Scholar
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. 1997. Aspect-oriented programming. Proceedings of the European Conference on Object-oriented Programming (ECOOP’97).Google Scholar
- J. Ko, C. Lu, M. B. Srivastava, J. A. Stankovic, A. Terzis, and M. Welsh. 2010. Wireless sensor networks for healthcare. Proc. IEEE (2010).Google Scholar
- P. Koopman. 2010. Better Embedded System Software. Carnagie Mellon Press.Google Scholar
- P. Li and J. Regehr. 2010. T-check: Bug finding for sensor networks. In Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’10). Google Scholar
Digital Library
- C. Magerkurth, A. D. Cheok, R. L. Mandryk, and T. Nilsen. 2005. Pervasive games: Bringing computer entertainment back to the real world. Comput. Entertain. 3, 3 (2005), 4--4. Google Scholar
Digital Library
- G. Mainland, G. Morrisett, and M. Welsh. 2008. Flask: Staged functional programming for sensor networks. In Proceedings of the International Conference on Functional Programming (ICFP’08). Google Scholar
Digital Library
- F. Mattern, T. Staake, and M. Weiss. 2010. ICT for green: How computers can help us to conserve energy. In Proceedings of the International Conference on Energy-Efficient Computing and Networking (ICEECN’10). Google Scholar
Digital Library
- L. Mottola, A. L. Murphy, and G. P. Picco. 2006. Pervasive games in a mote-enabled virtual world using tuple space middleware. In Proceedings of the ACM Conference on NETGAMES. Google Scholar
Digital Library
- L. Mottola and G. P. Picco. 2011. Programming wireless sensor networks: Fundamental concepts and state of the art. ACM Comp. Surveys 43, 3 (2011), Article No. 19. Google Scholar
Digital Library
- L. Mottola, T. Voigt, F. Österlind, J. Eriksson, L. Baresi, and C. Ghezzi. 2010. Anquiro: Enabling efficient static verification of sensor network software. In Proceedings of the International Conference on Software Engineering (ICSE/SENSEA’10). Google Scholar
Digital Library
- R. Newton, G. Morrisett, and M. Welsh. 2007. The regiment macroprogramming system. In Proceedings of the Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’07). Google Scholar
Digital Library
- NuSMV 2017. NuSMV: A New Symbolic Model Checker. Retrieved from nusmv.fbk.eu.Google Scholar
- R. Olfati-Saber. 2007. Distributed kalman filtering for sensor networks. In Proceedings of the IEEE Conference on Decision and Control. IEEE.Google Scholar
Cross Ref
- B. Pásztor, L. Mottola, C. Mascolo, G. P. Picco, S. Ellwood, and D. Macdonald. 2010. Selective reprogramming of mobile sensor networks through social community detection. In Proceedings of the International Conference on Embedded Wireless Systems and Networks (EWSN’10).Google Scholar
- G. P. Picco. 2010. Software engineering and wireless sensor networks: Happy Marriage or Consensual Divorce? In Proceedings of the International Symposium on Foundations of Software Engineering (FSE/SDP FOSER’10). Google Scholar
Digital Library
- J. Polastre, R. Szewczyk, and D. Culler. 2005. Telos: Enabling ultra-low power wireless research. In Proceedings of the Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’05). Google Scholar
Digital Library
- K. Romer and Junyan Ma. 2009. PDA: Passive distributed assertions for sensor networks. In Proceedings of the Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’09). Google Scholar
Digital Library
- G. Salvaneschi, C. Ghezzi, and M. Pradella. 2012. Context-oriented programming: A software engineering perspective. J. Syst. Softw. 85, 8 (2012), 1801--1817. Google Scholar
Digital Library
- G. Salvaneschi, C. Ghezzi, and M. Pradella. 2013. Towards language-level support for self-adaptive software. ACM Trans. Auton. Adapt. Syst. 8, 2 (2013), Article No. 7. Google Scholar
Digital Library
- R. Sasnauskas, O. Landsiedel, M. Hamad Alizai, C. Weise, S. Kowalewski, and K. Wehrle. 2010. KleeNet: Discovering insidious interaction bugs in wireless sensor networks before deployment. In Proceedings of the Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’10). Google Scholar
Digital Library
- B. Schilit, N. Adams, and R. Want. 1994. Context-aware computing applications. In Proceedings of the 1st Workshop on Mobile Computing Systems and Applications (WMCSA’94). Google Scholar
Digital Library
- A. Schmidt, M. Beigl, and H.-W. Gellersen. 1999. There is more to context than location. Comput. Graphics 23, 6 (1999), 893--901.Google Scholar
Cross Ref
- S. Sehic, F. Li, and S. Dustdar. 2011. COPAL-ML: A macro language for rapid development of context-aware applications in wireless sensor networks. In Proceedings of the Workshop on Software Engineering for Sensor Network Applications (SESENA’11). Google Scholar
Digital Library
- W. Stevens and E. N. Yourdon. 1979. Classics in software engineering. Chapter Structured Design. Google Scholar
Digital Library
- L. Subramanian and R. H. Katz. 2000. An architecture for building self-configurable systems. In Proceedings of the International Symposium on Mobile Ad Hoc Networking and Computing (MobiHOC’00). Google Scholar
Digital Library
- TinyOS 2016. TinyOS 2.1.2. Retrieved from www.tinyos.net.Google Scholar
- E. Visser. 2002. Meta-programming with concrete object syntax. In Proceedings of the International Conference on Generative Programming and Component Engineering. Google Scholar
Digital Library
- A. D. Wood, J. A. Stankovic, G. Virone, L. Selavo, Z. He, Q. Cao, T. Doan, Y. Wu, L. Fang, and R. Stoleru. 2008. Context-aware wireless sensor networks for assisted living and residential monitoring. IEEE Netw. 22, 4 (2008), 26--33. Google Scholar
Digital Library
- H. Wu, M. Siegel, R. Stiefelhagen, and J. Yang. 2002. Sensor fusion using Dempster-Shafer theory {for context-aware HCI}. In Proceedings of the IEEE Instrumentation and Measurement Technology Conference.Google Scholar
- M. Zimmerling, F. Ferrari, L. Mottola, T. Voigt, and L. Thiele. 2012. pTunes: Runtime parameter adaptation for low-power MAC protocols. In Proceedings of the Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN’12). Google Scholar
Digital Library
Index Terms
Software Adaptation in Wireless Sensor Networks
Recommendations
Partitioning Sensors by Node Coverage Grouping in Wireless Sensor Networks
ISPA '10: Proceedings of the International Symposium on Parallel and Distributed Processing with ApplicationsThe study of wireless Sensor Networks (WSN)recently has drawn a lot of attention. Such networks are composed of a large number of tiny wireless sensors, which have limited calculating capability as well as limited power typically supplied by ...
Relay Node Placement in Wireless Sensor Networks
A wireless sensor network consists of many low-cost, low-power sensor nodes, which can perform sensing, simple computation, and transmission of sensed information. Long distance transmission by sensor nodes is not energy efficient since energy ...
Sensor scheduling for p-percent coverage in wireless sensor networks
We study sensor scheduling problems of p-percent coverage in this paper and propose two scheduling algorithms to prolong network lifetime due to the fact that for some applications full coverage is not necessary and different subareas of the monitored ...






Comments