Software frameworks enable modular, large-scale reuse by both providing a core architecture addressing recurring concerns in a certain domain and a set of variability options. However, the high volatility of requirements nowadays often imposes a number of framework changes with an architecture-wide impact. In order to avoid the framework design erosion, the modularity and stability of its core architecture implementation must be preserved. With aspect-oriented programming (AOP) promising superior software evolvability, there is a need for verifying its efficacy to enhance or not framework architecture stability. This paper presents a systematic case study where we have compared the evolution of OO and aspectual versions of a code mobility framework, called MobiGrid. Our analysis was driven by the application of heterogeneous evolutionary changes to MobiGrid, such as feature extensions and compositions with a second framework. Our analysis is also rooted at a comprehensive suite of conventional quantitative stability and modularity indicators.
Citation:
Cidiane Lobato, Alessandro Garcia, Uir? Kulesza, Arndt von Staa, Carlos Lucena, "Evolving and Composing Frameworks with Aspects: The MobiGrid Case," iccbss, pp.53-62, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008), 2008