Skip to main content

UTCP: Compositional Semantics for Shared-Variable Concurrency

  • Conference paper
  • First Online:
Formal Methods: Foundations and Applications (SBMF 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10623))

Included in the following conference series:

Abstract

We present a Unifying Theories of Programming (UTP) semantics of shared variable concurrency that is fully compositional. Previous work was based on mapping such programs, using labelling of decision points and atomic actions, to action systems, which themselves were provided with a UTP semantics. The translation to action systems was largely compositional, but their dynamic semantics was based on having all the actions collected together. Here we take a more direct approach, albeit inspired by the action-systems view, based on an abstract notion of label generation, that then exploits the standard use of substitution in UTP, to obtain a fully compositional semantics.

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    “Split g, take the first one, generate a label and take the resulting generator, split it and take the second, take two new labels and give me the last one”.

  2. 2.

    Assuming x and y are the only variables.

  3. 3.

    The theory can be developed using only g as a static observation, and letting \(\ell _g\) and \(\ell _{g:}\) play the role of in and out respectively, in which case Disjoint Labels is automatically satisfied. However, while this results in an entirely equivalent theory, it is notationally more obscure making it harder to interpret and check.

References

  1. Atkinson, D.C., Weeks, D.C., Noll, J.: Tool support for iterative software process modeling. Inform. Softw. Technol. 49(5), 493–514 (2007). https://doi.org/10.1016/j.infsof.2006.07.006

    Article  Google Scholar 

  2. Back, R.J.R., Kurki-Suonio, R.: Decentralization of process nets with centralized control. In: Proceedings of the Second Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, pp. 131–142, 17–19 August 1983

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. Brookes, S.: A revisionist history of concurrent separation logic. Electr. Notes Theor. Comput. Sci. 276, 5–28 (2011). https://doi.org/10.1016/j.entcs.2011

    Article  MathSciNet  MATH  Google Scholar 

  5. 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

    Article  MathSciNet  MATH  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. Butterfield, A., Mjeda, A., Noll, J.: UTP semantics for shared-state, concurrent, context-sensitive process models. In: Bonsangue, M., Deng, Y. (eds.) TASE 2016 10th International Symposium on Theoretical Aspects of Software Engineering, pp. 93–100. IEEE, July 2016

    Google Scholar 

  8. Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic, pp. 366–378. IEEE Computer Society (2007). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4276538

  9. Dijkstra, E.W.: A Discipline of Programming. Series in Automatic Computation. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  10. 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)

    Google Scholar 

  11. Hehner, E.C.R.: Predicative programming part i & ii. Commun. ACM 27(2), 134–151 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  12. Hoare, C.A.R.: Programs are predicates. In: Proceedings of a discussion meeting of the Royal Society of London on Mathematical Logic and Programming Languages, pp. 141–155. Prentice-Hall Inc., Upper Saddle River (1985)

    Google Scholar 

  13. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall International, Englewood Cliffs (1998)

    MATH  Google Scholar 

  14. Hoare, C.A.R.T., Möller, B., Struth, G., Wehrman, I.: Concurrent kleene algebra. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 399–414. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04081-8_27

    Chapter  Google Scholar 

  15. Jones, C.B.: Developing methods for computer programs including a notion of interference. Ph.D. thesis, University of Oxford, UK (1981)

    Google Scholar 

  16. Jones, C.B.: Development methods for computer programs including a notion of interference (PRG-25), p. 265, June 1981

    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). http://doi.acm.org/10.1145/69575.69577

    Article  MATH  Google Scholar 

  18. Lamport, L.: An axiomatic semantics of concurrent programming languages. In: Apt, K.R. (eds.) 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

  19. Lamport, L.: Turing lecture: the computer science of concurrency: the early years. Commun. ACM 58(6), 71–76 (2015). http://doi.acm.org/10.1145/2771951

    Article  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

    Article  MathSciNet  MATH  Google Scholar 

  21. 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

    Google Scholar 

  22. Staden, S.: On rely-guarantee reasoning. In: Hinze, R., Voigtländer, J. (eds.) MPC 2015. LNCS, vol. 9129, pp. 30–49. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19797-5_2

    Chapter  Google Scholar 

  23. 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

    Chapter  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

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Butterfield, A. (2017). UTCP: Compositional Semantics for Shared-Variable Concurrency. In: Cavalheiro, S., Fiadeiro, J. (eds) Formal Methods: Foundations and Applications. SBMF 2017. Lecture Notes in Computer Science(), vol 10623. Springer, Cham. https://doi.org/10.1007/978-3-319-70848-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-70848-5_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-70847-8

  • Online ISBN: 978-3-319-70848-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics