Inheritance of Dynamic Behavior: Development of a Groupware Editor

One of the key issues of object-oriented modeling is inheritance. It allows for the definition of subclasses that inherit features of some superclass. Inheritance is well defined for static properties of classes such as attributes and methods. However, there is no general agreement on the meaning of inheritance when considering dynamic behavior of objects. This paper studies inheritance of dynamic behavior in a framework based on Petri nets. The notions of an object life cycle and inheritance between life cycles are defined. The inheritance relation is based on two fundamental concepts, namely blocking and hiding method calls. Several transformation rules are given to construct subclasses from a given superclass, thus allowing reuse of life-cycle specifications during a design. To show the validity of the approach, the results are applied to the development of a groupware editor.

( postscript / pdf version of the complete paper)

Note that the paper is superseded by the following publication:

T. Basten and W.M.P. van der Aalst. Inheritance of Behavior. Journal of Logic and Algebraic Programming, 47(2):47-145, March/April 2001. (abstract / postscript / pdf)

Back to the list of publications.