Skip to Main content Skip to Navigation
Reports

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.
Document type :
Reports
Complete list of metadata

https://hal.inria.fr/inria-00073531
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 1:08:30 PM
Last modification on : Saturday, January 27, 2018 - 1:31:32 AM
Long-term archiving on: : Thursday, March 24, 2011 - 12:53:39 PM

Identifiers

  • HAL Id : inria-00073531, version 1

Collections

Citation

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

Share

Metrics

Record views

118

Files downloads

61