Skip to main content

Generic Models of the Laws of Programming

  • Chapter

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

Abstract

The laws of programming are a collection of judgments about the equality and ordering of computer programs. A model of the laws is a mathematical description of the execution of programs, where the model has been proved to satisfy the laws. A generic model is one that has parameters that can be adjusted to the properties of a range of different programming languages and their differing implementations and differing applications. In this way, a generic model serves as the basis of a unifying theory of programming.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Roscoe, A.W.: Laws of occam programming, Tech Mon PRG-53. Oxford University (1986)

    Google Scholar 

  2. Tarski, A.: On the Calculus of Relations. J. Symbolic Logic 6(3), 73–89 (1941)

    Article  MathSciNet  MATH  Google Scholar 

  3. Hoare, T.: Unifying Semantics for Concurrent Programming (to appear, 2013)

    Google Scholar 

  4. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A Theory of Communicating Sequential Processes. JACM 31, 560–599 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  5. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  6. Pratt, V.: The Pomset Model of Parallel Processses: Unifying the Temporal and the Spatial. Stanford University, STAN-CS-85-1049 (January 1985)

    Google Scholar 

  7. Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Comm. ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  8. Hoare, C.A.R., Hayes, I.J., He, J., Morgan, C., Roscoe, A.W., Sanders, J.W., Sørensen, I.H., Spivey, J.M., Sufrin, B.: Laws of Programming. Comm. ACM 30(8), 672–687 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  9. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall (1998)

    Google Scholar 

  10. O’Hearn, P.W.: Resources, Concurrency and Local Reasoning. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 49–67. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  11. Plotkin, G.D.: A Structural Approach to Operational Semantics. DAIMI FN-16 Computer Science Department Aarhus University (1981)

    Google Scholar 

  12. Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)

    Book  MATH  Google Scholar 

  13. Hennessy, M.: Algebraic Theory of Processes. MIT Press (1988)

    Google Scholar 

  14. Baeten, J.C.M., Basten, T., Reniers, M.A.: Process Algebra: Equational Theories of Communicating Processes. Cambridge University Press (2010)

    Google Scholar 

  15. Wehrman, I., Hoare, C.A.R., O’Hearn, P.: Graphical models of separation logic. IPL 109(17), 1001–1004 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  16. Hoare, T., Wickerson, J.: Unifying Models of Data Flow. Software and Systems Safety, pp. 211–230. IOS Press (2011)

    Google Scholar 

  17. Hoare, C.A.R., Hussain, A., Möller, B., O’Hearn, P.W., Petersen, R.L., Struth, G.: On Locality and the Exchange Law for Concurrent Processes. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 250–264. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  18. Hoare, T., Moeller, B., Struth, G., Wehrman, I.: Concurrent Kleene Algebra and its Foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  19. Hoare, T., van Staden, S.: The Laws of Programming Unify Process Calculi. In: Gibbons, J., Nogueira, P. (eds.) MPC 2012. LNCS, vol. 7342, pp. 7–22. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  20. van Staden, S., Hoare, T.: Algebra Unifies Operational Calculi. In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 88–104. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  21. Back, R.-J., von Wright, J.: Refinement Calculus. Springer Graduate Texts in Computer Science (1998)

    Google Scholar 

  22. Morgan, C.: Programming from Specifications. Prentice Hall International (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hoare, T. (2013). Generic Models of the Laws of Programming. In: Liu, Z., Woodcock, J., Zhu, H. (eds) Theories of Programming and Formal Methods. Lecture Notes in Computer Science, vol 8051. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39698-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39698-4_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39697-7

  • Online ISBN: 978-3-642-39698-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics