Inheritance of behavior

被引:85
作者
Basten, T
van der Aalst, WMP
机构
[1] Eindhoven Univ Technol, Dept Elect Engn, NL-5600 MB Eindhoven, Netherlands
[2] Eindhoven Univ Technol, Dept Technol Management, NL-5600 MB Eindhoven, Netherlands
[3] Eindhoven Univ Technol, Dept Comp Sci, NL-5600 MB Eindhoven, Netherlands
来源
JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING | 2001年 / 47卷 / 02期
关键词
object orientation; inheritance; process; object life cycle; process algebra; Petri nets; free-choice Petri nets; reuse;
D O I
10.1016/S1567-8326(00)00004-7
中图分类号
学科分类号
摘要
One of the key issues of object-oriented modeling and design 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, captured by their life cycles. This paper studies inheritance of behavior both in a simple process-algebraic setting and in a Petri-net framework. Process algebra is chosen, because it concentrates on behavior, while abstracting from the internal states of processes. The result of the algebraic study is a clear conceptual understanding of inheritance of behavior. It can be expressed in terms of blocking and hiding method calls. The results in the algebraic framework inspire the development of the concept of inheritance of behavior in the Petri-net framework. The Petri-net formalism allows for a graphical representation of life cycles of objects with an explicit representation of object states. In the Petri-net framework, four inheritance rules are defined that can be used to construct life cycles of subclasses from the object life cycles of given (super-)classes. These inheritance rules can be used to structure a design process and they stimulate the reuse of life-cycle specifications. It turns out that the combination of blocking and hiding method calls captures a number of important operators for constructing life cycles of subclasses from life cycles of superclasses, namely choice, sequential composition, parallel composition, and iteration. A small case study validates our approach to inheritance of behavior. (C) 2001 Elsevier Science Inc. All rights reserved.
引用
收藏
页码:47 / 145
页数:99
相关论文
共 75 条
[1]  
AMERICA P, 1991, LECT NOTES COMPUT SC, V489, P60, DOI 10.1007/BFb0019440
[2]  
[Anonymous], 1998, LECT NOTES COMPUTER
[3]  
[Anonymous], 1980, CALCULUS COMMUNICATI, DOI DOI 10.1007/3-540-10235-3
[4]  
[Anonymous], 1998, LNCS
[5]  
[Anonymous], [No title captured], DOI 10.1.1.48.9370
[6]  
Baeten J.C.M., 1990, Cambridge Tracts in Theoretical Computer Science, V18
[7]  
BAETEN JCM, IN PRESS HDB PROCESS
[8]  
BAETEN JCM, 1987, P IFIP TC2 WG2 2 WOR, P53
[9]  
BAETEN JCM, 1995, HDB LOG COMP SCI, V4, P149
[10]   Branching bisimilarity is an equivalence indeed! [J].
Basten, T .
INFORMATION PROCESSING LETTERS, 1996, 58 (03) :141-147