Analysing Mutual Exclusion using Process Algebra with Signals

In contrast to common belief, the Calculus of Communicating Systems (CCS) and similar process algebras lack the expressive power to accurately capture mutual exclusion protocols without enriching the language with fairness assumptions. Adding a fairness assumption to implement a mutual exclusion protocol seems counter-intuitive. We employ a signalling operator, which can be combined with CCS, or other process calculi, and show that this minimal extension is expressive enough to model mutual exclusion: we confirm the correctness of Peterson's mutual exclusion algorithm for two processes, as well as Lamport's bakery algorithm, under reasonable assumptions on the underlying memory model. The correctness of Peterson's algorithm for more than two processes requires stronger, less realistic assumptions on the underlying memory model.

[1]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[2]  Walter Vogler,et al.  Time and Fairness in a Process Algebra with Non-blocking Reading , 2009, SOFSEM.

[3]  Rob J. van Glabbeek,et al.  CCS: It’s not fair! , 2015, Acta Informatica.

[4]  Luca Aceto,et al.  A static view of localities , 1994, Formal Aspects of Computing.

[5]  Matthew Hennessy,et al.  Observing Localities , 1993, Theor. Comput. Sci..

[6]  John Nagle,et al.  On Packet Switches with Infinite Storage , 1985, IEEE Trans. Commun..

[7]  Walter Vogler,et al.  Read Operators and their Expressiveness in Process Algebras , 2011, EXPRESS.

[8]  Antti Valmari,et al.  Visual Verification of Safety and Liveness , 1996, FME.

[9]  Rob J. van Glabbeek,et al.  CCS: It’s not fair! , 2015, Acta Informatica.

[10]  D. J. Walker,et al.  Automated analysis of mutual exclusion algorithms using CCS , 1989, Formal Aspects of Computing.

[11]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .

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

[13]  Javier Esparza,et al.  Trapping Mutual Exclusion in the Box Calculus , 1996, Theor. Comput. Sci..

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

[15]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[16]  Donald E. Knuth,et al.  Additional comments on a problem in concurrent programming control , 1966, CACM.

[17]  Walter Vogler,et al.  Comparing the worst-case efficiency of asynchronous systems with PAFAS , 2002, Acta Informatica.

[18]  Walter Vogler,et al.  Efficiency of asynchronous systems, read arcs, and the MUTEX-problem , 2002, Theor. Comput. Sci..

[19]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[20]  Leonard Kleinrock,et al.  Analysis of A time‐shared processor , 1964 .

[21]  Jos C. M. Baeten,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates , 1993, CONCUR.

[22]  Luca Aceto,et al.  Reactive Systems: Modelling mutual exclusion algorithms , 2007 .

[23]  Walter Vogler,et al.  Automated Analysis of MUTEX Algorithms with FASE , 2011, GandALF.

[24]  Matthew Hennessy,et al.  A theory of processes with localities , 1992, Formal Aspects of Computing.

[25]  Jan A. Bergstra,et al.  ACP with Signals , 1988, ALP.

[26]  Madhavan Mukund,et al.  CCS, Locations and Asynchronous Transition Systems , 1992 .

[27]  Rob J. van Glabbeek,et al.  Progress, Fairness and Justness in Process Algebra , 2015, ArXiv.

[28]  Walter Vogler,et al.  Liveness of a mutex algorithm in a fair process algebra , 2009, Acta Informatica.

[29]  Madhavan Mukund,et al.  CCS, Location and Asynchronous Transition Systems , 1992, FSTTCS.

[30]  Ekkart Kindler,et al.  Mutex Needs Fairness , 1997, Inf. Process. Lett..

[31]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[32]  Amar Bouali,et al.  Weak and branching bisimulation in Fctool , 1992 .