A Process-Algebraic Approach to Life-Cycle Inheritance
Inheritance = Encapsulation + Abstraction
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 the dynamic
behavior of objects, determined by their life cycles. This paper
studies the latter in the context of a simple process algebra. Process
algebra is chosen, because it concentrates on dynamic behavior, while
abstracting from the internal states of processes. Inheritance can be
expressed in terms of encapsulation and abstraction.
The combination captures all basic operators for constructing life
cycles of subclasses from life cycles of superclasses, namely choice,
sequential composition, and parallel composition.
The full version is not available, because the report is
superseded by the following publication.
Back to the list of Technical Reports.