Supporting Evolving Objects Without Giving Up Classes

Mira Mezini · 1995

There are two main models of inheritance employed in object-oriented systems: class-based and object-based inheritance. Although classbased inheritance is beneficial for providing abstractions to encapsulate, classify and structure objects, it is too rigid to deal with the dynamic and unanticipated incremental modifications required in application domains where the functionality of objects is supposed to evolve. In contrast, object-based inheritance is particularly suitable in situations where the dynamic evolution of objects is desired, but this is achieved at the expense of an object model which does not maintain the encapsulation property. In this paper, we propose a new approach for supporting evolving objects while preserving the advantages of the class-based model. The approach is based on maintaining the object-class separation of the class-based model and on introducing an additional abstraction level between objects and their class. The new abstraction relaxes the static objec...

Read the paper · More papers on PaperTik