Mechanizing a Process Algebra for Network Protocols

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.

[1]  Timothy Bourke,et al.  A Mechanized Proof of Loop Freedom of the (Untimed) AODV Routing Protocol , 2014, ATVA.

[2]  Sabine Glesner,et al.  An approach for machine-assisted verification of Timed CSP specifications , 2010, Innovations in Systems and Software Engineering.

[3]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[4]  Ming Zhou,et al.  The proof of AODV loop freedom , 2009, 2009 International Conference on Wireless Communications & Signal Processing.

[5]  Timothy Bourke,et al.  Loop freedom of the (untimed) AODV routing protocol , 2014, Arch. Formal Proofs.

[6]  Chris Hankin,et al.  A framework for security analysis of mobile wireless networks , 2006, Theor. Comput. Sci..

[7]  Massimo Merro,et al.  An Observational Theory for Mobile Ad Hoc Networks (full version) , 2009, Inf. Comput..

[8]  Stephan Merz,et al.  Verifying Safety Properties with the TLA+ Proof System , 2010, IJCAR.

[9]  Timothy Bourke,et al.  Showing Invariance Compositionally for a Process Algebra for Network Protocols , 2014, ITP.

[10]  Geoff Sutcliffe The TPTP Problem Library and Associated Infrastructure , 2017, Journal of Automated Reasoning.

[11]  Geoff Sutcliffe The TPTP Problem Library and Associated Infrastructure , 2009, Journal of Automated Reasoning.

[12]  Olaf Müller,et al.  A verification environment for I-O-automata based on formalized meta-theory , 1998 .

[13]  Charles E. Perkins,et al.  Ad hoc On-Demand Distance Vector (AODV) Routing , 2001, RFC.

[14]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[15]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[16]  Markus Wenzel Shared-Memory Multiprocessing for Interactive Theorem Proving , 2013, ITP.

[17]  Robin Milner,et al.  Operational and Algebraic Semantics of Concurrent Processes , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[18]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[19]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[20]  Joachim Parrow,et al.  Psi-Calculi in Isabelle , 2009, Journal of Automated Reasoning.

[21]  Davide Sangiorgi,et al.  Towards a Calculus For Wireless Systems , 2006, MFPS.

[22]  C. R. Ramakrishnan,et al.  A process calculus for Mobile Ad Hoc Networks , 2008, Sci. Comput. Program..

[23]  Burkhart Wolff,et al.  Isabelle/Circus: A Process Specification and Verification Environment , 2012, VSTTE.

[24]  Daniel Hirschkoff A Full Formalisation of pi-Calculus Theory in the Calculus of Constructions , 1997, TPHOLs.

[25]  Lawrence C. Paulson,et al.  Extending Sledgehammer with SMT Solvers , 2011, Journal of Automated Reasoning.

[26]  Jozef Hooman,et al.  Concurrency Verification: Introduction to Compositional and Noncompositional Methods , 2001, Cambridge Tracts in Theoretical Computer Science.

[27]  Jan Friso Groote,et al.  Process Algebra Needs Proof Methodology (Columns: Concurrency) , 2004, Bull. EATCS.

[28]  Timothy Bourke Mechanization of the Algebra for Wireless Networks (AWN) , 2014, Arch. Formal Proofs.

[29]  Markus Wenzel Isabelle/jEdit - A Prover IDE within the PIDE Framework , 2012, AISC/MKM/Calculemus.

[30]  Burkhart Wolff,et al.  A Corrected Failure Divergence Model for CSP in Isabelle/HOL , 1997, FME.

[31]  Annabelle McIver,et al.  A Process Algebra for Wireless Mesh Networks used for Modelling, Verifying and Analysing AODV , 2013, ArXiv.

[32]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[33]  Jens Chr. Godskesen A Calculus for Mobile Ad Hoc Networks , 2007, COORDINATION.

[34]  Florian Kammüller,et al.  Locales - A Sectioning Concept for Isabelle , 1999, TPHOLs.

[35]  Jan Friso Groote,et al.  Process algebra needs proof methodology , 2004 .

[36]  Annabelle McIver,et al.  A Process Algebra for Wireless Mesh Networks , 2012, ESOP.

[37]  Barbara Heyd,et al.  A Modular Coding of UNITY in COQ , 1996, TPHOLs.

[38]  Lawrence C. Paulson,et al.  The Inductive Approach to Verifying Cryptographic Protocols , 2021, J. Comput. Secur..

[39]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[40]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[41]  Michael Norrish,et al.  Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations , 2006, POPL '06.

[42]  Fatemeh Ghassemi,et al.  Restricted Broadcast Process Theory , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.