Reengineering the Booch component library
Component-based software construction heavily relies on the ability of reusing components from a library with as little effort as possible. Among others, valuable features for reusing from a component library are: adaptability to many contexts, extensibility, abstraction and high level of robustness...
| Autores: | , |
|---|---|
| Tipo de recurso: | informe técnico |
| Fecha de publicación: | 1999 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/93093 |
| Acceso en línea: | https://hdl.handle.net/2117/93093 |
| Access Level: | acceso abierto |
| Palabra clave: | Component-based software Components reusing Component library Container-classes family Àrees temàtiques de la UPC::Informàtica::Sistemes d'informació |
| Sumario: | Component-based software construction heavily relies on the ability of reusing components from a library with as little effort as possible. Among others, valuable features for reusing from a component library are: adaptability to many contexts, extensibility, abstraction and high level of robustness with respect to changes in some of their components. In this paper we study one of the most widely used component library for Ada 95, the Grady Booch?s one, mainly with respect to these features. The hierarchy of the Booch component library is organised into three main super-classes: Containers, Support and Graphs, which have a common parent-class. Our study focuses on the Container-classes family, which present some drawbacks mainly due to the fact that some parent-classes depend on the concrete form of their children-classes. We state first the problems and we propose next a solution centred on changing the Containers base class. This new version of the Containers class offers a new concept, namely shortcut, that not only allows avoiding the dependencies between parent-classes and their children classes but also offers some additional advantages, for instance improving the efficiency of componenets and increasing the possibilities of reusing from the library in contexts with strong efficiency requirements. Most of the ideas of this work can be generalised to other component libraries. |
|---|