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.

The full version is not available because the paper is superseded by the following publications:

  1. 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)

  2. W.M.P. van der Aalst and T. Basten. Life-Cycle Inheritance: A Petri-Net-Based Approach. In P. Azéma and G. Balbo, editors, Application and Theory of Petri Nets 1997, 18th. International Conference, ICATPN'97, Proceedings, pages 62-81. Toulouse, France, June 1997. Lecture Notes in Computer Science 1248. Springer, Berlin, Germany, 1997. (abstract / postscript / pdf)

Back to the list of Technical Reports.