Abstract
Higher-order programming admits the view of programs as values and has been shown useful to give a semantics to object-oriented languages. In building a UTP theory for object-orientation, one faces four major challenges: consistency of the program model, redefinition of methods in subclasses, recursion and mutual recursion, and simplicity. In this paper, we discuss how the UTP treatment of higher-order programs impacts on these issues and propose solutions to emerging problems. Our solutions give rise to a novel UTP theory of methods.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., Cardelli, L.: A Theory of Objects. Springer (1996)
Back, R.-J., Preoteasa, V.: Reasoning About Recursive Procedures with Parameters. In: Proceedings of the 2003 ACM SIGPLAN Workshop on Mechanized Reasoning about Languages with Variable Binding. ACM (August 2003)
Cavalcanti, A., Wellings, A., Woodcock, J.: The Safety-Critical Java Memory Model: A Formal Account. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 246–261. Springer, Heidelberg (2011)
Chin, W.-N., David, C., Nguyen, H.H., Qin, S.: Enhancing Modular OO Verification with Separation Logic. ACM SIGPLAN Not 43(1), 87–99 (2008)
Harwood, W., Cavalcanti, A., Woodcock, J.: A Theory of Pointers for the UTP. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 141–155. Springer, Heidelberg (2008)
He, J., Li, X., Liu, Z.: rCOS: A refinement calculus for object systems. Theoretical Computer Science 365(1-2), 109–142 (2006)
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall (February 1998)
Kassios, I.T.: Decoupling in Object Orientation. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 43–58. Springer, Heidelberg (2005)
Naumann, D.: Predicate Transformer Semantics of an Oberon-Like Language. In: Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi, PROCOMET 1994, pp. 467–487 (1994)
Naumann, D.: Predicate transformers and higher-order programs. Theoretical Computer Science 150(1), 111–159 (1995)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Nuka, G., Woodcock, J.: Mechanising a Unifying Theory. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 217–235. Springer, Heidelberg (2006)
Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying Theories in ProofPower-Z. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 123–140. Springer, Heidelberg (2006)
Santos, T., Cavalcanti, A., Sampaio, A.: Object-Orientation in the UTP. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 18–37. Springer, Heidelberg (2006)
Spivey, M.: The Consistency Theorem for Free Type Definitions in Z. Formal Aspects of Computing 8, 369–375 (1996)
Woodcock, J., Davies, J.: Using Z: Specification, Refinement and Proof. International Series in Computer Science. Prentice Hall (July 1996)
Zeyda, F.: A Theory of Methods: Validation of Laws. Technical report (July 2012), http://www.cs.york.ac.uk/circus/hijac/publication.html
Zeyda, F., Cavalcanti, A.: Mechanical reasoning about families of UTP theories. Science of Computer Programming 77(4), 444–479 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zeyda, F., Cavalcanti, A. (2013). Higher-Order UTP for a Theory of Methods. In: Wolff, B., Gaudel, MC., Feliachi, A. (eds) Unifying Theories of Programming. UTP 2012. Lecture Notes in Computer Science, vol 7681. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35705-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-35705-3_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35704-6
Online ISBN: 978-3-642-35705-3
eBook Packages: Computer ScienceComputer Science (R0)