Hostname: page-component-848d4c4894-8bljj Total loading time: 0 Render date: 2024-07-07T08:25:25.607Z Has data issue: false hasContentIssue false

An object-oriented calculus with term constraints

Published online by Cambridge University Press:  04 January 2007

GÁBOR M. SURÁNYI*
Affiliation:
Budapest University of Technology and Economics, H–1117 Budapest, Hungary (e-mail: gabor.suranyi@db.bme.hu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

Safety has become a fundamental requirement in all aspects of computer systems. Object-oriented calculi, such as Castagna's λ&-calculus and its variants (Castagna, 1997) ensure type safety in environments based on the distinguished object-oriented paradigm. Although for safety reasons object invariance and operation specifications are getting widely employed in all stages of the engineering process, they are not supported by these calculi. In this paper, a new calculus is presented which supports term (value) constraints besides the key object-oriented mechanisms (class types, inheritance, overloading with multiple dispatch and late binding). We also show how a type with constraints may realise a role, another useful object-oriented modelling element. The soundness of the type system and the confluence of the notion of reduction of the calculus are considered. The contribution also discusses computability issues partially arising from the use of first-order logic to formalise the constraints.

Type
Article
Copyright
Copyright © Cambridge University Press 2007

References

Abadi, M. & Leino, K. R. M. (1998) A logic of object-oriented programs. Tech. rept. 161. Digital Systems Research Center, 130 Lytton Avenue, Palo Alto, California 94301.Google Scholar
Börger, E., Grädel, E. & Gurevich, Y., (1997 The classical decision problem. 1st edn. Springer-Verlag Telos.CrossRefGoogle Scholar
Boudol, G. (1997) Typing the use of resources in a concurrent calculus. Pages 239–253 of: ASIAN'97. Lecture Notes in Computer Science, vol. 1345. London, United Kingdom: Springer-Verlag.Google Scholar
Cardelli, L. (1988) A semantics of multiple inheritance. Information and Computation, 76 (2/3), 138164.CrossRefGoogle Scholar
Cardelli, L. (2004) Type systems. Chap. 97 of: Tucker, Jr., Allen, B. (ed), Computer science handbook, 2nd edn. CRC Press.Google Scholar
Castagna, G. (1997) Object-oriented programming: A unified foundation. Progress in Theoretical Computer Science. Boston: Birkhäuser.Google Scholar
Curien, P.-L. & Ghelli, G., (1992) Coherence of subsumption, minimum typing and type checking in {$F_\leq$}. Mathematical structures in computer science, 2 (1), 5591.CrossRefGoogle Scholar
de, Boer, F. S. (1999) A WP-calculus for OO. Pages 135–149 of: Thomas, W., (ed), FOSSACS'99 (ETAPS'99). Lecture Notes in Computer Science, vol. 1578. London, United Kingdom: Springer-Verlag.Google Scholar
Ghelli, G. (2002) Foundations for extensible objects with roles. Information and Computation, 175 (1), 5075.CrossRefGoogle Scholar
Gottlob, G., Schrefl, M. & Röck, B., (1996) Extending object-oriented systems with roles. ACM Transactions on Information Systems, 14 (3), 268296.CrossRefGoogle Scholar
Hoare, C. A. R. (1969) An axiomatic basis for computer programming. Communications of the ACM, 12 (10), 576580, 583.CrossRefGoogle Scholar
Hofmann, M., Naraschewski, W., Steffen, M., & Stroup, T., (1996) Inheritance of proofs. Tech. rept. IMMDVII-5/96. Universität Erlangen-Nürnberg.Google Scholar
Hofmann, M., Naraschewski, W., Steffen, M. & Stroup, T., (1998) Inheritance of proofs. Theory and Practice of Object Systems, 4 (1), 5169.3.0.CO;2-A>CrossRefGoogle Scholar
Igarashi, A. & Kobayashi, N., (2004) A generic type system for the pi-calculus. Theoretical Computer Science, 311 (1–3), 121163.CrossRefGoogle Scholar
Kardkovács, Z. S. T. & Surányi, G. M., (2004) An axiomatic model for deductive object-oriented databases. Pages 325–336 of: Proceedings of the 5th international symposium of Hungarian researchers on computational intelligence. Budapest Tech and Hungarian Fuzzy Association.Google Scholar
Kobayashi, N. & Yonezawa, A., (1994) Type-theoretic foundations for concurrent object-oriented programing. Pages 31–45 of: OOPSLA'94. ACM Press.Google Scholar
Krishnaswami, N. & Aldrich, J., (2005) Permission-based ownership: Encapsulating state in higher-order typed languages. Pages 96–106 of: PLDI'05. New York, NY, USA: ACM Press.Google Scholar
Li, L., (2004) Extending the Java language with dynamic classification. Journal of object technology, 3 (7), 101120.CrossRefGoogle Scholar
OCL (2003) OCL2.0 –- OMG final adopted specification. Object Management Group, Inc.Google Scholar
Papazoglou, M. P. & Krämer, B. J., (1997) A database model for object dynamics. The VLDB Journal, 6 (2), 7396.CrossRefGoogle Scholar
Poetzsch-Heffter, A., & Müller, P., (1998) Logical foundations for typed object-oriented languages. Pages 404–423 of: Gries, David, & de, Roever, Willem P., (eds), PROCOMET'98. IFIP Conference Proceedings, vol. 125. Chapman & Hall, Ltd.Google Scholar
Rundensteiner, E. A., (1992) MultiView: A methodology for supporting multiple views in object-oriented databases. Pages 187–198 of: Yuan, L.-Y., (ed.), Proceedings of the 18th international conference on Very Large Data Bases. Morgan Kaufmann.Google Scholar
UML (2003) OMG unified modeling language specification, version 1.5. Object Management Group, Inc.Google Scholar
Wand, M., (1987) Complete type inference for simple objects. Pages 37–44 of: Proceedings of symposium on logic in computer science. The Computer Society of IEEE.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.