Variability in Time - Product Line Variability and Evolution Revisited

Year of Publication
Fourth International Workshop on Variability Modelling of Software-Intensive Systems, Linz, Austria, January 27-29, 2010. Proceedings
In its basic form, a variability model describes the variations among similar artifacts from a structural point of view. It does not capture any information about when these variations occur or how they are related to each other in time. This abstraction becomes problematic as soon as time-related aspects become essential for the modeling purpose, e.g., when providing long-term support for a product line or when planning its future strategy. In this paper, we provide an overview of approaches that deal with time-related aspects in variability, which is summarized under “variability in time”. In contrast, the modeling of structural commonalities and differences is referred to as “variability in space”. We take an inductive approach and survey different uses of the term “variability in time”, which turn out to be orthogonal. We generalize the uses and identify three different types: variability of linear change over time (maintenance/evolution), multiple versions at a point in time (configuration management), and binding over time (product derivation). We validate the types by using them to describe complex product line evolution scenarios where they exhibit expressive and discriminatory power. Finally, we go into depth for the first type (maintenance/evolution) and identify the tasks and aspects to be considered when building a detailed evolution research agenda in the future.