Factoring Mechanism of Reverse Inheritance

In this paper we present a new approach for facilitating the maintenance, reengineering and adaptation of class libraries designed using object-oriented technology. The technique uses a new class relationship called reverse inheritance. We strive to prove that using this class relationship with it's factoring supporting mechanism it is possible to factor features from a hierarchy, to add new features to a hierarchy, and to connect two class hierarchies. Also in the paper a list of problems relative to the new approach is formulated.

[1]  Antero Taivalsaari,et al.  On the notion of inheritance , 1996, CSUR.

[2]  Anthony J. H. Simons The Theory of Classification, Part 8: Classification and Inheritance , 2003, J. Object Technol..

[3]  Ted Lawson,et al.  The Potential For Reverse Type Inheritance in Eiffel , 1994, TOOLS.

[4]  Yania Crespo,et al.  On the Translation of Multiple Inheritance Hierarchies into Single Inheritance Hierarchies , 2002 .

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Anthony J. H. Simons The Theory of Classification, Part 9: Inheritance and Self-Reference , 2003, J. Object Technol..

[7]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[8]  Claus H. Pedersen,et al.  Extending ordinary inheritance schemes to include generalization , 1989, OOPSLA '89.

[9]  Claudio Sacerdoti Coen,et al.  SmartTools: A Development Environment Generator based on XML Technologies , 2001 .

[10]  Anthony J. H. Simons The Theory of Classification, Part 10: Method Combination and Super-Reference , 2004, J. Object Technol..

[11]  Ralph E. Johnson,et al.  Creating abstract superclasses by refactoring , 1993, CSC '93.

[12]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[13]  Anthony J. H. Simons The Theory of Classification, Part 7: A Class is a Type Family , 2003, J. Object Technol..

[14]  Bertrand Meyer,et al.  Object-oriented software construction (2nd ed.) , 1997 .

[15]  Ana Moreira,et al.  Object-oriented technology : ECOOP 2002 Workshop Reader : ECOOP 2002 Workshops and Posters, Málaga, Spain, June 10-14, 2002 : proceedings , 2002 .

[16]  Al Stevens,et al.  C programming , 1990 .

[17]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[18]  Philippe Lahire,et al.  TOWARDS REENGINEERING: AN APPROACH BASED ON REVERSE INHERITANCE - APPLICATION TO JAVA , 2003 .