Formal Aspects of Computing

, Volume 26, Issue 4, pp 677–694 | Cite as

Formal verification of a pervasive messaging system

  • Savas KonurEmail author
  • Michael Fisher
  • Simon Dobson
  • Stephen Knox
Original Article


As ubiquitous computing becomes a reality, its applications are increasingly being used in business-critical, mission-critical and even in safety-critical, areas. Such systems must demonstrate an assured level of correctness. One approach to the exhaustive analysis of the behaviour of systems is formal verification, whereby each important requirement is logically assessed against all possible system behaviours. While formal verification is often used in safety analysis, it has rarely been used in the analysis of deployed pervasive applications. Without such formality it is difficult to establish that the system will exhibit the correct behaviours in response to its inputs and environment. In this paper, we show how model-checking techniques can be applied to analyse the probabilistic behaviour of pervasive systems. As a case study we apply this technique to an existing pervasive message-forwarding system, Scatterbox. Scatterbox incorporates many typical characteristics of pervasive systems, such as dependence on sensor reliability and dependence on context. We assess the dynamic temporal behaviour of the system, including the analysis of probabilistic elements, allowing us to verify formal requirements even in the presence of uncertainty in sensors. We also draw some tentative conclusions concerning the use of formal verification for pervasive computing in general.


Formal specification Pervasive systems Probabilistic verification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. ACD+09.
    Arapinis M, Calder M, Denis L, Fisher M, Gray P, Konur S, Miller A, Ritter E, Ryan M, Schewe S, Unsworth C, Yasmin R (2009) Towards the verification of pervasive systems. In: 3rd international workshop on formal methods for interactive systems (FMIS), Vol 22. Electronic Communications of the EASSTGoogle Scholar
  2. AD94.
    Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235CrossRefzbMATHMathSciNetGoogle Scholar
  3. BBD+06.
    Birkedal L, Bundgaard M, Damgaard TC, Debois S, Elsborg E, Glenstrup AJ, Hildebr T, Milner R, Niss H (2006) Bigraphical programming languages for pervasive computing. In: International workshop on combining theory and systems building in pervasive computingGoogle Scholar
  4. BCC+12.
    Bakhouya M, Campbell R, Coronato A, de Pietro G, Ranganathan A (2012) Introduction to special section on formal methods in pervasive computing. ACM Trans Auton Adapt Syst 7(1): 6–169CrossRefGoogle Scholar
  5. BDM+98.
    Bozga M, Daws C, Maler O, Olivero A, Tripakis S, Yovine S (1998) Kronos: a model-checking tool for real-time systems. In: CAV ’98 Proceedings of the 10th international conference on computer aided verification. Springer, Berlin, pp 546–550Google Scholar
  6. BK08.
    Baier C, Katoen J-P (2008) Principles of model checking. MIT Press, CambridgezbMATHGoogle Scholar
  7. BLL+95.
    Bengtsson J, Larsen KG, Larsson F, Pettersson P, Yi W (1995) Uppaal—a tool suite for automatic verification of real–time systems. In: Proceedings of workshop on verification and control of hybrid systems III(1066). Lecture Notes in Computer Science, pp 232–243. Springer, BerlinGoogle Scholar
  8. BZ13.
    Boytsov A, Zaslavsky A (2013) Formal verification of context and situation models in pervasive computing. Pervasive Mob Comput 9(1): 98–117CrossRefGoogle Scholar
  9. CCGR99.
    Cimatti A, Clarke E, Giunchiglia F, Roveri M (1999) Nusmv: a new symbolic model verifier. In: Proceedings of international conference on computer-aided verification (CAV’99), pp 495–499Google Scholar
  10. CDP11.
    Coronato A, De Pietro G (2011) Formal specification and verification of ubiquitous and pervasive systems. ACM Trans Autonom Adap Syst 6(1):9Google Scholar
  11. CFJ03.
    Chen H, Finin T, Joshi A (2003) An ontology for context-aware pervasive computing environments. Knowl Eng Rev 18(3): 197–207CrossRefGoogle Scholar
  12. CGP99.
    Clarke EM, Grumberg O, Peled D (1999) Model checking. MIT Press, CambridgeGoogle Scholar
  13. CGU09.
    Calder M, Gray P, Unsworth C (2009) Tightly coupled verification of pervasive systems. In: 3rd international workshop on formal methods for interactive systems (FMIS), Vol 22. Electronic Communications of the EASSTGoogle Scholar
  14. CSRR09.
    Cubo J, Sama M, Raimondi F, Rosenblum D (2009) A model to design and verify context-aware adaptive service composition. In Proceedings of the IEEE International Conference on Services Computing (SCC). pp 184–191Google Scholar
  15. DN05.
    Dobson SA, Nixon P (2005) More principled design of pervasive computing systems. In: Bastide R, Palanque PA, Roth J (eds) Proceedings of the joint working conferences on engineering human computer interaction and interactive systems (EHCI-DSVIS), vol 3425 of LNCS, pp 292–305. Springer, BerlinGoogle Scholar
  16. DSNH10.
    Dobson S, Sterritt R, Nixon P, Hinchey M (2010) Fulfilling the vision of autonomic computing. IEEE Comput 43(01): 35–41CrossRefGoogle Scholar
  17. HI04.
    Henricksen K, Indulska J (2004) A software engineering framework for context-aware pervasive computing. In: Proceedings 2nd IEEE conference on pervasive computing and communications. pp 77–86Google Scholar
  18. HJ94.
    Hansson H., Jonsson B (1994) A logic for reasoning about time and reliability. Formal Asp Comput 6: 102–111CrossRefGoogle Scholar
  19. HKNP06.
    Hinton A, Kwiatkowska M, Norman G, Parker D (2006) PRISM: a tool for automatic verification of probabilistic systems. In Proceedings of the TACAS, vol 3920 of LNCS, pp 441–444. Springer, BerlinGoogle Scholar
  20. Hol03.
    Holzmann GJ (2003) The spin model checker. Addison-Wesley, ReadingGoogle Scholar
  21. JKO+07.
    Jansen DN, Katoen J-P, Oldenkamp M, Stoelinga M, Zapreev IS (2007) How fast and fat is your probabilistic model checker? An experimental performance comparison. In: Haifa verification conference. pp 69–85Google Scholar
  22. KDF12.
    Konur S, Dixon C, Fisher M (2012) Analysing robot swarm behaviour via probabilistic model checking. Robot Auton Syst 60(2): 199–213CrossRefGoogle Scholar
  23. KKZ05.
    Katoen J-P, Khattri M, Zapreev IS (2005) A Markov Reward model checker. In: QEST. pp 243–244Google Scholar
  24. KNP08.
    Kwiatkowska MZ, Norman G, Parker D (2008) Using probabilistic model checking in systems biology. SIGMETRICS Perform Eval Rev 35(4): 14–21CrossRefGoogle Scholar
  25. KNPS06.
    Kwiatkowska M, Norman G, Parker D, Sproston J (2006) Performance analysis of probabilistic timed automata using digital clocks. Form Methods Syst Des 29(1): 33–78CrossRefzbMATHGoogle Scholar
  26. KNSS02.
    Kwiatkowska M, Norman G, Segala R, Sproston J (2002) Automatic verification of real-time systems with discrete probability distributions. Theor Comput Sci 282(1): 101–150CrossRefzbMATHMathSciNetGoogle Scholar
  27. KSC+08.
    Knox S, Shannon R, Coyle L, Clear A, Dobson S, Quigley A, Nixon P (2008) Scatterbox: context-aware message management. Rev Intell Artif 22(5): 549–568Google Scholar
  28. KZH+11.
    Katoen J-P, Zapreev IS, Hahn EM, Hermanns H, Jansen DN (2011) The ins and outs of the probabilistic model checker MRMC. Perform Eval 68(2): 90–104CrossRefGoogle Scholar
  29. LZD+12.
    Liu Y, Zhang X, Dong JS, Liu Y, Sun J, Biswas J, Mokhtari M (2012) Formal analysis of pervasive computing systems. IEEE Int Conf Eng Complex Comput Syst 0:169–178Google Scholar
  30. Pri11.
  31. RC08.
    Ranganathan A, Campbell RH (2008) Provably correct pervasive computing environments. IEEE Int Conf Pervasive Comput Commun 0:160–169Google Scholar
  32. SB05.
    Sheng QZ, Benatallah B (2005) Contextuml: a UML-based modeling language for model-driven development of context-aware web services. In: Proceedings of the International Conference on Mobile Business (ICMB’05) pp 206–212. IEEE Computer Society PressGoogle Scholar
  33. Sim07.
    Simons C (2007) CMP: a UML context modeling profile for mobile distributed systems. In: Proceedings of the 40th Hawaii International Conference on System Sciences, p 289. IEEE Computer Society PressGoogle Scholar
  34. SLS+11.
    Sun J, Liu Y, Song S, Dong JS, Li X (2011) PRTS: an approach for model checking probabilistic real-time hierarchical systems. In ICFEM. pp 147–162Google Scholar
  35. SVA05.
    Sen K, Viswanathan M, Agha G (2005) On statistical model checking of stochastic systems. In: CAV. pp 266–280Google Scholar
  36. WBB06.
    Weis T, Becker C, Brändle E (2006) Towards a programming paradigm for pervasive applications based on the ambient calculus. In: International workshop on combining theory and systems building in pervasive computingGoogle Scholar
  37. WPBF02.
    Want R, Pering T, Borriello G, Farkas KI (2002) Disappearing hardware. Pervasive Comput, IEEE 1(1): 36–47CrossRefGoogle Scholar
  38. WZGP04.
    Wang XH, Zhang DQ, Gu T, Pung HK (2004) Ontology-based context modeling and reasoning using OWL. In: Context modeling and reasoning workshop at PerCom 04. pp 18–22Google Scholar
  39. You05.
    Younes HLS (2005) Ymer: a statistical model checker. In: CAV. pp 429–433Google Scholar

Copyright information

© British Computer Society 2013

Authors and Affiliations

  • Savas Konur
    • 1
    Email author
  • Michael Fisher
    • 1
  • Simon Dobson
    • 2
  • Stephen Knox
    • 3
  1. 1.Department of Computer ScienceUniversity of LiverpoolLiverpoolUK
  2. 2.School of Computer ScienceUniversity of St AndrewsSt AndrewsUK
  3. 3.School of Computer Science and InformaticsUCD DublinDublinIreland

Personalised recommendations