On the Modularity of Aspect-Oriented and Other Techniques for Implementing Product Lines

Software Product Lines (SPLs) encompass a family of softwareintensive systems developed from reusable assets. One major issue during SPL development is the decision about which technique should be used to implement variabilities. Although Aspect-Oriented Programming (AOP) has been used to this purpose, we still need to identify in which situations it is suitable or not. We propose a catalog of variabilities at the source code level and a set of patterns for implementing them. After analyzing these patterns, we concluded that AOP is not the best technique to implement some kinds of variabilities from our catalog. We argue that our approach is useful to find the most suitable techniques to handle specific variabilities at the source code level.