Dissertação
Uma avaliação quantitativa de módulos de características aspectuais para evolução de linhas de produtos de software
Registro en:
Autor
Gaia, Felipe Nunes
Institución
Resumen
Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are
programming techniques based on composition mechanisms, called renements and aspects,
respectively. These techniques are assumed to be good variability mechanisms for
implementing Software Product Lines (SPLs). Aspectual Feature Modules (AFM) is an
approach that combines advantages of feature modules and aspects to increase concern
modularity. Some guidelines on how to integrate these techniques have been established
in some studies, but these studies do not focus the analysis on how eectively AFM can
preserve the modularity and stability facilitating SPL evolution. The main purpose of
this work is to investigate whether the simultaneous use aspects and features through the
AFM approach facilitates the evolution of SPLs. The quantitative data were collected
from two SPL developed using four dierent variability mechanisms: (1) feature modules,
aspects and aspects renements of AFM, (2) aspects of aspect-oriented programming
(AOP), (3) feature modules of feature-oriented programming (FOP), and (4) conditional
compilation (CC) with object-oriented programming. Metrics for change propagation and
modularity stability were calculated and the results support the benets of the AFM option
in a context where the product line has been evolved with addition or modication
of crosscutting concerns. However a drawback of this approach is that refactorings in the
components design require a higher degree of modications to the SPL structure. Coordenação de Aperfeiçoamento de Pessoal de Nível Superior Mestre em Ciência da Computação Programação Orientada a Características e Programação Orientada a Aspectos são
técnicas de programação baseadas em mecanismos de composição, chamados renamentos
e aspectos, respectivamente. Estas técnicas são assumidas como bons mecanismos de
variabilidade para implementação de Linhas de Produto de Software (LPS). Módulos de
Características Aspectuais (AFM1) é uma abordagem que combina vantagens de caracter
ísticas e aspectos para aumentar a modularidade dos interesses. Algumas orientações
de como integrar estas técnicas foram estabelecidas em alguns estudos, mas estes estudos
não focaram na análise sobre como efetivamente AFM pode preservar a estabilidade e
modularidade facilitando a evolução da LPS. O objetivo principal deste trabalho é investigar
se o uso simultâneo de aspectos e características através da abordagem AFM facilita
a evolução de LPS. Os dados quantitativos foram coletados de duas LPS desenvolvidas
utilizando quatro diferentes mecanismos de variabilidade: (1) features, aspectos e renamentos
de aspecto de AFM, (2) aspectos de programação orientada a aspectos (POA),
(3) features de programação orientada a características (POC), e (4) compilação condicional
(CC) com programação orientada à objetos (POO). Foram calculadas métricas
de estabilidade em propagação de mudanças e métricas de modularidade e os resultados
suportam os benefícios em optar por AFM em um contexto onde a linha de produtos
evolui com a adição ou modicação de interesses transversais. Porém um inconveniente
desta abordagem é que refatorações no projeto dos componentes exigem um grau maior
de modicações na estrutura da LPS.