Conference Paper

A New Component Selection Algorithm Based on Metrics and Fuzzy Clustering Analysis.

DOI: 10.1007/978-3-642-02319-4_75 Conference: Hybrid Artificial Intelligence Systems, 4th International Conference, HAIS 2009, Salamanca, Spain, June 10-12, 2009. Proceedings
Source: DBLP

ABSTRACT Component-Based Software Engineering is concerned with the assembly of preexisting software components that lead to software
systems responding to client specific requirements. This paper presents a new algorithm for constructing a software system
by assembling components. The process of selecting a component from a given set takes into account some quality attributes.
Metrics are defined in order to quantify the considered attributes. Using these metrics values, a fuzzy clustering approach
groups similar components in order to select the best candidate. We comparatively evaluate our results with a case study.

Download full-text


Available from: Andreea Vescan, Mar 14, 2014
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: In recent years, Component Based System (CBS) development has found widespread application, particularly in the domain of engineering software where it is often necessary to adapt and integrate existing software tools to handle new problems. The ability to identify suitable components that match system requirements is fundamental to CBS success. To date, CBS selection techniques often make an ideal assumption that there is one-to-one mapping between requirements and components. In reality, components are usually designed for general purposes and provide a range of features that can be adapted to meet the needs of a CBS. This implies that a component can potentially match more than one functionality of a CBS. On the other hand, system requirements are usually not independent of each other and a component selection process needs to consider the dependencies between system goals. Furthermore, the existing component selection methodologies usually provide a single solution for the component selection problem, thus limiting the options available to a CBS developer. In this paper, we present a component selection process that uses a signed graph to model interdependencies of CBS-to-be needs and groups related goals into clusters, based on the usage, non-functional and threat dependencies. Subsequently, the matching index of each cluster of related goals is used as a criterion to identify a portfolio of candidate components for a CBS, providing multiple solutions for the component selection problem whenever possible. The component selection process helps a developer to elicit stakeholder needs, analyze their interdependencies and select components for a CBS. We also present application of our approach to a Meeting Scheduling System (MSS) and a Construction Management System (CMS).
    Advances in Engineering Software 12/2012; 54:1–16. DOI:10.1016/j.advengsoft.2012.08.002 · 1.42 Impact Factor
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The selection of a component within a set of possible candidates which offer similar functionalities requires the evaluation of the candidate components using objective methods, the evaluation results helping developers in the selection task. In this article we propose a formal approach concerning component based systems (CBS) assessment. More precisely, we aim to define a quantitative evaluation model which provides a standard terminology and formalism in order to define metrics, to establish the assessment objectives and to interpret the measurement results obtained. Furthermore, the proposed model is general and scalable and allows other properties and interactions to be added. The article also presents the applicability of the model.
    Proceedings - 2nd International Conference on Computational Intelligence, Modelling and Simulation, CIMSim 2010; 01/2010
  • [Show abstract] [Hide abstract]
    ABSTRACT: Component-based approaches have acquired a prominent role in development of complex software systems. Successful reuse of existing components requires being able to first identify, and then distinguish among, functionally (near-) equivalent elements of large component collections. Similar components can be ranked using quality criteria, thus, some goal-oriented techniques attempt to quantify components quality by indicating valid ranges for their properties and behavior, like stability, latency and so on. Unfortunately, most current techniques yield non-robust ranges, and most tools do not allow architects to observe the range selection during the process. This paper presents a technique for sensitivity analysis of components discovery, built over fuzzy sets. A prototypical tool has been built, and use of the technique and tool are illustrated with an example. This iterative approach allows evaluators to compare "what if" scenarios for alternative component quality criteria, supporting requirements evolution without continuous expert support to recalibrate valid property ranges.