HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation

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 :
Complete list of metadata

Contributor : Rapport de Recherche Inria Connect in order to contact the contributor
Submitted on : Wednesday, May 24, 2006 - 1:08:30 PM
Last modification on : Friday, February 4, 2022 - 3:16:49 AM
Long-term archiving on: : Thursday, March 24, 2011 - 12:53:39 PM


  • HAL Id : inria-00073531, version 1



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



Record views


Files downloads