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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
11. References
Ait Kaci H. and Nasr R., Login: A Logic Programming Language with Built-in Inheritance, Journal of Logic Programming, 1986.
Borgida A., Exceptions in Object-Oriented Languages, Sigplan Notices, Oct 1986.
Brachman, R., “I Lied About the Trees Or Defaults and Definitions in Knowledge Representation”, AI Magazine, Fall, 1985.
Brachman, R., “What Is-a is and Isn’t”, AI Magazine, Fall 1985.
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.
Cardelli L., A Semantics of Multiple Inheritance, In LNCS Vol 173, Ed G. Kahn, 1984.
Cardelli, L. and Wegner, P., On Understanding, Types, Data Abstraction, and Polymorphism, ACM Computing Surveys, December, 1985.
Cook, W., A Denotational Semantic Model of Inheritance, Forthcoming PhD Thesis, Brown University Summer 1988.
Cook, W., The Semantics of Inheritance, Brown University Technical Report, March 1988.
Ada Reference Manual, US Dept of Defense, July 1980.
Etherington D. W., Formalizing Nonmonotonic Reasoning, Artificial Intelligence, 1987.
Goldberg, A. and Robson. Smalltalk80: The Language and Its Implementation, Addison-Wesley, 1983.
Harper R., An Introduction to ML, Edinburgh University Technical Report, 1987.
Liskov B., Snyder A., Atkinson R., and Schaffert C., Abstraction Mechanisms in CLU, CACM, August 1987.
Meyer B., Object-Oriented Software Construction, Prentice Hall. 1988.
Milner R., A Proposal for Standard ML, Proc Symposium on Lisp and Functional Programming, ACM, August 1984.
Martin-Lof P., Constructive Mathematics and Computer Programming, in Mathematical Logic and Computer Programming, Hoare and Shepherdson Eds. Prentice Hall International, 1985.
Reiter R., A Logic for Default Reasoning, Artificial Intelligence, 1980.
Scott D., Data Types as Lattices, Siam Journal of Computing, September 1976.
Snyder, A., Encapsulation and Inheritance in Object-Oriented Languages, OOPSLA, 1986.
Strachey C., Fundamental Concepts in Programming Languages, lecture Notes for International Summer School in Computer Programming, Copenhagen. August 1967.
Thomason, R. H., Horty, J. F., and Touretzky, D., A Calculus for Inheritance in Monotonic Semantic Nets, CMU-CS-86-138, July 1986.
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.
Touretzky, D., The Mathematical Theory of Inheritance, Morgan-Kaufman. 1986.
Wegner, P., Object-Oriented Concept Hierarchies. Brown University Technical Report, May 1988.
Wegner, P., The Object-Oriented Classification Paradigm, in Research Directions in Object-Oriented Programming, Edited by Shriver and Wegner. MIT Press, 1987.
Zdonik S. B., Can Objects Change Type? Can Type Objects Change?, Proc Roscoff Conference on Database Programming Languages. Sept 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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