Beyond OOP (1) : Multidimensional Object Behavior Modeling

Abstract : The work summarized in this synthesis report proposes a multidimensional modelling of objects using a state-transition formalism. The answer of a multidimensional object to an external event (message or generic function call) depends not only on its class, but also on its state. A clear distinction is made between the specification and the implementation of a class. Concerning the specification, the fundamental concepts are those of transition and (discrete) state : to each class is associated a graph describing the behaviour of its instances in a N-dimension state space. A transition expresses the possibility for an external event to validly occur in a certain state (source state) ; it also expresses the effect of this event on the object state (destination state). The concepts of slot and method only belong to the implementation level : the class graph may be augmented by the specification of memory representations and micro-methods (a pre-method at a source state ; a post-method at a destination state). In cartesian coordinates, the state of an object corresponds to a point in the space, a point which is identified as such, or using its coordinates along the different axes (dimensions). Yet, for a human being, a N-dimension space is difficult to represent when N is greater than 3. This is why a visual formalism has been designed for displaying any class graph on paper or on a screen. This formalism is connectedness based while other formalisms are insideness based. The mixin concept, known in traditional OOP, has been extended and refined. Thanks to it, a behavioral supplement may be isolated in a reusable graph, which graph may be attached to one node of a class graph. An attachment constraint may be specified. A key point in the modelling is the type of transitions (CIRcular, pure OUTcoming or IMPure outcoming) at the hook node of the base graph. Efficient parameterized mixins are supported too. A concept of potential has been elaborated. Related to the notion of invariant, it is defined in a modular way for each dimension. It is valid for classes as well as for mixins (an initialization function is used in this later case). Thanks to this concept, an abstract body may be specified for each method and for each node condition. It paves the way to a more reliable form of programming.
Type de document :
[Research Report] RR-3157, INRIA. 1997
Liste complète des métadonnées
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 13:08:38
Dernière modification le : samedi 27 janvier 2018 - 01:31:29
Document(s) archivé(s) le : jeudi 24 mars 2011 - 12:54:04



  • HAL Id : inria-00073532, version 1



Henry J. Borron. Beyond OOP (1) : Multidimensional Object Behavior Modeling. [Research Report] RR-3157, INRIA. 1997. 〈inria-00073532〉



Consultations de la notice


Téléchargements de fichiers