Towards Fully-Fledged Reverse Inheritance in Eiffel

Markku Sakkinen, Philippe Lahire, Ciprian-Bogdan Chirila

Abstract

Generalization is common in object-oriented modelling. It would be useful in many situations also as a language mechanism, reverse inheritance, but there have been only few detailed proposals for that. This paper defines reverse inheritance as a true inverse of ordinary inheritance, without changing anything else in the language that is extended. Eiffel is perhaps the most suitable language for that purpose because of its flexible inheritance principles. Moreover, there exists good previous work on Eiffel, on which we have built. We describe the most important aspects of our extension, whose details proved to be more difficult than we had assumed. It would be easier if some modifications were made to Eiffel’s ordinary inheritance, or if one designed a new language.

Keywords

Eiffel, reverse inheritance, generalization, hierarchy evolution, refactoring

BibTex

@Article{Sakkinen2012NJC,
	author		=	{Markku Sakkinen and Philippe Lahire and Ciprian-Bogdan Chirila},
	title		=	{Towards Fully-Fledged Reverse Inheritance in Eiffel},
	journal		=	{Nordic Journal of Computing},
	year		=	{2012},
}

Text

[Sakkinen2012NJC] - Markku Sakkinen, Philippe Lahire, Ciprian-Bogdan Chirila. Towards Fully-Fledged Reverse Inheritance in Eiffel, Nordic Journal of Computing, 2012

Data fields

[Sakkinen2012NJC] -
Markku Sakkinen, Philippe Lahire, Ciprian-Bogdan Chirila.
Towards Fully-Fledged Reverse Inheritance in Eiffel,
Nordic Journal of Computing,
2012