Software systems are central for the infrastructure of modern society. To justify the huge investments such systems need to live for decades. This requires software which is highly adaptable. Software systems must support a high degree of (spatial) variability to accomodate a range of requirements and operating conditions, and temporal evolvability to allow these parameters to change over time. C ...