Abstract
We present an approach to modelling Abadi-Cardelli-style object calculi as Unifying Theories of Programming (UTP) designs. Here we provide a core object calculus with an operational small-step evaluation rule semantics, and a corresponding UTP model with a denotational relational predicate semantics. For clarity, the UTP model is defined in terms of an operand stack, which is used to store the results of subprograms. Models of a less operational nature are briefly discussed. The consistency of the UTP model is demonstrated by a structural induction proof over the operations of the core object calculus. Overall, our UTP model is intended to provide facilities for encoding both object-based and class-based languages.
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, Berlin Heidelberg (1996)
Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: Unifying classes and processes. Software and System Modelling 4(3), 277–296 (2005)
Cavalcanti, A., Harwood, W., Woodcock, J.: Pointers and records in the unifying theories of programming. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, Springer, Heidelberg (2006)
He, J., Liu, Z., Li, X.: Towards a refinement calculus for object systems. Research Report 251, UNU/IIST, P.O. Box 3058, Macau (May 2002)
Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993) Electronic edition freely available on line from: www.cs.utoronto.ca/~hehner/aPToP
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Computer Science. Prentice-Hall, Englewood Cliffs (1998)
Hoare, C.A.R., He, J.: A trace model for pointers and objects. In: 13th European Conference on Object-Oriented Programming, pages 1–17 (1999)
Kassios, I.T.: Objects as predicates. Technical report, Computer Systems Research Group, University of Toronto (2004)
Kassios, I.T.: A Theory of Object Oriented Refinement. PhD thesis, University of Toronto (2006)
Pierce, B.C. (ed.): Types and Programming Languages. MIT Press, Cambridge (2002)
Santos, T., Cavalcanti, A., Sampaio, A.: Object-orientation in UTP. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 20–38. Springer, Heidelberg (2006)
Woodcock, J.C.P., Cavalcanti, A.L.C.: A tutorial introduction to designs in unifying theories of programming. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 40–66. Springer, Heidelberg (2004) Invited tutorial
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Smith, M.A., Gibbons, J. (2007). Unifying Theories of Objects. In: Davies, J., Gibbons, J. (eds) Integrated Formal Methods. IFM 2007. Lecture Notes in Computer Science, vol 4591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73210-5_31
Download citation
DOI: https://doi.org/10.1007/978-3-540-73210-5_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73209-9
Online ISBN: 978-3-540-73210-5
eBook Packages: Computer ScienceComputer Science (R0)