Solving the inheritance anomaly in concurrent object-oriented programming

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The inheritance anomaly [23] refers to the serious difficulty in combining inheritance and concurrency in a simple and satisfactory way within a concurrent object-oriented language. The problem is closely connected with the need to impose synchronization constraints on the acceptance of a message by an object. In most concurrent object-oriented languages this synchronization is achieved by synchronization code controlling the acceptance of messages by objects. Synchronization code is often hard to inherit and tends to require extensive redefinitions. The solutions that have appeared so far in the literature to alleviate this problem seem to implicitly assume that better, more reusable, mechanisms are needed to create and structure synchronization code. The approach taken in this paper is to consider the inheritance anomaly as a problem caused by the very presence of synchronization code. The goal is then to completely eliminate synchronization code. This is achieved by using order-sorted rewriting logic, an abstract model of concurrent computation that is machine-independent and extremely fine grain, and that can be used directly to program concurrent object-oriented systems. Our proposed solution involves a distinction between two different notions of inheritance, a type-theoretic one called class inheritance, and a notion called module inheritance that supports reuse and modification of code. These two different notions address two different ways in which the inheritance anomaly can appear; for each of them we propose declarative solutions in which no explicit synchronization code is ever used.

Original languageEnglish (US)
Title of host publicationECOOP 1993 - Object-Oriented Programming - 7th European Conference, Proceedings
EditorsOscar M. Nierstrasz
PublisherSpringer
Pages220-246
Number of pages27
ISBN (Print)9783540571209
DOIs
StatePublished - 1993
Externally publishedYes
Event7th European Conference on Object-Oriented Programming, ECOOP 1993 - Kaiserslautern, Germany
Duration: Jul 26 1993Jul 30 1993

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume707 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other7th European Conference on Object-Oriented Programming, ECOOP 1993
Country/TerritoryGermany
CityKaiserslautern
Period7/26/937/30/93

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Solving the inheritance anomaly in concurrent object-oriented programming'. Together they form a unique fingerprint.

Cite this