pture, at different levels of abstraction, the various objectives the system under consideration should achieve. Goal-oriented requirements engineering is concerned with the use o...
Design for change is a well-known adagium in software engineering. We separate concerns, employ well-designed interfaces, and the like to ease evolution of the systems we build. W...
Although primarily studied in the context of product lines, variability is a key fact about most systems and therefore a concern for the architectures of those systems. Thus it is...
Variability management is a key concern in the software industry. It allows designers to rapidly propose applications that fit the environment and the user needs, with a certain Q...
Features identify core characteristics of software in order to produce families of programs. Through configuration, different variants of a program can be composed. Our approach...