AspectJ-Based Idioms for Flexible Feature Binding

  • Rodrigo Andrade UFPE
  • Henrique Rebêlo UFPE
  • Márcio Ribeiro UFAL
  • Paulo Borba UFPE

Resumo


In Software Product Lines (SPL), we can bind reusable features to compose a product at different times, which in general are static or dynamic. The former allows customizability without any overhead at runtime. On the other hand, the latter allows feature activation or deactivation while running the application with the cost of performance and memory consumption. To implement features, we might use aspect-oriented programming (AOP), in which aspects enable a clear separation between base code and variable code. In this context, recent work provides AspectJ-based idioms to implement flexible feature binding. However, we identified some design deficiencies. Thus, to solve the issues of these idioms, we incrementally create three new AspectJ-based idioms. Moreover, to evaluate our new idioms, we quantitatively analyze them with respect to code cloning, scattering, tangling, and size by means of software metrics. Besides that, we qualitatively discuss our new idioms in terms of code reusability, changeability, and instrumentation overhead.
Palavras-chave: Syntactics, Feature extraction, Scattering, Abstracts, Concrete, Context, Instruments, Software Product Lines, Aspect-Oriented Programming, Idioms, Flexible Feature Binding
Publicado
29/09/2013
ANDRADE, Rodrigo; REBÊLO, Henrique; RIBEIRO, Márcio; BORBA, Paulo. AspectJ-Based Idioms for Flexible Feature Binding. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 7. , 2013, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 59-68.