An Algebra of Synchronous Atomic Steps

This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave) when composed in parallel. The algebra of rely/guarantee concurrency then becomes an interpretation of the more abstract algebra. Many of the core properties needed for rely/guarantee reasoning can be shown to hold in the abstract algebra where their proofs are simpler and hence allow a higher degree of automation. Moreover, the realisation that the synchronisation mechanisms of standard process algebras, such as CSP and CCS/SCCS, can be interpreted in our abstract algebra gives evidence of its unifying power. The algebra has been encoded in Isabelle/HOL to provide a basis for tool support.

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

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

[3]  Cristian Prisacariu,et al.  Synchronous Kleene algebra , 2010 .

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

[5]  Cliff B. Jones,et al.  A Structural Proof of the Soundness of Rely/guarantee Rules , 2007, J. Log. Comput..

[6]  Andrzej Blikle Specified programming , 1978, Mathematical Studies of Information Processing.

[7]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[8]  Ian J. Hayes,et al.  Generalised rely-guarantee concurrency: an algebraic foundation , 2016, Formal Aspects of Computing.

[9]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

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

[11]  Georg Struth,et al.  Hybrid process algebra , 2005, J. Log. Algebraic Methods Program..

[12]  C. A. R. Hoare,et al.  CSP is a retract of CCS , 2006, Theor. Comput. Sci..

[13]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[14]  Robert Colvin,et al.  Designing a semantic model for a wide-spectrum language with concurrency , 2016, Formal Aspects of Computing.

[15]  Cliff B. Jones,et al.  Laws and Semantics for Rely-Guarantee Refinement , 2014 .

[16]  Joakim von Wright,et al.  Towards a refinement algebra , 2004, Sci. Comput. Program..

[17]  Cliff B. Jones,et al.  Balancing expressiveness in formal approaches to concurrency , 2015, Formal Aspects of Computing.

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

[19]  Dexter Kozen,et al.  Kleene algebra with tests , 1997, TOPL.

[20]  Carroll Morgan,et al.  A single complete rule for data refinement , 1993, Formal Aspects of Computing.

[21]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[22]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.

[23]  J. Conway Regular algebra and finite machines , 1971 .

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

[25]  Kim Solin Abstract Algebra of Program Refinement , 2007 .

[26]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[27]  Rob J. van Glabbeek Notes on the Methodology of CCS and CSP , 1997, Theor. Comput. Sci..