Beyond OOP : (2) Inheritance for Multidimensional Objects - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 1997

Beyond OOP : (2) Inheritance for Multidimensional Objects

Résumé

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.
Fichier principal
Vignette du fichier
RR-3158.pdf (1.4 Mo) Télécharger le fichier

Dates et versions

inria-00073531 , version 1 (24-05-2006)

Identifiants

  • HAL Id : inria-00073531 , version 1

Citer

Henry J. Borron. Beyond OOP : (2) Inheritance for Multidimensional Objects. [Research Report] RR-3158, INRIA. 1997. ⟨inria-00073531⟩
66 Consultations
28 Téléchargements

Partager

Gmail Facebook X LinkedIn More