Building Hierarchical Component Directories

By: Nour Aboud, Gabriela Arévalo, Olivier Bendavid, Jean-Rémy Falleri, Nicolas Haderer, Marianne Huchard, Chouki Tibermacine, Christelle Urtado, Sylvain Vauttier

Abstract

Component-based development is the software paradigm focused on building applications using reusable software components. Applications are built by assembling components, where the required interfaces of a component are connected to compatible provided interfaces of other components. In order to have an effective building process, software architects need adequate component directories that both index available components and ease their search. So far, existing approaches provide only a limited structure and indexation to store/register components and, as a consequence, they propose an inadequate searching process. Even when the indexes are built as flat or hierarchical structures, the indexed elements are not the components themselves, but part of them, such as services or functions, making the search of the needed compatible components imprecise. To cope with searching and compatibility problems, the contribution of this paper is twofold: it is composed of both a refined methodology (improving a previous approach) and a tool to build a hierarchically structured component directory. The component directory solves the identified problems letting an architect find components that are compatible with a given specification (to be assembled) or components that can substitute to a given one. This directory uses Formal Concept Analysis to build component type hierarchies thanks to a three step classification process that successively classifies functionality signatures, interfaces and, at last, component types. The refinement of the methodology is based on a substitutability relationship between components, where the notion of not having a parameter or an interface of some type makes our methodology more robust when considering required interfaces. The tool made possible to overcome scalability issues implementing several variations on the classification strategy. We present several experiments on three case studies to classify components from on-line open-source component repositories as a validation of our methodology.

Keywords

Component-based development; Component directories; Com- ponent classification; Component substitution; Formal Concept Analysis; AOC-poset

Cite as:

Nour Aboud, Gabriela Arévalo, Olivier Bendavid, Jean-Rémy Falleri, Nicolas Haderer, Marianne Huchard, Chouki Tibermacine, Christelle Urtado, Sylvain Vauttier, “Building Hierarchical Component Directories”, Journal of Object Technology, Volume 18, no. 1 (March 2019), pp. 2:1-37, doi:10.5381/jot.2019.18.1.a2.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact