Skip to main content

Inheritance as an Incremental Modification Mechanism or What Like Is and Isn’t Like

  • Conference paper
  • First Online:

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

Abstract

Incremental modification is a fundamental mechanism not only in software systems, but also in physical and mathematical systems. Inheritance owes its importance in large measure to its flexibility as a discrete incremental modification mechanism. Four increasingly permissive properties of incremental modification realizable by inheritance are examined: behavior compatibility, signature compatibility. name compatibility, and cancellation. Inheritance for entities with finite sets of attributes is defined and characterized as incremental modification with deferred binding of self-reference. Types defined as predicates for type checking are contrasted with classes defined as templates for object generation. Mathematical, operational, and conceptual models of inheritance are then examined in detail, leading to a discussion of algebraic models of behavioral compatibility. horizontal and vertical signature modification, algorithmically defined name modification, additive and subtractive exceptions, abstract inheritance networks, and parametric polymorphism. Liketypes are defined as a symmetrical general form of incremental modification that provide a framework for modeling similarity. The combination of safe behaviorally compatible changes and less safe radical incremental changes in a single programming language is considered.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

11. References

  1. Ait Kaci H. and Nasr R., Login: A Logic Programming Language with Built-in Inheritance, Journal of Logic Programming, 1986.

    Google Scholar 

  2. Borgida A., Exceptions in Object-Oriented Languages, Sigplan Notices, Oct 1986.

    Google Scholar 

  3. Brachman, R., “I Lied About the Trees Or Defaults and Definitions in Knowledge Representation”, AI Magazine, Fall, 1985.

    Google Scholar 

  4. Brachman, R., “What Is-a is and Isn’t”, AI Magazine, Fall 1985.

    Google Scholar 

  5. Bruce K. B., and Wegner P., An Algebraic Model of Subtypes and Inheritance, Brown University Report, July 1987, also in Proc Roscoff Conference on Database Programming Languages, Sept 1987.

    Google Scholar 

  6. Cardelli L., A Semantics of Multiple Inheritance, In LNCS Vol 173, Ed G. Kahn, 1984.

    Google Scholar 

  7. Cardelli, L. and Wegner, P., On Understanding, Types, Data Abstraction, and Polymorphism, ACM Computing Surveys, December, 1985.

    Google Scholar 

  8. Cook, W., A Denotational Semantic Model of Inheritance, Forthcoming PhD Thesis, Brown University Summer 1988.

    Google Scholar 

  9. Cook, W., The Semantics of Inheritance, Brown University Technical Report, March 1988.

    Google Scholar 

  10. Ada Reference Manual, US Dept of Defense, July 1980.

    Google Scholar 

  11. Etherington D. W., Formalizing Nonmonotonic Reasoning, Artificial Intelligence, 1987.

    Google Scholar 

  12. Goldberg, A. and Robson. Smalltalk80: The Language and Its Implementation, Addison-Wesley, 1983.

    Google Scholar 

  13. Harper R., An Introduction to ML, Edinburgh University Technical Report, 1987.

    Google Scholar 

  14. Liskov B., Snyder A., Atkinson R., and Schaffert C., Abstraction Mechanisms in CLU, CACM, August 1987.

    Google Scholar 

  15. Meyer B., Object-Oriented Software Construction, Prentice Hall. 1988.

    Google Scholar 

  16. Milner R., A Proposal for Standard ML, Proc Symposium on Lisp and Functional Programming, ACM, August 1984.

    Google Scholar 

  17. Martin-Lof P., Constructive Mathematics and Computer Programming, in Mathematical Logic and Computer Programming, Hoare and Shepherdson Eds. Prentice Hall International, 1985.

    Google Scholar 

  18. Reiter R., A Logic for Default Reasoning, Artificial Intelligence, 1980.

    Google Scholar 

  19. Scott D., Data Types as Lattices, Siam Journal of Computing, September 1976.

    Google Scholar 

  20. Snyder, A., Encapsulation and Inheritance in Object-Oriented Languages, OOPSLA, 1986.

    Google Scholar 

  21. Strachey C., Fundamental Concepts in Programming Languages, lecture Notes for International Summer School in Computer Programming, Copenhagen. August 1967.

    Google Scholar 

  22. Thomason, R. H., Horty, J. F., and Touretzky, D., A Calculus for Inheritance in Monotonic Semantic Nets, CMU-CS-86-138, July 1986.

    Google Scholar 

  23. Touretzky, D. S., Horty, J. F., and Thomasson R. H., A Clash of Intuitions: The Current State of Nonmonotonic Multiple Inheritance Systems. Proc IJCAI-87.

    Google Scholar 

  24. Touretzky, D., The Mathematical Theory of Inheritance, Morgan-Kaufman. 1986.

    Google Scholar 

  25. Wegner, P., Object-Oriented Concept Hierarchies. Brown University Technical Report, May 1988.

    Google Scholar 

  26. Wegner, P., The Object-Oriented Classification Paradigm, in Research Directions in Object-Oriented Programming, Edited by Shriver and Wegner. MIT Press, 1987.

    Google Scholar 

  27. Zdonik S. B., Can Objects Change Type? Can Type Objects Change?, Proc Roscoff Conference on Database Programming Languages. Sept 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wegner, P., Zdonik, S.B. (1988). Inheritance as an Incremental Modification Mechanism or What Like Is and Isn’t Like. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-45910-3_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50053-7

  • Online ISBN: 978-3-540-45910-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics