Abstract
We have investigated the concepts of inheritance and subtyping in order to integrate them in a parallel object-oriented language. In doing so, we have concluded that inheritance and subtyping are two different concepts, which should not be confused in any object-oriented language (be it parallel or sequential). Inheritance takes place on the implementation level of classes, and it is a convenient mechanism for code sharing. It can be supported, for example, by introducing inheritance packages into a programming language. Subtyping deals with the message interface of objects, and it leads to a conceptual hierarchy based on behavioural specialization. Subtyping should take place on the basis of specifications of the external behaviour of objects, and as much as possible of these specifications should be formal. Some specific problems with introducing these two concepts into a parallel language are also discussed.
This work is carried out in the context of ESPRIT project 415: “Parallel Architectures and Languages for Advanced Information Processing — a VLSI-directed approach”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The Programming Language Ada Reference Manual. ANSI/MIL-STD-1815A-1983, published in: Lecture Notes in Computer Science, Vol. 155, Springer-Verlag, 1983.
Pierre America: Definition of the programming language POOL-T. ESPRIT project 415A, Doc. No. 0091, Philips Research Laboratories, Eindhoven, the Netherlands, September 1985.
Pierre America, Jaco de Bakker, Joost N. Kok, Jan Rutten: Operational semantics of a parallel object-oriented language. Conference Record of the 13th Symposium on Principles of Programming Languages, St. Petersburg, Florida, January 13–15, 1986, pp. 194–208.
Pierre America: Object-oriented programming: a theoretician’s introduction. Bulletin of the European Association for Theoretical Computer Science, No. 29, June 1986, pp. 69–84.
Daniel G. Bobrow, Mark Stefik: The LOOPS Manual. Technical Report KB-VLSI-81-13, Xerox Palo Alto Research Center, Palo Alto, California, 1981.
Alan H. Borning, Daniel H.H. Ingalls: Multiple Inheritance in Smalltalk-80. Proceedings of the AAAI Conference, Pittsburgh, August 1982, pp. 234–237.
Luca Cardelli: A semantics of multiple inheritance. In: G. Kahn, D.B. MacQueen, G. Plotkin (eds.): Semantics of Data Types. Springer-Verlag, Lecture Notes in Computer Science, Vol. 173, 1984, pp. 51–67.
Luca Cardelli, Peter Wegner: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, Vol. 17, No. 4, December 1985, pp. 471–522.
William D. Clinger: Foundations of actor semantics. Technical report 633 (Ph. D. Thesis), Massachusetts Institute of Technology, Artificial Intelligence Laboratory, May 1981.
Ole-Johan Dahl, Kristen Nygaard: Simula — an ALGOL-based simulation language. Communications of the ACM, Vol. 9, No. 9, September 1966, pp. 671–678.
Adele Goldberg, David Robson: Smalltalk-80, The Language and its Implementation. Addison-Wesley, 1983.
Carl Hewitt, Henry Baker: Laws for communicating parallel processes. In: Proceedings of IFIP-77, Toronto, Canada, August 1977, pp. 987–992.
Van Nguyen, Alan Demers, David Gries, Susan Owicki: A model and temporal proof system for networks of processes. Distributed Computing, Vol. 1, 1986, pp. 7–25.
Eddy Odijk: The Philips Object-Oriented Parallel Computer. In: J.V. Woods (ed.): Fifth Generation Computer Architecture (PIP TC-10). North-Holland, 1985.
Craig Schaffert, Topher Cooper, Bruce Bullis, Mike Kilian, Carrie Wilpolt: An introduction to Trellis/Owl, Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Oregon, September 1986, pp. 9–16.
Alan Snyder: Encapsulation and inheritance in object-oriented programming languages. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Oregon, September 1986, pp. 38–45.
Daniel Weinreb, David Moon: Flavors: Message passing in the Lisp machine. A1 Memo 602, November 1980, Massachusetts Institute of Technology, Artificial Intelligence Laboratory.
Akinori Yonezawa, Mario Tokoro (eds.): Object-Oriented Concurrent Systems. MIT Press, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
America, P. (1987). Inheritance and Subtyping in a Parallel Object-Oriented Language. In: Bézivin, J., Hullot, JM., Cointe, P., Lieberman, H. (eds) ECOOP’ 87 European Conference on Object-Oriented Programming. ECOOP 1987. Lecture Notes in Computer Science, vol 276. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47891-4_22
Download citation
DOI: https://doi.org/10.1007/3-540-47891-4_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18353-2
Online ISBN: 978-3-540-47891-1
eBook Packages: Springer Book Archive