Skip to main content
Log in

Mechanizing a Process Algebra for Network Protocols

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

This paper presents the mechanization of a process algebra for Mobile Ad hoc Networks and Wireless Mesh Networks, and the development of a compositional framework for proving invariant properties. Mechanizing the core process algebra in Isabelle/HOL is relatively standard, but its layered structure necessitates special treatment. The control states of reactive processes, such as nodes in a network, are modelled by terms of the process algebra. We propose a technique based on these terms to streamline proofs of inductive invariance. This is not sufficient, however, to state and prove invariants that relate states across multiple processes (entire networks). To this end, we propose a novel compositional technique for lifting global invariants stated at the level of individual nodes to networks of nodes.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Bengtson, J., Parrow, J.: Psi-calculi in Isabelle. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) Theorem Proving in Higher Order Logics (TPHOLs 2009). LNCS, vol. 5674, pp. 99–114. Springer, Berlin (2009)

  2. Bishop, S., Fairbairn, M., Norrish, M., Sewell, P., Smith, M., Wansbrough, K.: Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations. In: Principles of Programming Languages (POPL’06), pp. 55–66. ACM (2006)

  3. Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending Sledgehammer with SMT solvers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) Conference on Automated Deduction (CADE-23). LNCS, vol. 6803, pp. 116–130. Springer, Berlin (2011)

  4. Bourke, T.: Mechanization of the Algebra for Wireless Networks (AWN). Archive of Formal Proofs (2014). http://afp.sf.net/entries/AWN.shtml

  5. Bourke, T., van Glabbeek, R.J., Höfner, P.: A mechanized proof of loop freedom of the (untimed) AODV routing protocol. In: Cassez, F., Raskin, J.F. (eds.) Automated Technology for Verification and Analysis (ATVA’14). LNCS, vol. 8837, pp. 47–63. Springer, Berlin (2014)

  6. Bourke, T., van Glabbeek, R.J., Höfner, P.: Showing invariance compositionally for a process algebra for network protocols. In: Klein, G., Gamboa, R. (eds.) Interactive Theorem Proving (ITP’14). LNCS, vol. 8558, pp. 144–159. Springer, Berlin (2014)

  7. Bourke, T., Höfner, P.: Loop Freedom of the (Untimed) Aodv Routing Protocol. Archive of Formal Proofs (2014). http://afp.sf.net/entries/AODV.shtml

  8. Chandy K.M., Misra J.: Parallel Program Design: A Foundation. Addison Wesley, Boston (1988)

    MATH  Google Scholar 

  9. Chaudhuri, K., Doligez, D., Lamport, L., Merz, S.: Verifying safety properties with the TLA+ proof system. In: Giesl, J., Hähnle, R. (eds.) International Joint Conference on Automated Reasoning (IJCAR’10). LNCS, vol. 6173, pp. 142–148. Springer, Berlin (2010)

  10. Fehnker, A., van Glabbeek, R.J., Höfner, P., McIver, A.K., Portmann, M., Tan, W.L.: A process algebra for wireless mesh networks. In: Seidl, H. (ed.) European Symposium on Programming (ESOP ’12). LNCS, vol. 7211, pp. 295–315. Springer, Berlin (2012)

  11. Fehnker, A., van Glabbeek, R.J., Höfner, P., McIver, A.K., Portmann, M., Tan, W.L.: A process algebra for wireless mesh networks used for modelling, verifying and analysing AODV. Technical Report 5513, NICTA (2013). http://arxiv.org/abs/1312.7645

  12. Feliachi, A., Gaudel, M.C., Wolff, B.: Isabelle/Circus: A process specification and verification environment. In: Joshi, R., Müller, P., Podelski, A. (eds.) Verified Software: Theories, Tools, and Experiments (VSTTE’12) LNCS, vol. 7152, pp. 243–260. Springer, Berlin (2012)

  13. Floyd R.W.: Assigning meanings to programs. Proc. Symp. Appl. Math. 19, 19–32 (1967)

    Article  MathSciNet  MATH  Google Scholar 

  14. Fokkink W., Groote J.F., Reniers M.: Process algebra needs proof methodology. EATCS Bull. 82, 109–125 (2004)

    MathSciNet  MATH  Google Scholar 

  15. Ghassemi, F., Fokkink, W., Movaghar, A.: Restricted broadcast process theory. In: Cerone, A., Gruner, S. (eds.) Software Engineering and Formal Methods (SEFM ’08), pp. 345–354. IEEE Computer Society (2008)

  16. Godskesen, J.C.: A calculus for mobile ad hoc networks. In: Murphy, A.L., Vitek, J. (eds.) Coordination Models and Languages (COORDINATION ’07) LNCS, vol. 4467, pp. 132–150. Springer, Berlin (2007)

  17. Göthel T., Glesner S.: An approach for machine-assisted verification of timed CSP specifications. Innov. Syst. Softw. Eng. 6(3), 181–193 (2010)

    Article  Google Scholar 

  18. Heyd, B., Crégut, P.: A modular coding of UNITY in COQ. In: Goos, G., Hartmanis, J., Leeuwen, J., Wright, J., Grundy, J., Harrison, J. (eds.) Theorem Proving in Higher Order Logics (TPHOLs 1996) LNCS, vol. 1125, pp. 251–266. Springer, Berlin (1996)

  19. Hirschkoff, D.: A full formalisation of π-calculus theory in the calculus of constructions. In: Schneider, K., Brandt, J. (eds.) Theorem Proving in Higher Order Logics (TPHOLs 2007). LNCS, vol. 4732, pp. 153–169. Springer, Berlin (2007)

  20. Kammüller, F., Wenzel, M., Paulson, L.C.: Locales: A sectioning concept for Isabelle. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) Theorem Proving in Higher Order Logics (TPHOLs 1999). LNCS, vol. 1690, pp. 149–165. Springer, Berlin (1999)

  21. Lamport L.: Specifying Systems: The TLA + Language and Tools for Hardware and Software Engineers. Addison Wesley, Boston (2002)

    Google Scholar 

  22. Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Q. 2(3), 219–246 (1989). http://theory.lcs.mit.edu/tds/papers/Lynch/CWI89.html

  23. Manna Z., Pnueli A.: Temporal Verification of Reactive Systems: Safety. Springer, Berlin (1995)

    Book  MATH  Google Scholar 

  24. Merro M.: An observational theory for mobile ad hoc networks (full version). Inf. Comput. 207(2), 194–208 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  25. Mezzetti N., Sangiorgi D.: Towards a calculus for wireless systems. Electron. Notes Theor. Comput. Sci. (ENTCS) 158, 331–353 (2006)

    Article  MATH  Google Scholar 

  26. Milner, R.: Operational and algebraic semantics of concurrent processes. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, chap. 19, pp. 1201–1242. Elsevier Science Publishers B.V. (North-Holland) (1990). Alternatively see Communication and Concurrency, Prentice-Hall, Englewood Cliffs, 1989, of which an earlier version appeared as A Calculus of Communicating Systems. LNCS 92, Springer, 1980

  27. Müller, O.: A Verification Environment for I/O Automata Based on Formalized Meta-theory. Ph.D. Thesis, TU München (1998)

  28. Nanz S., Hankin C.: A framework for security analysis of mobile wireless networks. Theor. Comput. Sci. 367, 203–227 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  29. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Berlin (2002)

  30. Paulson L.C.: The inductive approach to verifying cryptographic protocols. J. Comput. Secur. 6(1–2), 85–128 (1998)

    Google Scholar 

  31. Perkins, C.E., Belding-Royer, E.M., Das, S.R.: Ad hoc On-Demand Distance Vector (AODV) Routing. RFC 3561 (Experimental), Network Working Group (2003)

  32. Plotkin, G.: A structural approach to operational semantics. J. Log. Algebr. Program. 60–61, 17–139 (2004). Originally appeared in 1981

  33. de Roever, W.P., de Boer, F., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge Tracts in Theoretical Computer Science 54. CUP (2001)

  34. Singh A., Ramakrishnan C.R., Smolka S.A.: A process calculus for mobile ad hoc networks. Sci. Comput. Program. 75, 440–469 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  35. Sutcliffe G.: The TPTP problem library and associated infrastructure: the FOF and CNF parts, v3.5.0. J. Autom. Reason. 43(4), 337–362 (2009)

    Article  MATH  Google Scholar 

  36. Tej, H., Wolff, B.: A corrected failure divergence model for CSP in Isabelle/HOL. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) Industrial Applications and Strengthened Foundations of Formal Methods (FME’97). LNCS, vol. 1313, pp. 318–337. Springer, Berlin (1997)

  37. Wenzel, M.: Isabelle/jEdit—a prover IDE within the PIDE framework. In: Jeuring, J., Campbell, J.A., Carette, J., Dos Reis, G., Sojka, P., Wenzel, M., Sorge, V. (eds.) Intelligent Computer Mathematics. LNCS, vol. 7362, pp. 468–471. Springer, Berlin (2012)

  38. Wenzel, M.: Shared-memory multiprocessing for interactive theorem proving. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) Interactive Theorem Proving (ITP’13). LNCS, vol. 7998, pp. 418–434. Springer, Berlin (2013)

  39. Zhou, M., Yang, H., Zhang, X., Wang, J.: The proof of AODV loop freedom. In: International Conference on Wireless Communications and Signal Processing (WCSP’09). IEEE (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timothy Bourke.

Additional information

NICTA is funded by the Australian Government through the Department of Communications and the Australian Research Council through the ICT Centre of Excellence Program.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bourke, T., van Glabbeek, R.J. & Höfner, P. Mechanizing a Process Algebra for Network Protocols. J Autom Reasoning 56, 309–341 (2016). https://doi.org/10.1007/s10817-015-9358-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-015-9358-9

Keywords

Navigation