Advertisement

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)

Abstract

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.

Keywords

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.

Notes

Acknowledgements

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

References

  1. [Acz83]
    Aczel, P.H.G.: On an inference rule for parallel composition, Private communication to Cliff Jones (1983). http://homepages.cs.ncl.ac.uk/cliff.jones/publications/MSs/PHGA-traces.pdf
  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)MathSciNetCrossRefMATHGoogle Scholar
  4. [BK85]
    Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theor. Comput. Sci. 37, 77–121 (1985)MathSciNetCrossRefMATHGoogle 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). http://arxiv.org/abs/1609.00195
  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)MathSciNetCrossRefMATHGoogle Scholar
  9. [Con71]
    Conway, J.H.: Regular Algebra and Finite Machines. Chapman & Hall, Boca Raton (1971)MATHGoogle 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)CrossRefMATHGoogle Scholar
  12. [Hay16]
    Hayes, I.J.: Generalised rely-guarantee concurrency: an algebraic foundation. Form. Asp. Comput. 28(6), 1057–1078 (2016)MathSciNetCrossRefMATHGoogle Scholar
  13. [HCM+16]
    Hayes, I.J., Colvin, R.J., Meinicke, L.A., Winter, K., Velykis, A.: An algebra of synchronous atomic steps (2016). http://arxiv.org/pdf/1609.00118v1.pdf
  14. [HH10]
    He, J., Hoare, C.A.R.: CSP is a retract of CCS. Theor. Comput. Sci. 411(11–13), 1311–1337 (2010)MathSciNetCrossRefMATHGoogle 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)MathSciNetCrossRefMATHGoogle Scholar
  17. [Hoa85]
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)MATHGoogle 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)MathSciNetCrossRefMATHGoogle 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)CrossRefMATHGoogle Scholar
  22. [Mil83]
    Milner, R.: Calculi for synchrony and asynchrony. Theor. Comput. Sci. 25(3), 267–310 (1983)MathSciNetCrossRefMATHGoogle Scholar
  23. [Mil89]
    Milner, A.J.R.G.: Communication and Concurrency. Prentice-Hall, Upper Saddle River (1989)MATHGoogle Scholar
  24. [Mor88]
    Morgan, C.C.: The specification statement. ACM Trans. Prog. Lang. Sys. 10(3), 403–419 (1988)CrossRefMATHGoogle Scholar
  25. [Pri10]
    Prisacariu, C.: Synchronous Kleene algebra. J. Logic Algebraic Program. 79(7), 608–635 (2010)MathSciNetCrossRefMATHGoogle 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)MathSciNetCrossRefMATHGoogle Scholar
  29. [vW04]
    von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51, 23–45 (2004)MathSciNetCrossRefMATHGoogle 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