Skip to main content

The Inner and Outer Algebras of Unified Concurrency

  • 287 Accesses

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 11885)

Abstract

Algebras have always played a critical role in Unifying Theories of Programming, especially in their role in providing the “laws” of programming. The algebraic laws form a triad with two other forms, namely operational and denotational semantics. In this paper we demonstrate that algebras are not just for providing external laws for reasoning about programs. In addition, they can be very beneficial for assisting in the development of theoretical models, most notably denotational semantics. We refer to the algebras used to develop a denotational model as “inner algebras”, while the resulting algebraic semantics we consider to be an “outer algebra”. In this paper we present a number of inner algebras that arose in the development of a fully compositional denotational semantics, called UTCP, for shared-state concurrency. We explore how these algebras helped to develop (and debug!) the theory, and discuss how they may assist in the ultimate aim of exposing the outer algebra of UTCP, which we expect to be very similar to Concurrent Kleene Algebra.

Keywords

  • Unifying Theories of Programming
  • Inner algebras
  • Outer algebras
  • Shared-variable concurrency
  • Concurrent Kleene Algebras

This work was supported, in part, by Science Foundation Ireland grant 13/RC/2094 to Lero - the Irish Software Engineering Research Centre (www.lero.ie).

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-31038-7_8
  • Chapter length: 19 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-030-31038-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   69.99
Price excludes VAT (USA)
Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.

Notes

  1. 1.

    We have to apply healthiness conditions as well, discussed later.

  2. 2.

    A form of Herbrand interpretation!.

References

  1. de Boer, F.S., Kok, J.N., Palamidessi, C., Rutten, J.J.M.M.: The failure of failures in a paradigm for asynchronous communication. In: Baeten, J.C.M., Groote, J.F. (eds.) CONCUR 1991. LNCS, vol. 527, pp. 111–126. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54430-5_84

    CrossRef  Google Scholar 

  2. Brookes, S.D.: Full abstraction for a shared-variable parallel language. Inf. Comput. 127(2), 145–163 (1996). https://doi.org/10.1006/inco.1996.0056

    MathSciNet  CrossRef  MATH  Google Scholar 

  3. Butterfield, A.: Saoithín: a theorem prover for UTP. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 137–156. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16690-7_6

    CrossRef  Google Scholar 

  4. Butterfield, A.: The logic of U\(\cdot \)(TP)\(^{2}\). In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 124–143. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35705-3_6

    CrossRef  MATH  Google Scholar 

  5. Butterfield, A.: UTPCalc—a calculator for UTP predicates. In: Bowen, J.P., Zhu, H. (eds.) UTP 2016. LNCS, vol. 10134, pp. 197–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52228-9_10

    CrossRef  Google Scholar 

  6. Butterfield, A.: UTCP: compositional semantics for shared-variable concurrency. In: Cavalheiro, S., Fiadeiro, J. (eds.) SBMF 2017. LNCS, vol. 10623, pp. 253–270. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70848-5_16

    CrossRef  Google Scholar 

  7. Butterfield, A., Sherif, A., Woodcock, J.: Slotted-circus. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 75–97. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73210-5_5

    CrossRef  Google Scholar 

  8. Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: Proceedings of 22nd IEEE Symposium on Logic in Computer Science, LICS 2007, Wroclaw, Poland, 10–12 July 2007, pp. 366–378. IEEE Computer Society (2007)

    Google Scholar 

  9. Dinsdale-Young, T., Birkedal, L., Gardner, P., Parkinson, M.J., Yang, H.: Views: compositional reasoning for concurrent programs. In: Giacobazzi, R., Cousot, R. (eds.) The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2013, Rome, Italy, 23–25 January 2013, pp. 287–300. ACM (2013). https://doi.org/10.1145/2480359.2429104

    CrossRef  Google Scholar 

  10. Foster, S., Cavalcanti, A., Woodcock, J., Zeyda, F.: Unifying theories of time with generalised reactive processes. Inf. Process. Lett. 135, 47–52 (2018). https://doi.org/10.1016/j.ipl.2018.02.017

    MathSciNet  CrossRef  MATH  Google Scholar 

  11. Foster, S., Ye, K., Cavalcanti, A., Woodcock, J.: Calculational verification of reactive programs with reactive relations and Kleene algebra. In: Desharnais, J., Guttmann, W., Joosten, S. (eds.) RAMiCS 2018. LNCS, vol. 11194, pp. 205–224. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02149-8_13

    CrossRef  MATH  Google Scholar 

  12. Foster, S., Zeyda, F., Woodcock, J.: Isabelle/UTP: a mechanised theory engineering framework. In: Naumann, D. (ed.) UTP 2014. LNCS, vol. 8963, pp. 21–41. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-14806-9_2

    CrossRef  Google Scholar 

  13. Gancarski, P., Butterfield, A.: The denotational semantics of slotted-Circus. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 451–466. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05089-3_29

    CrossRef  Google Scholar 

  14. Gancarski, P., Butterfield, A.: Prioritized slotted-Circus. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 91–105. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14808-8_7

    CrossRef  Google Scholar 

  15. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Upper Saddle River (1998)

    MATH  Google Scholar 

  16. Hoare, C.A.R., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene algebra and its foundations. J. Logic Algebraic Program. 80(6), 266–296 (2011). https://doi.org/10.1016/j.jlap.2011.04.005. http://www.sciencedirect.com/science/article/pii/S1567832611000166. Relations and Kleene Algebras in Computer Science

    MathSciNet  CrossRef  Google Scholar 

  17. Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Trans. Program. Lang. Syst. 5(4), 596–619 (1983). https://doi.org/10.1145/69575.69577

    CrossRef  MATH  Google Scholar 

  18. Lamport, L.: An axiomatic semantics of concurrent programming languages. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series (Series F: Computer and Systems Sciences), vol. 13, pp. 77–122. Springer, Heidelberg (1985). https://doi.org/10.1007/978-3-642-82453-1_4

    CrossRef  Google Scholar 

  19. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Aspects Comput. 21(1–2), 3–32 (2009). https://doi.org/10.1007/s00165-007-0052-5

    CrossRef  MATH  Google Scholar 

  20. Owicki, S.S., Gries, D.: An axiomatic proof technique for parallel programs I. Acta Inf. 6, 319–340 (1976). https://doi.org/10.1007/BF00268134

    MathSciNet  CrossRef  MATH  Google Scholar 

  21. Pym, D., Spring, J.M., O’Hearn, P.: Why separation logic works. Philos. Technol. (2018). https://doi.org/10.1007/s13347-018-0312-8

    CrossRef  Google Scholar 

  22. Sherif, A., Jifeng, H.: Towards a time model for Circus. In: George, C., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 613–624. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36103-0_62

    CrossRef  Google Scholar 

  23. Staden, S.: Constructing the views framework. In: Naumann, D. (ed.) UTP 2014. LNCS, vol. 8963, pp. 62–83. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-14806-9_4

    CrossRef  Google Scholar 

  24. Woodcock, J., Hughes, A.: Unifying theories of parallel programming. In: George, C., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 24–37. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36103-0_5

    CrossRef  Google Scholar 

  25. Zhu, H., He, J., Qin, S., Brooke, P.J.: Denotational semantics and its algebraic derivation for an event-driven system-level language. Formal Aspects Comput. 27(1), 133–166 (2015). https://doi.org/10.1007/s00165-014-0309-8

    MathSciNet  CrossRef  MATH  Google Scholar 

  26. Zhu, H., Yang, F., He, J.: Generating denotational semantics from algebraic semantics for event-driven system-level language. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 286–308. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16690-7_15

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrew Butterfield .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Butterfield, A. (2019). The Inner and Outer Algebras of Unified Concurrency. In: Ribeiro, P., Sampaio, A. (eds) Unifying Theories of Programming. UTP 2019. Lecture Notes in Computer Science(), vol 11885. Springer, Cham. https://doi.org/10.1007/978-3-030-31038-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31038-7_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31037-0

  • Online ISBN: 978-3-030-31038-7

  • eBook Packages: Computer ScienceComputer Science (R0)