Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

An object addressing mechanism for statically typed languages with multiple inheritance

Published: 01 September 1989 Publication History

Abstract

In this paper we are concerned with addressing techniques for statically typed languages with multiple inheritance. The addressing techniques are responsible for the efficient implementation of record field selection. In object-oriented languages, this record selection is equivalent to the access of methods. Thus, the efficiency of these techniques greatly affects the overall performance of an object-oriented language. We will demonstrate that addresses, in such systems, cannot always be calculated statically and show how symbol tables have been used as address maps at run time. The essence of the paper is a new addressing technique that can statically calculate either the address of a field or the address of the address of the field. This technique is powerful enough to support an efficient implementation of multiple inheritance with implicit subtyping as described by Cardelli.

References

[1]
Atkinson M.P. Bailey P.J., Chisholm K.J., Cockshott W.P. & Morrison R."An Approach to Persistent Programming". The Computer Journal, Vol 26, No 4 (December 1983) pp 360- 365.
[2]
Atkinson M.P & Morrison R. "Procedures as Persistent Data Objects", ACM ToPLaS, Vol 7, No 4 (October 1985) pp 539-559.
[3]
Bancilhon F., Barbedette G., Benzaken V., Delobel C., Gamerman S, Lecluse C., Pfeffer P., Richard P. & Valez F. "The Design and Implementation of 02, an Object Oriented Database System". Proc. 2rid International Workshop on Object-Oriented Database Systems, West Germany. In Lecture Notes in Computer Science, 334. Springer-Vedag (September 1988) pp. 1-22.
[4]
Brown A.L., Cormor R.C.H., Carrick R., Dearle A. & Morrison R. "the Persistent Abstract Machine Version 4.0". Universifies of St Andrews and Glasgow PPRR-59 (1988),
[5]
Cardelli L. "A Semantics of Multiple Inheritance", In Semantics of Data Types, Lecture Notes in Computer Science 173, Springer-Verlag (1984) pp 51-67.
[6]
Connor R.C.H., Brown, A.L., Carriek R., Dearie A. & Morrison R, "/'he Persistent Abstract Machine". Proc. 3rd International Workshop on Persistent Object Systems, Newcastle, Australia. (January 1989) pp 80-95.
[7]
Cormors T. & Lyngbaek P. "Providing Uniform Access to Heterogenous Information Bases". Proe. 2nd International Workshop on Object-Oriented Database Systems, West Germany. In Lecture Notes in Computer Science, 334. Springer-Verlag, pp. 162-173 (September 1988).
[8]
Goldberg A. & Robson D. Smalltalk-80: The Language and its Implementation, Addison Wesley (1983).
[9]
Meyer B. Object-Oriented Software Construction, Prenrice Hall (1988).
[10]
Stroustrup B. The C++ Programming Language, Addison Wesley (1986).
[11]
Stroustrup B. "Multiple Inheritance for C++", European Unix Systems User Group Newsletter, Volume 7 (1987).
[12]
Skarra A. & Zdonik S.B. "An Object Server for an Object-Oriented Database System", Proc. International Workshop on Object-Oriented Database Systems, Pacific Grove California (September 1986) pp 196-204.
[13]
Wegner P. & Zdonik S.B. "Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like", In Proceedings ECOOP "88- European conference on Object-Oriented programming, Lecture Notes in Computer Science 322, Oslo, Norway, (August 1988) pp 55-77.

Cited By

View all
  • (1995)A polymorphic record calculus and its compilationACM Transactions on Programming Languages and Systems10.1145/218570.21857217:6(844-895)Online publication date: 30-Nov-1995
  • (1991)An ad hoc approach to the implementation of polymorphismACM Transactions on Programming Languages and Systems10.1145/117009.11701713:3(342-371)Online publication date: 1-Jul-1991
  • (2000)The Napier88 Persistent Programming Language and EnvironmentFully Integrated Data Environments10.1007/978-3-642-59623-0_6(98-154)Online publication date: 2000
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1989
Published in SIGPLAN Volume 24, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)7
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (1995)A polymorphic record calculus and its compilationACM Transactions on Programming Languages and Systems10.1145/218570.21857217:6(844-895)Online publication date: 30-Nov-1995
  • (1991)An ad hoc approach to the implementation of polymorphismACM Transactions on Programming Languages and Systems10.1145/117009.11701713:3(342-371)Online publication date: 1-Jul-1991
  • (2000)The Napier88 Persistent Programming Language and EnvironmentFully Integrated Data Environments10.1007/978-3-642-59623-0_6(98-154)Online publication date: 2000
  • (2000)An ad hoc Approach to the Implementation of PolymorphismFully Integrated Data Environments10.1007/978-3-642-59623-0_39(502-504)Online publication date: 2000
  • (2000)Persistent Foundations for Scalable Multi-Paradigmal SystemsFully Integrated Data Environments10.1007/978-3-642-59623-0_23(310-340)Online publication date: 2000
  • (1993)Run-Time Support for Hierarchic Records in Persistent LanguagesPersistent Object Systems10.1007/978-1-4471-3209-7_7(107-123)Online publication date: 1993
  • (1992)A compilation method for ML-style polymorphic record calculiProceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/143165.143200(154-165)Online publication date: 1-Feb-1992
  • (1991)CLOStrophobia: its etiology and treatmentACM SIGPLAN OOPS Messenger10.1145/126983.1269842:4(4-15)Online publication date: 1-Oct-1991
  • (1991)Architectural support for persistent object systemsProceedings 1991 International Workshop on Object Orientation in Operating Systems10.1109/IWOOOS.1991.183022(48-60)Online publication date: 1991
  • (1990)Two-directional record layout for multiple inheritanceACM SIGPLAN Notices10.1145/93548.9355625:6(85-91)Online publication date: 1-Jun-1990
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media