Behavioural Subtyping Relations for Object-Oriented Formalisms
- 228 Downloads
In this paper we investigate the object-oriented notion of subtyping in the context of behavioural formalisms. Subtyping in OO-formalisms is closely related to the concept of inheritance. The central issue in the choice of subtyping relations among classes is the principle of substitutability: an instance of the subtype should be usable wherever an instance of the supertype was expected. Depending on the interpretation of “usable”, we obtain a variety of subtyping relations: stronger subtyping relations, allowing one to share the subtype instance among different clients without any change compared with the supertype, and weaker relations, restricting the possibilities of interference of different clients on the subtype instance. The subtyping relations are taxonomically ordered in a hierarchy. The concept of “usability” is formalised via testing scenarios, which provide alternative characterisations for the subtyping relations.
KeywordsTransition System Testing Scenario Parallel Composition Label Transition System Process Algebra
Unable to display preview. Download preview PDF.
- [Ame91]P. America. Designing an object-oriented programming language with behavioural subtyping. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, REX Workshop: Foundations of Object-Oriented Languages, number 489 in LNCS. Springer, 1991.Google Scholar
- [BBSDS97]H. Bowman, C. Briscoe-Smith, J. Derrick, and B. Strulo. On behavioural subtyping in LOTOS. In H. Bowman and J. Derrick, editors, FMOODS 97, pages 335–351. Chapman & Hall, 1997.Google Scholar
- [BCP99]C. Balzarotti, F. De Cindio, and L. Pomello. Observation equivalences for the semantics of inheritance. In P. Ciancarini and R. Gorrieri, editors, FMOODS’ 99, 1999.Google Scholar
- [BD99]H. Bowman and J. Derrick. A junction between state based and behavioural specification. In P. Ciancarini, F. Fantechi, and R. Gorrieri, editors, FMOODS’ 99, pages 213–239. Kluwer, 1999.Google Scholar
- [BSS87]E. Brinksma, G. Scollo, and Ch. Steenbergen. LOTOS specifications, their implementations and their tests. In B. Sarikaya and G. v. Bochmann, editors, PSTV, pages 349–358. Elsevier, 1987.Google Scholar
- [DL96]K. K. Dhara and G. T. Leavens. Forcing behavioral subtyping through specification inheritance. In Proceedings of the 18th International Conference on Software Engineering, pages 258–267. IEEE Computer Society Press, 1996.Google Scholar
- [EM85]H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1, volume 6. Springer, 1985.Google Scholar
- [Fis97]C. Fischer. CSP-OZ: A combination of Object-Z and CSP. In H. Bowman and J. Derrick, editors, FMOODS’ 97, volume 2, pages 423–438. Chapman & Hall, 1997.Google Scholar
- [FW99]C. Fischer and H. Wehrheim. A hierarchy of behavioural subtyping relations (full version). Technical Report TRCF-99-1, University of Oldenburg, October 1999. http://semantik.Informatik.Uni-Oldenburg.DE/~wehrheim
- [Hoa85]C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
- [LP]G. T. Leavens and D. Pigozzi. A complete algebraic characterization of behavioral subtyping. to appear in Acta Informatica, see also ftp://ftp.cs.iastate.edu/pub/techreports/TR96-15/TR.ps.gz.
- [Mey97]B. Meyer. Object-Oriented Software Construction. ISE, 2. edition, 1997.Google Scholar
- [Nie95]O. Nierstrasz. Regular types for active objects. In O. Nierstrasz and D. Tsichritzis, editors, Object-oriented software composition, pages 99–121. Prentice Hall, 1995.Google Scholar
- [RG97]A. Rensink and R. Gorrieri. Action refinement as an implementation relation. In M. Bidoit and M. Dauchet, editors, TAPSOFT’ 97, volume 1214 of LNCS, pages 772–786, 1997.Google Scholar
- [vdAB97]W.M.P. van der Aalst and T. Basten. Life-cycle inheritance-a Petri-net-based approach. In P. Azema and G. Balbo, editors, Application and Theory of Petri Nets, number 1248 in LNCS, pages 62–81. Springer, 1997.Google Scholar
- [WZ88]P. Wegner and B. Zdonik. Inheritance as an incremental modification mechanism or What like is and isn’t like. In ECOOP’88, volume 322 of LNCS. Springer, 1988.Google Scholar