Object-Orientation in the UTP
In this paper, we study object-oriented programming concepts present in languages like Java and C++ in the framework of the Unifying Theories of Programming (UTP). This work shows how subtyping, data inheritance, (mutually) recursive methods, and dynamic binding can be described in the UTP by combining and extending the theories of designs and higher-order procedures. A distinguishing feature of our approach is modularity: following the style of the UTP, we deal with each concept in isolation; this makes our theory convenient to model integrated languages that include constructs from several paradigms.
KeywordsMethod Call Observational Variable Parametrise Program Primitive Type Dynamic Binding
Unable to display preview. Download preview PDF.
- 1.Plotkin, G.: A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University (1981)Google Scholar
- 2.Drossopoulou, S., Eisenbach, S.: Towards an Operational Semantics and Proof of Type Soundness for Java. Springer, Heidelberg (1998)Google Scholar
- 3.Schmdit, D.A.: Denotational Semantics. A Methodology for Language Development. Allyn and Bacon, Inc. (1986)Google Scholar
- 6.Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
- 7.Jifeng, H., Li, X., Liu, Z.: A Refinement Calculus for Object Systems. Technical report 322, UNU-IIST, P.O.Box 3058, Macau (2005)Google Scholar
- 14.Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall Series in Computer Science. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
- 16.Back, R.J.R.: Procedural Abstraction in the Refinement Calculus. Technical report, Department of Computer Science, Åbo, Finland, Ser. A No. 55 (1987)Google Scholar
- 18.Borba, P.H.M., Sampaio, A.C.A.: Basic Laws of ROOL: an object-oriented language. In: 3rd Workshop on Formal Methods, Brazil, pp. 33–44 (2000)Google Scholar
- 20.Hehner, E.: A Practical Theory of Programming, 2nd edn. Springer, New York (2004)Google Scholar