Skip to main content

Behavioural Subtyping Relations for Object-Oriented Formalisms

  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1816))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 

  2. T. Bolognesi and E. Brinksma. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, 14:25–59, 1987.

    Article  Google Scholar 

  3. 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 

  4. 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 

  5. 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 

  6. 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.

    Article  MATH  MathSciNet  Google Scholar 

  7. 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 

  8. E. Cusack. Refinement, conformance and inheritance. Formal Aspects of Computing, 3:129–141, 1991.

    Article  Google Scholar 

  9. 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 

  10. Rocco De Nicola and Matthew Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83–133, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  11. H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1, volume 6. Springer, 1985.

    Google Scholar 

  12. 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 

  13. 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

  14. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  15. B. Liskov. Data abstraction and hierarchy. SIGPLAN Notices, 23(5):17–34, May 1988.

    Article  Google Scholar 

  16. 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.

  17. B. Liskov and J. Wing. A behavioural notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811–1841, 1994.

    Article  Google Scholar 

  18. G.T. Leavens and W.E. Weihl. Specification and verification of object-oriented programs using supertype abstraction. Acta Informatica, 32:705–778, 1995.

    MATH  MathSciNet  Google Scholar 

  19. B. Meyer. Object-Oriented Software Construction. ISE, 2. edition, 1997.

    Google Scholar 

  20. 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 

  21. 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 

  22. 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 

  23. J. Waldo. The Jini architecture for network-centric computing. Communications of the ACM, 42(7):76–82, 1999.

    Article  Google Scholar 

  24. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics