Process Algebra and Model Checking

Process algebras such as CCS, CSP and ACP are abstract notations for describing concurrent systems that interact via (usually) handshake-based communication. They lead to natural concepts of process state and are therefore natural candidates for model checking. We survey the area of process algebra and model checking, focusing on these three process algebras. We first introduce the syntax and semantics of these process algebras, before looking at the algorithmic basis for their model checking, which includes ideas such as bisimulation and refinement as well as the logics used to describe system-correctness properties. Finally, we introduce the process-alebra-based model-checking tools FDR, CWB and XMC, illustrating their utility by a number of case studies.

[1]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[2]  Ranko S. Lazic,et al.  A semantic study of data independence with applications to model checking , 1999 .

[3]  A. W. Roscoe,et al.  FDR3 - A Modern Refinement Checker for CSP , 2014, TACAS.

[4]  Rance Cleaveland,et al.  Testing equivalence as a bisimulation equivalence , 1989, Formal Aspects of Computing.

[5]  A. W. Roscoe Understanding Concurrent Systems , 2010, Texts in Computer Science.

[6]  Jan A. Bergstra,et al.  Axiomatizing Probabilistic Processes: ACP with Generative Probabilities , 1995, Inf. Comput..

[7]  Scott A. Smolka,et al.  Partial-Order Reduction in the Weak Modal Mu-Calculus , 1997, CONCUR.

[8]  Jan Peleska,et al.  Applied Formal Methods - From CSP to Executable Hybrid Specifications , 2004, 25 Years Communicating Sequential Processes.

[9]  Gerard J. Holzmann,et al.  Designing executable abstractions , 1998, FMSP '98.

[10]  Joël Ouaknine,et al.  SAT-solving in CSP trace refinement , 2012, Sci. Comput. Program..

[11]  Hector Garcia-Molina,et al.  Elections in a Distributed Computing System , 1982, IEEE Transactions on Computers.

[12]  Jonathan Lawrence Practical Application of CSP and FDR to Software Design , 2004, 25 Years Communicating Sequential Processes.

[13]  Inmos Limited,et al.  Occam Programming Manual , 1984 .

[14]  Shiyong Lu,et al.  Model checking the secure electronic transaction (SET) protocol , 1999, MASCOTS '99. Proceedings of the Seventh International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[15]  Gavin Lowe,et al.  Casper: a compiler for the analysis of security protocols , 1997, Proceedings 10th Computer Security Foundations Workshop.

[16]  Joël Ouaknine,et al.  Static Livelock Analysis in CSP , 2011, CONCUR.

[17]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[18]  A. W. Roscoe Seeing Beyond Divergence , 2004, 25 Years Communicating Sequential Processes.

[19]  T. G. Szymanski,et al.  On the Equivalence, Containment, and Covering Problems for the Regular and Context-Free Languages , 1976, J. Comput. Syst. Sci..

[20]  Bas Luttik,et al.  What is algebraic in process theory? , 2006, APC 25.

[21]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[22]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[23]  Jan Friso Groote,et al.  Modeling and Analysis of Communicating Systems , 2014 .

[24]  Scw Bas Ploeger,et al.  Analysis of ACS using mCRL2 , 2009 .

[25]  D. J. Walker,et al.  Bisimulation and Divergence , 1990, Inf. Comput..

[26]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[27]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[28]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[29]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[30]  Scott A. Smolka,et al.  Software Design, Specification, and Verification: Lessons Learned from the Rether Case Study , 1997, AMAST.

[31]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[32]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[33]  Steve Schneider,et al.  Concurrent and Real Time Systems , 1999 .

[34]  Rance Cleaveland,et al.  On Automatically Explaining Bisimulation Inequivalence , 1990, CAV.

[35]  Rance Cleaveland,et al.  Generic tools for verifying concurrent systems , 2002, Sci. Comput. Program..

[36]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[37]  Ouaknine Joel,et al.  Discrete analysis of continuous behaviour in real-time concurrent systems , 2000 .

[38]  A. N. Parashkevov,et al.  ARC-a tool for efficient refinement and equivalence checking for CSP , 1996, Proceedings of 1996 IEEE Second International Conference on Algorithms and Architectures for Parallel Processing, ICA/sup 3/PP '96.

[39]  Thomas A. Henzinger,et al.  What Good Are Digital Clocks? , 1992, ICALP.

[40]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[41]  Samik Basu,et al.  Model checking the Java metalocking algorithm , 2007, TSEM.

[42]  A. W. Roscoe CSP is Expressive Enough for π , 2010, Reflections on the Work of C. A. R. Hoare.

[43]  Wang Yi,et al.  CCS + Time = An Interleaving Model for Real Time Systems , 1991, ICALP.

[44]  Bengt Jonsson,et al.  A calculus for communicating systems with time and probabilities , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[45]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[46]  Rance Cleaveland,et al.  Modeling and Verifying Active Structural Control Systems , 1997, Sci. Comput. Program..

[47]  Sander J. J. Leemans,et al.  Formalising and analysing the control software of the Compact Muon Solenoid Experiment at the Large Hadron Collider , 2011, Sci. Comput. Program..

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

[49]  Rance Cleaveland,et al.  The Concurrency Factory: A Development Environment for Concurrent Systems , 1996, CAV.

[50]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[51]  A. W. Roscoe,et al.  An Improved Failures Model for Communicating Processes , 1984, Seminar on Concurrency.

[52]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[53]  Jann N. Yang,et al.  New Optimal Control Algorithms for Structural Control , 1987 .

[54]  Orna Grumberg,et al.  Abstraction and Abstraction Refinement , 2018, Handbook of Model Checking.

[55]  A. W. Roscoe Unbounded Non-Determinism in CSP , 1993, J. Log. Comput..

[56]  Andrew William Roscoe,et al.  FDR into The Cloud , 2014 .

[57]  Jun Sun,et al.  PAT 3: An Extensible Architecture for Building Multi-domain Model Checkers , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[58]  Joël Ouaknine,et al.  Model checking Timed CSP , 2014, HOWARD-60.

[59]  Peter H. Welch,et al.  Communicating Mobile Processes , 2004, 25 Years Communicating Sequential Processes.

[60]  A. W. Roscoe,et al.  Verifying an infinite family of inductions simultaneously using data independence and FDR , 1999, FORTE.

[61]  Jian Huang,et al.  Checking noninterference in Timed CSP , 2012, Formal Aspects of Computing.

[62]  T. T. Soong,et al.  Active structural control , 1990 .

[63]  Bill Roscoe TTP: A case study in combining induction and data independence , 1999 .

[64]  Philippa J. Hopcroft,et al.  Combining the Box Structure Development Method and CSP for Software Development , 2005, Electron. Notes Theor. Comput. Sci..

[65]  Y. Fujino,et al.  Instability due to time delay and its compensation in active control of structures , 1993 .

[66]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[67]  A. W. Roscoe,et al.  Slow Abstraction via Priority , 2013, Theories of Programming and Formal Methods.

[68]  Joël Ouaknine,et al.  Recent Developments in FDR , 2012, CAV.

[69]  Jaco van de Pol,et al.  1 Motivation : A Modular , High-Performance Model Checker , 2010 .

[70]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[71]  Thomas A. Henzinger,et al.  Computing simulations on finite and infinite graphs , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[72]  J N Yang,et al.  NEW CONTROL ALGORITHMS FOR STRUCTURAL CONTROL , 1987 .

[73]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[74]  Gavin Lowe,et al.  Probabilistic and Prioritized Models of Timed CSP , 1995, Theor. Comput. Sci..

[75]  Jan A. Bergstra,et al.  Real time process algebra , 1991, Formal Aspects of Computing.

[76]  A. W. Roscoe,et al.  Verifying Statemate Statecharts Using CSP and FDR , 2006, ICFEM.

[77]  C. R. Ramakrishnan,et al.  XMC: A Logic-Programming-Based Verification Toolset , 2000, CAV.