Inheritance of Object Behavior - Consistent Extensions of Object Life

G. Kappel, M. Schrefl
Kapp94a (1994)
J. Eder, L. A. Kalinichenko (eds.): Proceedings of the 2nd International East/West Database Workshop, Klagenfurt, Austria, 25.-28. September 1994, Springer Verlag (Workshops in Computing), ISBN 3-540-19946-2, 1994.
Kopie  (Senden Sie ein Email mit  Kapp94a  als Betreff an um diese Kopie zu erhalten)


Inheritance is one of the most prominent features of object-oriented design. Object types are organized in hierarchies in which subtypes inherit the structure as well as the behavior of supertypes. As inheritance of behavior is concerned, the discussion has mainly focused on inheritance of single activities in the past. Object behavior, however, is specified at two interrelated levels of detail: at the activity level and at the object type level. The latter is specified in terms of object life cycles that identify legal sequences of states and activities.

In this paper we treat inheritance of object life cycles in the realm of Behavior Diagrams, which are based on Petri nets. A behavior diagram of an object type models the possible life cycle of ist instances by states, activities, and arcs corresponding to places, transitions, and arcs of Petri nets. In an inheritance hierarchy, subtypes usually specialize supertypes in two ways: by extension and by refinement. For Behavior Diagrams, extension means adding activities, states, and arcs; and refinement means expanding activities and states in subnets. The main contribution of this paper is a set of sufficient and necessary conditions to check whether behavior diagram consistently extends another behavior diagram .