Unformatted text preview:

IntroductionVariability in Time in the LiteratureProduct Line Evolution VariabilityProduct Line Versioning VariabilityProduct Line Binding VariabilityAssigning the Different Notions to TypesVariability of Linear Change over Time: Maintenance and EvolutionVariability of Multiple Versions at a Moment in Time:Configuration ManagementVersions over Time and ContinuityVariability of Binding in Time:Product DerivationIntermediate SummaryScenariosProduct Line Evolution in DepthDiscussionConclusionReferencesVariability in Time — Product Line Variability andEvolution RevisitedChristoph Elsner∗, Goetz Botterweck†, Daniel Lohmann‡, Wolfgang Schröder-Preikschat‡∗Siemens Corporate Technology & Research, Erlangen, [email protected]†Lero – The Irish Software Engineering Research Centre, Limerick, [email protected]‡Friedrich-Alexander University Erlangen-Nuremberg, Erlangen, Germany{wosch,lohmann}@cs.fau.deAbstract—In its basic form, a variability model describes thevariations among similar artifacts from a structural point ofview. It does not capture any information about when thesevariations occur or how they are related to each other in time.This abstraction becomes problematic as soon as time-relatedaspects become essential for the modeling purpose, e.g., whenproviding long-term support for a product line or when planningits future strategy.In this paper, we provide an overview of approaches thatdeal with time-related aspects in variability, which is summa-rized under “variability in time”. In contrast, the modelingof structural commonalities and differences is referred to as“variability in space”. We take an inductive approach andsurvey different uses of the term “variability in time”, whichturn out to be orthogonal. We generalize the uses and identifythree different types: variability of linear change over time(maintenance/evolution), multiple versions at a point in time(configuration management), and binding over time (productderivation). We validate the types by using them to describecomplex product line evolution scenarios where they exhibitexpressive and discriminatory power. Finally, we go into depthfor the first type (maintenance/evolution) and identify the tasksand aspects to be considered when building a detailed evolutionresearch agenda in the future.I. INTRODUCTIONVariability can be seen as “the ability of a software systemor artefact to be efficiently extended, changed, customized orconfigured for use in a particular context.” [30]. Similarly,variability modeling techniques “aim at representing the vari-ability in a product family”. [27] Well-known techniques arefeature modeling [14], orthogonal variability modeling [22],COVAMOF [28], and decision modeling [2].These techniques, however, describe the variability of aproduct line for one particular moment in time only. Giventhe inevitable change of a software system over time, severalauthors added the time dimension to variability. Whereas theclassical notion of variability is referred to as “variability inspace” the new dimension is called “variability in time”1[22],[9], [24], [32], [16], [19], [4]. For ease of reading, when we use1We regard the terms “variability in time” and “variability over time”, bothin singular or plural, as synonyms.the term variability without any qualification in the following,we actually refer to “variability in space”.The topic of “variability in time” is of considerable impor-tance and has also been discussed in projects and workshops([21], [33], [15]). However, recent uses and definitions of theterm refer to widely differing time-related variability issues.Authors claiming to address “variability in time”—accordingto their definition—therefore actually only address a subset oftime-related problems. Whereas there exists substantial workand a common understanding on what “variability in space” isabout, this is not the case for “variability in time”. For time-related variability issues in product line engineering, an estab-lished body of knowledge, which allows for decomposing andstructuring the problem in an appropriate way, is still missing.This paper performs first steps towards such a common bodyof knowledge.We take an inductive approach and survey different usesof “variability in time” (Section II). They turn out to beorthogonal, so we generalize them and identify three typesof variability in time: variability of linear change over time(maintenance/evolution), multiple versions at a point in time(configuration management), and binding over time (productderivation) (Section III). This gives an expressive terminologyfor characterizing complex time-related variability interrela-tions, which we illustrate for several product line evolutionscenarios (Section IV). Finally, we go into depth for the firsttype (maintenance/evolution), for which we define tasks andaspects (future planning, present modeling and tracking, pastanalysis) (Section V), serving as a prerequisite for defining aresearch agenda in the future.II. VARIABILITY IN TIME IN THE LITERATUREIn this section we report on the uses of the term “variabilityin time” in recent work. Interestingly, it only appears in paperswithin the product line context. The term has been used todescribe three different problem areas: product line evolution,product line versioning, and product line binding variability.A. Product Line Evolution VariabilityOne definition recited several times [19], [12], [34] is ofPohl et al. [22]: “Variability in time is the existence of differentcSSE, University Duisburg-Essenversions of an artefact that are valid at different times.” Thisdefinition is not without problems. Having different versionsof an artifact is obviously not specific to software productlines. It holds for every evolving software system. However,even for single system development, it is common that oneproduct is released in different versions and, thus, one has todeal with different artifact versions at the same time. Thisdefinition, however, implicates that there is a straight flowof artifact versions, each new version actually invalidating itspredecessor.Other authors [24], [7] use the term “variability in time”to describe not only the change of the artifact versions overtime, but also of their variability dependencies (denoting the“variability in space”) over time. As requirements change overtime, the product line must


View Full Document
Download Variability in Time
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Variability in Time and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Variability in Time 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?