Behavior consistent refinement of object life cycles
This paper examines the inheritance of object life cycles that are specified by behavior diagrams. A behavior diagram of an object type models possible life cycles of its instances by states, activities and arcs corresponding to places, transitions and arcs of Petri Nets. In an in heritance hierarchy, subtypes specialize the life cycle of supertypes by extension, i.e., adding states and activities, and (the focus of this paper) refinement, i.e., decomposing states and activites into substates and sub-activities.
The main contribution of this paper is the identification of necessary and sufficient rules for checking behavior consistency between a behavior diagram of a type and a refined subtype, as well as for the combination of extension and refinement.
Keywordsobject-oriented design object life cycle inheritance
Unable to display preview. Download preview PDF.
- 1.P. Bichler, M. Schrefl “Active Object-Oriented Database Design Using Active Object/Behavior Diagrams”, in IEEE RIDE-ADS'94, 1994.Google Scholar
- 2.W. Brauer, R. Gold, and W. Vogler, “A Survey of Behaviour and Equivalence Preserving Refinements of Petri Nets,” Springer LNCS 483, pp. 1–46, 1991.Google Scholar
- 3.P.S. Canningen, W.R. Cook, W.L. Hill, and W.G. Olthoff, “Interfaces for Strongly-Typed Object-Oriented Programming,” in Proc. OOPSLA'89 ed. N. Meyrowitz, pp. 457–467, 1989.Google Scholar
- 4.J. Ebert and G. Engels, “Observable or Invocable Behaviour — You Have to Choose!” Technical Report, Koblenz University, 1994.Google Scholar
- 5.D.W. Embley, B.D. Kurtz, and S.N. Woodfield, Object-Oriented Systems Analysis — A Model-Driven Approach, Yourdon Press, 1992.Google Scholar
- 6.G. Kappel and M. Schrefl, “Using an Object-Oriented Diagram Technique for the Design of Information Systems,” in Proceedings of the International Working Conference on Dynamic Modelling of Information Systems, ed. H.G. Sol, K.M. Van Hee, pp. 121–164, North-Holland, 1991.Google Scholar
- 7.G. Kappel and M. Schrefl, “Object/Behavior Diagrams,” in Proc. 7th Int. Conf. IEEE Data Engineering, pp. 530–539, 1991.Google Scholar
- 8.B. Paech and P. Rumpe, “A new Concept of Refinement used for Behaviour Modelling with Automata,” Proc. FME'94, Springer LNCS 873, 1994.Google Scholar
- 9.J.L. Peterson, “Petri nets,” in ACM Computing Surveys, pp. 223–252, 1977.Google Scholar
- 10.J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorensen, Object-Oriented Modelling and Design, Prentice-Hall, 1991.Google Scholar
- 11.G. Saake, P. Hartel, R. Jungclaus, R. Wieringa, and R. Feenstra, “Inheritance Conditions for Object Life Cycle Diagrams,” in EMISA Workshop, 1994.Google Scholar
- 12.M. Schrefl, “Behavior Modeling by Stepwise Refining Behavior Diagrams,” in Proc. 9th Int. Conf. Entity-Relationship Approach, pp. 113–128, 1990.Google Scholar
- 13.M. Schrefl and M. Stumptner, “Behavior Consistent Extension of Object Life Cycles,” in Proceedings 00-ER 95, pp. 133–145, Springer LCNS 1021, Dec. 1995.Google Scholar
- 14.M. Schrefl and M. Stumptner, “Behavior Consistent Refinement of Object Life Cycles,” Institutsbericht, Inst. für Wirtschaftsinformatik, Universität Linz, Austria, 1997.Google Scholar
- 15.P. Wegner and S.B. Zdonik, “Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like,” in Proc. ECOOP'88, ed. Gjessing S. and Nygaard K., pp. 55–77, Springer LNCS 322, 1988.Google Scholar
- 16.B. Liskov and J.M. Wing, “A Behavioral Notion of Subtyping,” ACM Transactions on Programming Languages and Systems, 16 (6) pp. 1811–1841, 1994.Google Scholar
- 17.S. Matsuoka and A. Yonezawa, “Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages,” in Research Directions in Concurrent Object-Oriented Programming, ed. G. Aga, P. Wegner, and A. Yonezawa, pp. 107–150, ACM Press, 1993.Google Scholar
- 18.O. Nierstrasz, “Regular Types for Active Objects,” in Object-Oriented Programming Systems Languages and Applications (OOPSLA), Special Issue of SIGPLAN Notices, vol. 28, Dec. 1993.Google Scholar
- 19.I. Nierstrasz and T. Murata, “A method for stepwise refinement and abstraction of Petri nets,” in J. Computer and System Sciences, vol. 27, pp. 51–76, 1983.Google Scholar