CSP: A Practical Process Algebra

We recall our work with Tony Hoare in developing the process algebra form of CSP. The semantics we developed with him, based on sets of observable linear behaviours, led to a very distinctive style of practical application using refinement checking, as embodied in the FDR model checker. We outline the history of FDR, showing how its power has been enhanced over time, and we showcase some major industrial applications to demonstrate its versatility. We show that CSP is a process algebra with firm semantic foundations and a wide range of practical applications. In doing so we pay tribute to Tony’s profound and continuing influence.

[1]  C. Gribben Revivals , 2021, The Rise and Fall of Christian Ireland.

[2]  Yakoub Nemouchi,et al.  Formal Model-Based Assurance Cases in Isabelle/SACM: An Autonomous Underwater Vehicle Case Study , 2020, FormaliSE@ICSE.

[3]  A. W. Roscoe,et al.  Translating between models of concurrency , 2019, Acta Informatica.

[4]  Gavin Lowe,et al.  Symmetry reduction in CSP model checking , 2019, International Journal on Software Tools for Technology Transfer.

[5]  Rance Cleaveland,et al.  Process Algebra and Model Checking , 2018, Handbook of Model Checking.

[6]  Thomas A. Henzinger,et al.  Handbook of Model Checking , 2018, Springer International Publishing.

[7]  Thomas Gibson-Robinson,et al.  Verifying cyber attack properties , 2017, Sci. Comput. Program..

[8]  A. W. Roscoe,et al.  The Automatic Detection of Token Structures and Invariants Using SAT Checking , 2017, TACAS.

[9]  Peter Miller,et al.  PICASSOS – Practical Applications of Automated Formal Methods to Safety Related Automotive Systems , 2017 .

[10]  Augusto Sampaio,et al.  FDR: From Theory to Industrial Application , 2017, Concurrency, Security, and Puzzles.

[11]  A. W. Roscoe,et al.  Efficient Deadlock-Freedom Checking Using Local Analysis and SAT Solving , 2016, IFM.

[12]  A. W. Roscoe,et al.  FDR3: a parallel refinement checker for CSP , 2015, International Journal on Software Tools for Technology Transfer.

[13]  A. W. Roscoe,et al.  Practical Partial Order Reduction for CSP , 2015, NFM.

[14]  Melanie Swan,et al.  Blockchain: Blueprint for a New Economy , 2015 .

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

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

[17]  Gavin Lowe,et al.  CSP-based counter abstraction for systems with node identifiers , 2014, Sci. Comput. Program..

[18]  N. J. Tudor,et al.  Proving properties of automotive systems of systems under ISO 26262 using automated formal methods , 2014 .

[19]  C. Hoare A model for communicating sequential process , 2014 .

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

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

[22]  Lubos Brim,et al.  Designing fast LTL model checking algorithms for many-core GPUs , 2012, J. Parallel Distributed Comput..

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

[24]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[25]  Hristina Palikareva,et al.  Techniques and tools for the verification of concurrent systems , 2012 .

[26]  Takeo Kanade,et al.  Unifying Theories of Programming , 2010, Lecture Notes in Computer Science.

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

[28]  A. W. Roscoe,et al.  Insight, Inspiration and Collaboration , 2010, Reflections on the Work of C. A. R. Hoare.

[29]  Lubos Brim,et al.  DiVinE-CUDA - A Tool for GPU Accelerated LTL Model Checking , 2009, PDMC.

[30]  A. W. Roscoe,et al.  Revivals, stuckness and the hierarchy of CSP models , 2009, J. Log. Algebraic Methods Program..

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

[32]  A. W. Roscoe,et al.  Deadlock analysis in networks of communicating processes , 1989, Distributed Computing.

[33]  Guy H. Broadfoot,et al.  Introducing Formal Methods into Industry using Cleanroom and CSP , 2005 .

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

[35]  Marta Z. Kwiatkowska,et al.  PRISM: Probabilistic Symbolic Model Checker , 2002, Computer Performance Evaluation / TOOLS.

[36]  Joël Ouaknine,et al.  Digitisation and Full Abstraction for Dense-Time Model Checking , 2002, TACAS.

[37]  Peter Y. A. Ryan,et al.  The modelling and analysis of security protocols: the csp approach , 2000 .

[38]  Colin O'Halloran Assessing Safety Critical COTS Systems , 1999 .

[39]  Doron A. Peled,et al.  Ten Years of Partial Order Reduction , 1998, CAV.

[40]  S. Prowell,et al.  Sequence-Based Software Specification of Deterministic Systems , 1998, Softw. Pract. Exp..

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

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

[43]  Jeremy M. R. Martin,et al.  A Tool for Proving Deadlock Freedom , 1997 .

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

[45]  Jan Peleska,et al.  Test Automation for Safety-Critical Systems: Industrial Application and Future Developments , 1996, FME.

[46]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[47]  Constance L. Heitmeyer,et al.  A Benchmark for Comparing Different Approaches for Specifying and Verifying Real-Time Systems , 1993 .

[48]  D. M. Jackson,et al.  Formal verification of a fault tolerant computer , 1992, [1992] Proceedings IEEE/AIAA 11th Digital Avionics Systems Conference.

[49]  Andrew William Roscoe,et al.  Occam in the specification and verification of microprocessors , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[50]  Nils Klarlund,et al.  Progress measures for complementation omega -automata with applications to temporal logic , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[51]  Y. Balagurunathan,et al.  Insight into redox-regulated gene networks in vascular cells , 2007, Bioinformation.

[52]  Antti Valmari,et al.  A stubborn attack on state explosion , 1990, Formal Methods Syst. Des..

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

[54]  C. A. R. Hoare,et al.  The Laws of Occam Programming , 1988, Theor. Comput. Sci..

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

[56]  A. W. Roscoe,et al.  The Pursuit of Deadlock freedom , 1987, Inf. Comput..

[57]  C. A. R. Hoare,et al.  Laws of programming , 1987, CACM.

[58]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[59]  Bill Roscoe,et al.  An Operational Semantics for CSP , 1986 .

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

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

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

[63]  Stephen D. Brookes,et al.  On the Relationship of CCS and CSP , 1983, ICALP.

[64]  Andrew William Roscoe A mathematical theory of communicating processes , 1982 .

[65]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

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

[67]  C. A. R. Hoare,et al.  A Model for Communicating Sequential Processes , 1980, On the Construction of Programs.

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

[69]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[70]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..