Life-Cycle Inheritance: A Petri-Net-Based Approach
Inheritance is one of the key issues of object-orientation. The
inheritance mechanism allows for the definition of a subclass
which inherits the features of a specific superclass. This means
that methods and attributes defined for the superclass are also
available for objects of the subclass. Existing methods for
object-oriented modeling and design abstract from the dynamic
behavior of objects when defining inheritance. Nevertheless, it
would be useful to have a mechanism which allows for the
inheritance of dynamic behavior. This paper describes a
Petri-net-based approach to the formal specification and verification
of this type of inheritance. We use Petri nets to specify the
dynamics of an object class. The Petri-net formalism allows for a
graphical representation of the life cycle of objects which
belong to a specific object class. Four possible inheritance
relations are defined. These inheritance relations can be
verified automatically. Moreover, four powerful transformation
rules which preserve specific inheritance relations are given.
To illustrate the relevance of these results, the application
to workflow management is demonstrated.
(
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.