Software variability

Sebastian Günther, Thomas Cleenewerck, Viviane Jonckers · 2012

Software variability is a major driver in software development. In order to satisfy the increased variability requirements in today's software, several technical and non-technical variability mechanisms have been proposed. In this paper, we contribute with a language-specific perspective on how to manage variability. We explain our view on the concept of configuration languages, which are languages that offer structural and behavioral program configurations through specifically tailored expressions. We present seven design dimensions of configuration languages that determine how the variability model is defined and how a program's artifacts are represented and modified. To show the applicability of the design dimensions for explaining existing configuration languages, we analyze the Linux Kernel configuration language.

Read the paper · More papers on PaperTik