Some quality attributes can be modelled using software components, and are normally known as Functional Quality
Attributes (FQAs). Applications may require different FQAs, and each FQA (e.g., security) can be composed of many
concerns (e.g., access control or authentication). They normally have dependencies between them and crosscut the
system architecture. The goal of the work presented here is to provide the means for software architects to focus
only on application functionality, without having to worry about FQAs. The idea is to model FQAs separately from
application functionality following a Software Product Line (SPL) approach. By combining SPL and aspect-oriented
mechanisms, we will define a generic process to model and automatically inject FQAs into the application without
breaking the base architecture. We will provide and compare two implementations of our generic approach using
different variability and architecture description languages: i) feature models and an aspect-oriented architecture
description language; and ii) the Common Variability Language (CVL) and a MOF-compliant language (e.g., UML).
We also discuss the benefits and limitations of our approach. Modelling FQAs separately from the base application
has many advantages (e.g., reusability, less coupled components, high cohesive architectures).