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.