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
February 20, 1992
Texed at 23:29 February 20, 1992
Copyright c 1991 Karl Lieberherr
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.