| ![]() | |||||||||
Object-extending Class Transformations
Karl J. Lieberherr, Walter L. H?ursch, Cun Xiao
Northeastern University, College of Computer Science
Cullinane Hall, 360 Huntington Ave., Boston MA 02115
lieber or huersch or cunxiao@corwin.CCS.northeastern.EDU
phone: +1-617-437-2077 or +1-617-437-3824
fax: +1-617-437-5121
February 20, 1992
Texed at 23:29 February 20, 1992
Copyright c 1991 Karl Lieberherr
Abstract
Reorganization and evolution of class hierarchies is important for object-oriented system
development and has received considerable attention in the literature. The contributions
of this paper are: (1) A formal study of a set of extension relations and transformations
on class hierarchies. (2) A presentation of a small set of primitive transformations
which form a minimal and complete basis for the extension relations. (3) An analysis of
the impact of these transformations on the object level.
The study leads to a better understanding of evolution and reuse of object-oriented software
and class hierarchies. It also provides a terminology and a means of classification
for design reuse. The theory presented in this paper is based on the Demeter data model,
which gives a concise mathematical foundation for classes and their inheritance and part-of
relationships. Parts of the theory have been implemented in the Demeter SystemTMC++,
a CASE tool for object-oriented design and programming.
Keywords: Object-oriented programming and design, class library organization, software reuse, formal software engineering techniques, schema evolution, software evolution.