Advertisement

Behavioural Subtyping Relations for Object-Oriented Formalisms

  • Clemens Fischer
  • Heike Wehrheim
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Transition System Testing Scenario Parallel Composition Label Transition System Process Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [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
  2. [BB87]
    T. Bolognesi and E. Brinksma. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, 14:25–59, 1987.CrossRefGoogle Scholar
  3. [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
  4. [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
  5. [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
  6. [BHR84]
    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.zbMATHCrossRefMathSciNetGoogle Scholar
  7. [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
  8. [Cus91]
    E. Cusack. Refinement, conformance and inheritance. Formal Aspects of Computing, 3:129–141, 1991.CrossRefGoogle Scholar
  9. [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
  10. [DNH84]
    Rocco De Nicola and Matthew Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83–133, 1984.zbMATHCrossRefMathSciNetGoogle Scholar
  11. [EM85]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1, volume 6. Springer, 1985.Google Scholar
  12. [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
  13. [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
  14. [Hoa85]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  15. [Lis88]
    B. Liskov. Data abstraction and hierarchy. SIGPLAN Notices, 23(5):17–34, May 1988.CrossRefGoogle Scholar
  16. [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.
  17. [LW94]
    B. Liskov and J. Wing. A behavioural notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811–1841, 1994.CrossRefGoogle Scholar
  18. [LW95]
    G.T. Leavens and W.E. Weihl. Specification and verification of object-oriented programs using supertype abstraction. Acta Informatica, 32:705–778, 1995.zbMATHMathSciNetGoogle Scholar
  19. [Mey97]
    B. Meyer. Object-Oriented Software Construction. ISE, 2. edition, 1997.Google Scholar
  20. [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
  21. [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
  22. [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
  23. [Wal99]
    J. Waldo. The Jini architecture for network-centric computing. Communications of the ACM, 42(7):76–82, 1999.CrossRefGoogle Scholar
  24. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Clemens Fischer
    • 1
  • Heike Wehrheim
    • 1
  1. 1.Fachbereich InformatikUniversität OldenburgOldenburgGermany

Personalised recommendations