Customizing Aspect-Oriented Variabilities using Generative Techniques

With the emergence of aspect-oriented (AO) techniques, crosscutting concerns can be now explicitly modularized and exposed as additional variabilities in program families. Hence, the development of highly customizable software family architectures requires the explicit handling of crosscutting variabilities through domain engineering and application engineering steps. In this context, this paper presents a generative model that addresses the implementation and instantiation of variabilities encountered in AO software family architectures. The use of our model allows for an early specification and preparation of AO variabilities, which in turn can be explicitly customized by means of domain engineering activities. All the variabilities of the architecture are modeled using feature models. In application engineering, developers can request an instance of the AO architecture in a process of two stages: (i) the definition of a feature model instance which specifies the resolution of variabilities for the AO family architecture; and (ii) the definition of a set of crosscutting relationships between features.