Beyond OOP : (2) Inheritance for Multidimensional Objects

Abstract : Inheritance is an essential aspect of any object oriented system, be it reactive or not. The work summarized in this synthesis report generalizes to multidimensional objects the most powerful technique presently known, i.e. inheritance and combination based on a preliminary linearization (cf. CLOS and languages alike). The report depicts the problems encountered as well as the proposed solutions which are meant to be sound and practical. Fundamentally, a linearization is done dimension by dimension (hence, N "lines"). For memory representations, a simple and usual constraint makes each representation to be long to a single line : each line being independent, the combination is easy. Concerning methods, the lines are interwining since methods may satisfy several dimensions. To simplify the obtained structure, a condition (verified in practice) is proposed and a rule (quite simple to apply) is used which transforms the interwining structure into an arborescent one. This being done, methods are easy to combine. Very sophisticated combinations (as in CLOS) are supported while ensuring a pure declarative style (contrary to CLOS) : the order of methods can be obtained from the headers only, without looking inside the method bodies for "send-super" statements. The report also studies under what conditions linearizations are easy to predict (cognitive aspect) : with this objective in mind, a proposal is made which is highly efficient at the same time. The proposition made here can be taken as a source of inspiration, acting as an upper limit for less automatic and sophisticated inheritance schemes. It can also be adapted to the realization of an object-oriented system centered on Harel's statecharts, an important point for the industry given the crucial applications of reactive systems.
Type de document :
[Research Report] RR-3158, INRIA. 1997
Liste complète des métadonnées
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 13:08:30
Dernière modification le : samedi 27 janvier 2018 - 01:31:32
Document(s) archivé(s) le : jeudi 24 mars 2011 - 12:53:39



  • HAL Id : inria-00073531, version 1



Henry J. Borron. Beyond OOP : (2) Inheritance for Multidimensional Objects. [Research Report] RR-3158, INRIA. 1997. 〈inria-00073531〉



Consultations de la notice


Téléchargements de fichiers