40 Years of Computing at Newcastle

Department Technical Report Series No. 434

The Role of Inheritance as an Import/Export Mechanism

J.M. Armstrong
J.R. Howse
R.J. Mitchell
I. Maung

University of Newcastle upon Tyne. 1993

Abstract

There is an ongoing controversy in the object-oriented community over whether inheritance should be used to build class hierarchies that reflect conceptual models of a problem domain, or used simply to maximize the amount of code reuse in a system. This paper argues, by means of formal models, that although modelling integrity is certainly desirable, inheritance mechanisms at the moment do not provide proper support for it. On the contrary, even those with type compatibility rules actually provide support for code reuse, rather than for conceptual modelling. In fact, inheritance mechanisms, viewed from an architectural level of abstraction, behave in a way which can be compared to the import/export reuse mechanisms found in object-based languages such as Ada. The paper demonstrates this by presenting models of inheritance hierarchies, and of module hierarchies with imports and exports (but without inheritance), and defining a translation function from the former to the latter.


Department Technical Report Series - 1993
Department Technical Report Series Index
Contents Page - 40 Years of Computing at Newcastle
Technical Report Abstract No. 434, 27 June 1997