REPRESENTING VARIABILITY IN SOFTWARE ARCHITECTURE: A SYSTEMATIC LITERATURE REVIEW
Variability in software-intensive systems is the ability of a software artefact (e.g., a system, subsystem, or component) to be extended, customised or configured for deployment in a specific context. Software Architecture is a high-level description of a software-intensive system that abstracts the system implementation details allowing the architect to view the system as a whole. Although variability in software architecture is recognised as a challenge in multiple domains, there has been no formal consensus on how variability should be captured or represented. The objective of this research was to provide a snapshot of the state-of-the-art on representing variability in software architecture while assessing the nature of the different approaches. To achieve this objective, a Systematic Literature Review (SLR) was conducted covering literature produced from January 1991 until June 2016. Then, grounded theory was used to conduct the analysis and draw conclusions from data, minimising threats to validity. In this paper, we report on the findings from the study.
Keywords: Variability, Software Architecture, Systematic Literature Review