- Inicio
- Atrás
|
Título: |
Migrating inheritance-based applications into components |
Autores: |
Passerini, Nicolás Arévalo, Gabriela Beatriz |
Fecha: |
2012-07-17 2011-10 2011 |
Publicador: |
Unversidad Nacional de La Plata |
Fuente: |
|
Tipo: |
Objeto de conferencia Objeto de conferencia |
Tema: |
Inheritance Software Methodologies (e.g., object-oriented, structured) Ciencias Informáticas |
Descripción: |
Inheritance is one of the most important object-oriented mechanisms, allowing code reuse and a conceptual hierachical modelling of a given domain.
However, as a white-box reuse mechanism, it introduces hidden (implicit) coupling between classes in a hierarchy. This problem makes understanding and maintenance difficult to grasp.
Actual approaches (such as Gamma’s) propose object composition over class inheritance as reuse mechanism to obtain better object-oriented design. However the migration of a class-based application (or just some software artifacts) from inheritance to composition paradigms is not trivial. To our knowledge, there are only a few approaches that can deal with this problem, but there is no formal language-independent analysis of a transformation algorithm that guarantees the exact same behavior of a system once the migration strategies have been applied.
Thus, this paper presents some initial results in designing a refactoring approach for a class hierarchy by analyzing the dependencies between the classes involved in the inheritance relationship in a class-based system, and how they can be transformed to obtain a better structure of the class hierarchy, focusing on getting components with offered- and required-services in component-based system. Based on this study, our main goal in this approach is to develop a (semi)automatic language-independent algorithm using refactoring-based strategies which allows the user to transform an inheritance relationship between a set of classes into an association between two independent components with well defined interfaces. Presentado en el VIII Workshop Ingeniería de Software (WIS) |
Idioma: |
Inglés |