Adding variants on-the-fly: Modeling meta-variability in dynamic software product lines

Dynamic software product lines (DSPL) are software product lines (SPL) that support runtime variability. Runtime variability is typically interpreted as binding variation points at runtime. We emphasize meta-variability as an important dimension of runtime variability in DSPL. Whereas dynamic binding considers the runtime (de)activation of variants within the scope of a given variability model, meta-variability considers runtime changes to the variability model itself. Meta-variability is essential to support longlived software products that are subject to evolution. In this paper, we consider meta-variability in an industrial DSPL that is developed in a joint project with Egemin N.V., a leading company that provides full life cycle support for automated transportation systems (ATS). The contribution of this paper is threefold. First, we introduce a way to model meta-variability in DSPL in an explicit manner. Second, we put forward a meta-variability meta model that extends the variability meta model with concepts that explicitly support meta-variability. Third, we capture and apply metavariability in an industrial DSPL for automated transportation systems.

[1]  Andreas Classen,et al.  A Formal Semantics for Multi-level Staged Configuration , 2009, VaMoS.

[2]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[3]  E. Visser,et al.  Capturing Timeline Variability with Transparent Configuration Environments , 2003 .

[4]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[5]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[6]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[7]  Marco Sinnema,et al.  COVAMOF: A Framework for Modeling Variability in Software Product Families , 2004, SPLC.

[8]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[9]  E. Visser,et al.  Timeline Variability: The Variability of Binding Time of Variation Points , 2003 .

[10]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[11]  Matthias Riebisch,et al.  Modeling Variability for Object-Oriented Product Lines , 2003, ECOOP Workshops.

[12]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[13]  Horst Lichter,et al.  RequiLine: A Requirements Engineering Tool for Software Product Lines , 2003, PFE.

[14]  Danny Weyns,et al.  A field-based versus a protocol-based approach for adaptive task assignment , 2008, Autonomous Agents and Multi-Agent Systems.

[15]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[16]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[17]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[18]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[19]  Danny Weyns,et al.  Towards a Software Product Line for Automated Transportation Systems , 2008, SPLC.