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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
- Operational Semantic
- Sequential Composition
- Concurrent Programming
- Test Case Generator
- Communicate Sequential Process
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.
References
Roscoe, A.W.: Laws of occam programming, Tech Mon PRG-53. Oxford University (1986)
Tarski, A.: On the Calculus of Relations. J. Symbolic Logic 6(3), 73–89 (1941)
Hoare, T.: Unifying Semantics for Concurrent Programming (to appear, 2013)
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A Theory of Communicating Sequential Processes. JACM 31, 560–599 (1984)
Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)
Pratt, V.: The Pomset Model of Parallel Processses: Unifying the Temporal and the Spatial. Stanford University, STAN-CS-85-1049 (January 1985)
Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Comm. ACM 12(10), 576–580 (1969)
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)
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall (1998)
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)
Plotkin, G.D.: A Structural Approach to Operational Semantics. DAIMI FN-16 Computer Science Department Aarhus University (1981)
Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Hennessy, M.: Algebraic Theory of Processes. MIT Press (1988)
Baeten, J.C.M., Basten, T., Reniers, M.A.: Process Algebra: Equational Theories of Communicating Processes. Cambridge University Press (2010)
Wehrman, I., Hoare, C.A.R., O’Hearn, P.: Graphical models of separation logic. IPL 109(17), 1001–1004 (2009)
Hoare, T., Wickerson, J.: Unifying Models of Data Flow. Software and Systems Safety, pp. 211–230. IOS Press (2011)
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)
Hoare, T., Moeller, B., Struth, G., Wehrman, I.: Concurrent Kleene Algebra and its Foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011)
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)
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)
Back, R.-J., von Wright, J.: Refinement Calculus. Springer Graduate Texts in Computer Science (1998)
Morgan, C.: Programming from Specifications. Prentice Hall International (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)