Abstract
Inheritance is one of the key concepts in object-oriented programming (OOP). However, the usefulness of inheritance in concurrent OOP is greatly reduced by the inheritance anomalies. These anomalies have been subjected to intense research, but they are still only vaguely defined and often misunderstood. In this paper we show that concurrency is not the real cause of inheritance anomalies. We formally define the inheritance anomaly as a relationship between inheritance mechanisms and behavioural hierarchies. Our framework can be used to analyse the occurrence of inheritance anomalies in many different paradigms. A formal definition of the problem and a clear exposition of its causes are pre-requisites for a successful integration of inheritance and concurrency.
Chapter PDF
Similar content being viewed by others
References
M. Aksit, J. Bosch, W. van der Sterren, and L. Bergmans. Realtime specification inheritance anomalies and real-time filters. In ECOOP’94, LNCS 821, pages 386–407. Springer-Verlag, 1994.
P. America. Designing an object-oriented programming language with behavioural subtyping. LNCS 489, pages 60–90. Springer-Verlag, 1990.
M.Y. Ben-Gershon and S.J. Goldsack. Using inheritance to build extendable synchronisation policies for concurrent and distributed systems. In TOOLs Pacific ’85, pages 109–121, 1995.
W. Cook and J. Palsberg. A denotational semantics of inheritance and its correctness. In OOPSLA’89, pages 433–443, 1989.
L. Crnogorac and A. S. Rao. Inheritance by extensions and restrictions in agent systems. In ACSC’97, Sydney, Australia, February 1997.
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International Series in Computer Science. Prentice-Hall, 1985.
D. G. Kafura and K. H. Lee. Inheritance in Actor based concurrent object-oriented languages. In ECOOP’89, pages 131–145, UK, 1989.
U. Lechner, C. Lengauer, F. Nicki, and M. Wirsing. How to overcome the inheritance anomaly. In ECOOP’96, LNCS 1098. Springer-Verlag.
B. Liskov and J. M. Wing. A behavioral notion of subtyping. TOPLAS, 16 (6): 1811–1841, 1994.
S. Matsuoka, K. Wakita, and A. Yonezawa. Synchronization constraints with inheritance: What is not possible — so what is? Technical Report 10, Dept. of Information Science, the University of Tokyo, 1990.
S. Matsuoka and A. Yonezawa. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In Research Directions in COOP, chapter 1, pages 107–150. MIT Press, 1993.
C. McHale. Synchronisation in COO Languages: Expressive Power, Genericity and Inheritance. PhD dissertation, Trinity College, 1994.
J. Meseguer. Solving the inheritance anomaly in concurrent object-oriented programming. In ECOOP’93, LNCS 707, pages 220–246.
Y. Shoham. Agent-oriented programming. Artificial Intelligence, 60 (1): 51–92, 1993.
C. Tomlinson and V. Singh. Inheritance and synchronization with enabled-sets. In OOPSLA ’89, pages 103–112. ACM Press, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Crnogorac, L., Rao, A.S., Ramamohanarao, K. (1997). Inheritance Anomaly — A Formal Treatment. In: Bowman, H., Derrick, J. (eds) Formal Methods for Open Object-based Distributed Systems. IFIP Advances in Information and Communication Technology. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35261-9_22
Download citation
DOI: https://doi.org/10.1007/978-0-387-35261-9_22
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-5041-2952-7
Online ISBN: 978-0-387-35261-9
eBook Packages: Springer Book Archive