Inheritance Anomaly in Object Oriented Programming

Essay by EssaySwap ContributorHigh School, 12th grade February 2008

download word file, 22 pages 0.0

Downloaded 21 times

1. Motivation concurrent-OO languages provide maximum computatinal and modeling power through concurrency of objects, encapsulation and code re-use. It has been found that synchronization code cannot be inherited without non-trivial redefinitions, this phenomenon is known as Inheritance Anomaly. Inheritance Anomaly is more severe than violation of class encapsulation in sequential language. Inheritance anomaly entails a severe drawback for the development of large-scale and complex systems in Object Oriented Concurrent Programming(OOCP) languages because greatest benefit of using the OO framework are inheritance and encapsulation. Better more reusable, mechanisms are needed to create and structure synchronization code.

2. Abstract Inheritance Anomaly 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. This paper surveys the work of many researchers on Inheritance Anomaly in OOCP Languages. The main emphasis on how to avoid or minimize inheritance anomaly. The goal of this paper is to express as faithfully as possible a wide range of synchronization scheme. We would see how each scheme attempt to inherit and re-use the code of concurrent objects which results in breakage of encapsulation. Bringing different models under a common semantic framework makes easier to understand what different models have in common and how they differ, to find deep connections between them.

3. Introduction Concurrency and inheritance have conflicting characteristics, thereby inhibiting their simultaneous use without heavy breakage of encapsulation. This phenomenon forcing of redefinitions of inherited methods in order to maintain the integrity of...