Abstract
Hoare and He’s Unifying Theories of Programming (UTP) is a framework that facilitates the integration of relational theories. None of the UTP theories of object orientation, however, supports recursion, dynamic binding, and compositional method definitions all at the same time. In addition, most of them are defined for a fixed language and do not lend themselves easily for integration with other UTP theories. Here, we present a novel theory of object orientation in the UTP that supports all of the aforementioned features while permitting its integration with other UTP theories. Our new theory also provides novel insights into how higher-order programming can be used to reason about object-oriented programs in a compositional manner. We exemplify its use by creating an object-oriented variant of a refinement language for real-time systems.
Keywords
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. Monographs in Computer Science. Springer, Heidelberg (1996)
Abadi, M., Leino, R.: A Logic of Object-Oriented Programs. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 682–696. Springer, Heidelberg (1997)
Butterfield, A., Sherif, A., Woodcock, J.: Slotted-Circus. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 75–97. Springer, Heidelberg (2007)
Cavalcanti, A., Wellings, A., Woodcock, J.: The Safety-Critical Java memory model formalised. Formal Aspects of Computing 25(1), 37–57 (2013)
Object Management Group. OMG Systems Modeling Language (OMG SysMLTM). Technical Report Version 1.3, OMG (June 2012)
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., Jifeng, H.: Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall, Upper Saddle River (1998)
Miyazawa, A., Lima, L., Cavalcanti, A.: SysML Blocks in CML. Technical Report COMPASS White Paper WP02, Seventh Framework Programme: Comprehensive Modelling for Advanced Systems of Systems (Grant 287829) (April 2013)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Aspects of Computing 21(1-2), 3–32 (2009)
Qin, S., Dong, J.S., Wei-Ngan, C.: A Semantic Foundation for TCOZ in Unifying Theories of Programming. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 321–340. Springer, Heidelberg (2003)
Santos, T.: A Unifying Theory of Object-Orientation. Technical Report (Qualifying Dissertation), Federal University of Pernambuco, Centre of Informatics, Brazil (2007), http://www.cin.ufpe.br/~acas/pub/TheoryObjectOrientation.pdf
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)
Shaner, S.M., Leavens, G.T., Naumann, D.A.: Modular Verification of Higher-Order Methods with Mandatory Calls Specified by Model Programs. ACM SIGPLAN Notices 42(10), 351–368 (2007)
Sherif, A., Cavalcanti, A., Jifeng, H., Sampaio, A.: A process algebraic framework for specification and validation of real-time systems. FAC-J 22, 153–191 (2009)
Smith, M.A., Gibbons, J.: Unifying Theories of Objects. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 599–618. Springer, Heidelberg (2007)
The Open Group. Safety Critical Java Technology Specification. Technical Report JSR-302, Java Community Process (January 2011)
Woodcock, J.: CML definition 4. Technical Report COMPASS Deliverable 23.5, FP7 Grant 287829 (2013), http://www.compass-research.eu
Zeyda, F.: Mechanising Higher-Order UTP in Isabelle/HOL. Technical report, University of York, York, YO10 4DL, UK (November 2013), http://www.cs.york.ac.uk/circus/publications/techreports/index.html
Zeyda, F., Cavalcanti, A.: Higher-Order UTP for a Theory of Methods. In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 204–223. Springer, Heidelberg (2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Zeyda, F., Santos, T., Cavalcanti, A., Sampaio, A. (2014). A Modular Theory of Object Orientation in Higher-Order UTP. In: Jones, C., Pihlajasaari, P., Sun, J. (eds) FM 2014: Formal Methods. FM 2014. Lecture Notes in Computer Science, vol 8442. Springer, Cham. https://doi.org/10.1007/978-3-319-06410-9_42
Download citation
DOI: https://doi.org/10.1007/978-3-319-06410-9_42
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-06409-3
Online ISBN: 978-3-319-06410-9
eBook Packages: Computer ScienceComputer Science (R0)