An Algebra of Synchronous Atomic Steps

  • Ian J. Hayes
  • Robert J. Colvin
  • Larissa A. Meinicke
  • Kirsten Winter
  • Andrius Velykis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9995)


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.


Boolean Algebra Parallel Operator Sequential Composition Parallel Composition Process Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This work has benefited from input from Cliff Jones and Kim Solin.


  1. [Acz83]
    Aczel, P.H.G.: On an inference rule for parallel composition, Private communication to Cliff Jones (1983).
  2. [BC85]
    Berry, G., Cosserat, L.: The ESTEREL synchronous programming language and its mathematical semantics. In: Brookes, S.D., Roscoe, A.W., Winskel, G. (eds.) CONCURRENCY 1984. LNCS, vol. 197, pp. 389–448. Springer, Heidelberg (1985). doi: 10.1007/3-540-15670-4_19 CrossRefGoogle Scholar
  3. [BK84]
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  4. [BK85]
    Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theor. Comput. Sci. 37, 77–121 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  5. [Bli78]
    Blikle, A.: Specified programming. In: Blum, E.K., Paul, M., Takasu, S. (eds.) Mathematical Studies of Information Processing. LNCS, vol. 75, pp. 228–251. Springer, Heidelberg (1979). doi: 10.1007/3-540-09541-1_29 CrossRefGoogle Scholar
  6. [Bro83]
    Brookes, S.D.: On the relationship of CCS and CSP. In: Diaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 83–96. Springer, Heidelberg (1983). doi: 10.1007/BFb0036899 CrossRefGoogle Scholar
  7. [CHM16]
    Colvin, R.J., Hayes, I.J., Meinicke, L.A.: Designing a semantic model for a wide-spectrum language with concurrency (2016).
  8. [CJ07]
    Coleman, J.W., Jones, C.B.: A structural proof of the soundness of rely/guarantee rules. Journal of Logic and Computation 17(4), 807–841 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  9. [Con71]
    Conway, J.H.: Regular Algebra and Finite Machines. Chapman & Hall, Boca Raton (1971)zbMATHGoogle Scholar
  10. [dR01]
    de Roever, W.-P., Verification, C.: Introduction to Compositional and Noncompositional Methods. Cambridge University Press, Cambridge (2001)Google Scholar
  11. [GM93]
    Gardiner, P.H.B., Morgan, C.: A single complete rule for data refinement. Formal Aspects Comput. 5, 367–382 (1993)CrossRefzbMATHGoogle Scholar
  12. [Hay16]
    Hayes, I.J.: Generalised rely-guarantee concurrency: an algebraic foundation. Form. Asp. Comput. 28(6), 1057–1078 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  13. [HCM+16]
    Hayes, I.J., Colvin, R.J., Meinicke, L.A., Winter, K., Velykis, A.: An algebra of synchronous atomic steps (2016).
  14. [HH10]
    He, J., Hoare, C.A.R.: CSP is a retract of CCS. Theor. Comput. Sci. 411(11–13), 1311–1337 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  15. [HJC14]
    Hayes, I.J., Jones, C.B., Colvin, R.J.: Laws and semantics for rely-guarantee refinement. Technical report CS-TR-1425, Newcastle University, July 2014Google Scholar
  16. [HMSW11]
    Hoare, C.A.R., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene algebra and its foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  17. [Hoa85]
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)zbMATHGoogle Scholar
  18. [JHC15]
    Jones, C.B., Hayes, I.J., Colvin, R.J.: Balancing expressiveness in formal approaches to concurrency. Formal Aspects Comput. 27(3), 475–497 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  19. [Jon81]
    Development methods for computer programs including a notion of interference. Ph.D. thesis, Oxford University, June 1981: Oxford University Computing Laboratory (now Computer Science) Technical Monograph PRG-25Google Scholar
  20. [Jon83]
    Jones, C.B.: Specification and design of (parallel) programs. In: Proceedings of IFIP 1983, pp. 321–332. North-Holland (1983)Google Scholar
  21. [Koz97]
    Kozen, D.: Kleene algebra with tests. ACM Trans. Prog. Lang. Sys. 19(3), 427–443 (1997)CrossRefzbMATHGoogle Scholar
  22. [Mil83]
    Milner, R.: Calculi for synchrony and asynchrony. Theor. Comput. Sci. 25(3), 267–310 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  23. [Mil89]
    Milner, A.J.R.G.: Communication and Concurrency. Prentice-Hall, Upper Saddle River (1989)zbMATHGoogle Scholar
  24. [Mor88]
    Morgan, C.C.: The specification statement. ACM Trans. Prog. Lang. Sys. 10(3), 403–419 (1988)CrossRefzbMATHGoogle Scholar
  25. [Pri10]
    Prisacariu, C.: Synchronous Kleene algebra. J. Logic Algebraic Program. 79(7), 608–635 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  26. [Ros98]
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall, Upper Saddle River (1998)Google Scholar
  27. [Sol07]
    Solin, K.: Abstract algebra of program refinement. Ph.D. thesis, Turku Centre for Computer Science (2007)Google Scholar
  28. [vG97]
    van Glabbeek, R.J.: Notes on the methodology of CCS and CSP. Theor. Comput. Sci. 177(2), 329–349 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  29. [vW04]
    von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51, 23–45 (2004)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Ian J. Hayes
    • 1
  • Robert J. Colvin
    • 1
  • Larissa A. Meinicke
    • 1
  • Kirsten Winter
    • 1
  • Andrius Velykis
    • 2
  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia
  2. 2.School of Computing ScienceNewcastle UniversityNewcastle upon TyneUK

Personalised recommendations