On the Implementation of Dynamic Software Product Lines: A Preliminary Study
Resumo
Dynamic Software Product Lines (DSPL) engineering has emerged as a promising strategy to develop Software Product Lines (SPL) that incorporate reusable and dynamically reconfigurable artifacts. The central purpose of DSPL is to handle adaptability at runtime through variability management, as well as to maximize the reuse of components. Emerging domains such as the mobile applications and software-intensive embedded systems require changes and extensions to the design in terms of both functionality and adaptation capabilities. DSPL should also deal with the unavoidable changes, which reflect both user needs and execution environments. However, the evolution capability in DSPL so far has not been investigated in depth. In this paper, were port on an exploratory study aimed at evaluating the object oriented and aspect-oriented solutions on DSPL evolutionary scenarios. In this empirical evaluation, the aspect-oriented solution yielded better results in terms of measurements such as Weighted Operations per Component (WOC), Lines Of Code (LOC), Lack of Cohesion Over Operations (LCOO), Coupling between components (CBC), and Response For a Class (RFC). The use of aspects indicates that it provides assets with lower complexity, lower coupling, and higher cohesion.
Palavras-chave:
Measurement, Couplings, Software, Adaptation models, Maintenance engineering, Runtime, Software product lines, Dynamic Software Product Lines, Dynamic Variability, Self-adaptive Systems, Software Evolution, Exploratory Study, Software Metrics
Publicado
19/09/2016
Como Citar
CARVALHO, Michelle Larissa Luciano; GOMES, Gecynalda Soares Da Silva; SILVA, Matheus Lessa Gonçalves Da; MACHADO, Ivan Do Carmo; ALMEIDA, Eduardo Santana De.
On the Implementation of Dynamic Software Product Lines: A Preliminary Study. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 10. , 2016, Maringá/PR.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2016
.
p. 21-30.