Abstract
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.
This work was partially funded by the Leibniz Programme of the German Research Council under grant Ol 98/1-1.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
T. Bolognesi and E. Brinksma. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, 14:25–59, 1987.
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.
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.
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.
S. D. Brookes, C. A. R. Hoare, and A. W. Roscoe. A theory of communicating sequential processes. Journal of the ACM, 31(3):560–599, 1984.
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.
E. Cusack. Refinement, conformance and inheritance. Formal Aspects of Computing, 3:129–141, 1991.
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.
Rocco De Nicola and Matthew Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83–133, 1984.
H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1, volume 6. Springer, 1985.
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.
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
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
B. Liskov. Data abstraction and hierarchy. SIGPLAN Notices, 23(5):17–34, May 1988.
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.
B. Liskov and J. Wing. A behavioural notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811–1841, 1994.
G.T. Leavens and W.E. Weihl. Specification and verification of object-oriented programs using supertype abstraction. Acta Informatica, 32:705–778, 1995.
B. Meyer. Object-Oriented Software Construction. ISE, 2. edition, 1997.
O. Nierstrasz. Regular types for active objects. In O. Nierstrasz and D. Tsichritzis, editors, Object-oriented software composition, pages 99–121. Prentice Hall, 1995.
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.
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.
J. Waldo. The Jini architecture for network-centric computing. Communications of the ACM, 42(7):76–82, 1999.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fischer, C., Wehrheim, H. (2000). Behavioural Subtyping Relations for Object-Oriented Formalisms. In: Rus, T. (eds) Algebraic Methodology and Software Technology. AMAST 2000. Lecture Notes in Computer Science, vol 1816. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45499-3_33
Download citation
DOI: https://doi.org/10.1007/3-540-45499-3_33
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67530-3
Online ISBN: 978-3-540-45499-1
eBook Packages: Springer Book Archive