Academia.eduAcademia.edu

Outline

Inheritance Anomaly — A Formal Treatment

1997, IFIP Advances in Information and Communication Technology

https://doi.org/10.1007/978-0-387-35261-9_22

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 prerequisites for a successful integration of inheritance and concurrency.

References (16)

  1. M. Aksit, J. Bosch, W. van der Sterren, and L. Bergmans. Real- time specification inheritance anomalies and real-time filters. In ECOOP'94, LNCS 821, pages 386-407. Springer-Verlag, 1994.
  2. P. America. Designing an object-oriented programming language with behavioural subtyping. LNCS 489, pages 60-90. Springer-Verlag, 1990.
  3. M.Y. Ben-Gershon and S.J. Goldsack. Using inheritance to build extend- able synchronisation policies for concurrent and distributed systems. In TOOLs Pacific '95, pages 109-121, 1995.
  4. W. Cook and J. Palsberg. A denotational semantics of inheritance and its correctness. In OOPSLA '89, pages 433-443, 1989.
  5. L. Crnogorac and A. S. Ra:o. Inheritance by extensions and restrictions in agent systems. In ACSC'97, Sydney, Australia, February 1997.
  6. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall In- ternational Series in Computer Science. Prentice-Hall, 1985.
  7. D. G. Kafura and K. H. Lee. Inheritance in Actor based concurrent object-oriented languages. In ECOOP'89, pages 131-145, UK, 1989.
  8. U. Lechner, C. Lengauer, F. Nicki, and M. Wirsing. How to overcome the inheritance anomaly. In ECOOP'96, LNCS 1098. Springer-Verlag.
  9. B. Liskov and J. M. Wing. A behavioral notion of subtyping. TOP LAS, 16(6):1811-1841, 1994.
  10. S. Matsuoka, K. Wakita, and A. Yonezawa. Synchronization constraints with inheritance: What is not possible -so what is? Technical Re- port 10, Dept. of Information Science, the University of Tokyo, 1990.
  11. S. Matsuoka and A. Yonezawa. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In Research Di- rections in COOP, chapter 1, pages 107-150. MIT Press, 1993.
  12. C. McHale. Synchronisation in COO Languages: Expressive Power, Genericity and Inheritance. PhD dissertation, Trinity College, 1994.
  13. J. Meseguer. Solving the inheritance anomaly in concurrent object- oriented programming. In ECOOP'93, LNCS 707, pages 220-246.
  14. Y. Shoham. Agent-oriented programming. Artificial Intelligence, 60(1):51-92, 1993.
  15. C. Tomlinson and V. Singh. Inheritance and synchronization with enabled-sets. In OOPSLA '89, pages 103-112. ACM Press, 1989.
  16. BIOGRAPHY Dr Anand Rao is the Chief Research Scientist at the Australian AI Insti- tute. He obtained his PhD from the University of Sydney in 1988, and spent a year at IBM's T.J. Watson Research Center. He has published a number of papers in reactive planning and recognition; families of Belief-Desire-Intention (BDI) logics and their properties; and agent-oriented languages and method- ologies. Prof. Kotagiri Ramamohanarao received his PhD from Monash University in 1980. He is well known for his contributions in the areas of dy- namic hash indexing, partial match retrieval and deductive database systems with over 100 refereed papers. He has been a program committee member for several prestigious international conferences including VLDB, ICDE, ICLP, EUROPAR and ISLP. Lobel Crnogorac is a PhD student at The University of Melbourne working on incorporation of inheritance into AOP.