Skip to main content

A New Definition of the Subtype Relation

  • Conference paper
  • First Online:
ECOOP’ 93 — Object-Oriented Programming (ECOOP 1993)

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

Included in the following conference series:

Abstract

The use of hierarchy is an important component of object-oriented design. Hierarchy allows the use of type families, in which higher level supertypes capture the behavior that all of their subtypes have in common. For this methodology to be effective, it is necessary to have a clear understanding of how subtypes and supertypes are related. This paper presents a new definition of the subtype relation that ensures that any property proved about supertype objects also holds for subtype objects. It also discusses the ramifications of the definition on the design of type families.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Abadi, M., Lamport, L.: The existence of refinement mappings. Digital Equipment Corp. Sys. Research Ctr. Tech Rpt. 29, 1988.

    Google Scholar 

  2. America, P.: A parallel object-oriented language with inheritance and subtyping. ACM SIGPLAN 25 (1990) 161–168.

    Article  Google Scholar 

  3. America, P.: Designing an object-oriented programming language with behavioural subtyping. Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, Springer-Verlag Lec. Notes in Com. Sci. 489 (1991) 60–90.

    Google Scholar 

  4. Bruce, K. B., Wegner, P.: An algebraic model of subtypes in object-oriented languages (draft). ACM SIGPLAN Notices 21 (1986).

    Google Scholar 

  5. Cardelli, L.: A semantics of multiple inheritance. Info. and Computation 76 (1988) 138–164.

    Article  MATH  MathSciNet  Google Scholar 

  6. Elspeth Cusack: Refinement, conformance, and inheritance. Formal Aspects of Computing. 3(2), (1991), 129–141.

    Article  MathSciNet  Google Scholar 

  7. Elspeth Cusack: Inheritance in object oriented Z. Proceedings of ECOOP’ 91, 1991.

    Google Scholar 

  8. Elspeth Cusack, Steve Rudkin, and Chris Smith: An object oriented interpretation of LOTOS. Formal Description Techniques, II, S.T. Vuong (ed.). Elsevier Science Publishers B.V. (North-Holland) (1990), 211–226.

    Google Scholar 

  9. Dhara, K. K.: Subtyping among mutable types in object-oriented programming languages. Iowa State University Ames, Iowa, 1992.

    Google Scholar 

  10. Dijkstra, E. W.: A Discipline of Programming. Prentice Hall, New York, 1976.

    MATH  Google Scholar 

  11. Halbert, D. C, O’Brien, P. D.: Using types and inheritance in object-oriented programming. IEEE Software (1987) 71–79.

    Google Scholar 

  12. Hammer, M., McLeod, D.: A semantic database model. ACM Trans. Database Systems 6 (1981) 351–386.

    Article  Google Scholar 

  13. Hoare, C. A. R.: Proof of correctness of data representations. Acta Informatica 1 (1972) 271–281.

    Article  MATH  Google Scholar 

  14. Kapur, K.: Towards a theory of abstract data types. Tech. Rpt. 237, MIT Lab. for Computer Science, Cambridge, MA, 1980.

    Google Scholar 

  15. Leavens, G.: Verifying object-oriented prograsm that use subtypes. Tech. Rpt. 439, MIT Lab. for Computer Science, Cambridge, MA, 1989.

    Google Scholar 

  16. Leavens, G., Weihl, W. E.: Reasoning about object-oriented programs that use subtypes. ECOOP/OOPSLA’ 90 Proceedings, 1990.

    Google Scholar 

  17. Leavens, G., Weihl, W.E.: Subtyping, modular specification, and modular verification for applicative object-oriented programs. (forthcoming).

    Google Scholar 

  18. Lipeck, U.: Semantics and usage of defaults in specifications. Foundations of In formation Systems Specification and Design, Hans-Dieter Ehrich and Joseph A Goguen and Amilcar Sernadas Dagstuhl Seminar 9212, Rpt. 35, 1992.

    Google Scholar 

  19. Liskov, B., Guttag, J.: Abstraction and Specification in Program Design. McGraw Hill and MIT Press, 1985.

    Google Scholar 

  20. Liskov, B., Wing, J. M.: Family Values: A Semantic Notion of Subtyping. MIT-LCS-TR-562, Tech. Rpt., December 1992. Also published as CMU-CS-92-220 TR.

    Google Scholar 

  21. Meyer, B.: Object-oriented Software Construction. Prentice Hall, New York, 1988.

    Google Scholar 

  22. Morgan, C: Programming from Specifications. Prentice Hall, New York, 1990.

    MATH  Google Scholar 

  23. Nelson, G. (Ed.): Systems Programming with Modula-3. Prentice Hall, New York, 1991.

    Google Scholar 

  24. Schaffert, C, Cooper, T., Wilpolt, C: Trellis: object-based environment language reference manual. Dig. Equip. Corp. Eastern Research Lab., Tech Rpt. 372, 1985.

    Google Scholar 

  25. Utting, M.: An object-oriented refinement calculus with modular reasoning. University of New South Wales, Australia, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Liskov, B., Wing, J.M. (1993). A New Definition of the Subtype Relation. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-47910-4_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57120-9

  • Online ISBN: 978-3-540-47910-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics