Article ID Journal Published Year Pages File Type
458339 Journal of Systems and Software 2016 18 Pages PDF
Abstract

•We define a family of FQAs ready to be reused in many software architectures.•We define an Aspect-Oriented SPL to inject customized FQAs into the applications.•Two different implementations of the SPL are provided and compared.•Modelling FQAs separately from the applications increases reusability.•The final architectures exhibit a high degree of separation of concerns.

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).

Related Topics
Physical Sciences and Engineering Computer Science Computer Networks and Communications
Authors
, , ,