Integrated management of variability in space and time in software families

Software product lines (SPLs) and software ecosystems (SECOs) encompass a family of closely related software systems in terms of common and variable assets that are configured to concrete products (variability in space). Over the course of time, variable assets of SPLs and especially SECOs are subject to change in order to meet new requirements as part of software evolution (variability in time). Even though both dimensions of variability have to be handled simultaneously, e.g., as not all customers upgrade their respective products immediately or completely, there currently is no approach that can create variants with a selection of variable assets in various versions. In this paper, we introduce an integrated approach to manage variability in space and time in software families using Hyper Feature Models (HFMs) with feature versions and combine them with an extension of the transformational variability realization mechanism delta modeling. This allows derivation of concrete software systems from an SPL or SECO configuring both functionality (features) as well as versions.

[1]  E. Burton Swanson,et al.  Characteristics of application software maintenance , 1978, CACM.

[2]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[3]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

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

[5]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[6]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[7]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[8]  Stéphane Ducasse,et al.  Modeling Software Evolution by Treating History as a First Class Entity , 2005, Electron. Notes Theor. Comput. Sci..

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

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

[11]  Jilles van Gurp,et al.  1 Version management tools as a basis for integrating Product Deri- vation and Software Product Families , 2006 .

[12]  André van der Hoek,et al.  Modeling Product Line Architectures through Change Sets and Relationships , 2007, 29th International Conference on Software Engineering (ICSE'07).

[13]  Klaus Schmid,et al.  A Requirements-Based Taxonomy of Software Product Line Evolution , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[14]  Vander Alves,et al.  Extracting and Evolving Code in Product Lines with Aspect-Oriented Programming , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[15]  Theo D'Hondt,et al.  Change-oriented software engineering , 2007, ICDL '07.

[16]  Cláudio Sant'Anna,et al.  Evolving software product lines with aspects , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[17]  Lidia Fuentes,et al.  Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines , 2009, SLE.

[18]  Michael Eichberg,et al.  Supporting the Evolution of Software Product Lines , 2008 .

[19]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[20]  Iris Groher,et al.  Aspect-Oriented Model-Driven Software Product Line Engineering , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[21]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[22]  Theo D'Hondt,et al.  Feature Diagrams for Change-Oriented Programming , 2009, ICFI.

[23]  Jan Bosch,et al.  From software product lines to software ecosystems , 2009, SPLC.

[24]  Gunter Saake,et al.  On the impact of the optional feature problem: analysis and case studies , 2009, SPLC.

[25]  Lidia Fuentes,et al.  VML* - A Family of Languages for Variability Management in Software Product Lines , 2009, SLE.

[26]  John McGregor,et al.  Ecosystems , 2009, J. Object Technol..

[27]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[28]  Petra Bosch-Sijtsema,et al.  From integration to composition: On the impact of software product lines, global development and ecosystems , 2010, J. Syst. Softw..

[29]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

[30]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

[31]  Wolfgang Schröder-Preikschat,et al.  Variability in Time - Product Line Variability and Evolution Revisited , 2010, VaMoS.

[32]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[33]  Uirá Kulesza,et al.  Investigating the safe evolution of software product lines , 2011, GPCE '11.

[34]  Ina Schaefer,et al.  Dynamic delta-oriented programming , 2011, SPLC '11.

[35]  Bernhard Rumpe,et al.  Evolving Delta-Oriented Software Product Line Architectures , 2012, Monterey Workshop.

[36]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[37]  Uwe Aßmann,et al.  Co-evolution of models and feature mapping in software product lines , 2012, SPLC '12.

[38]  Klaus Schmid,et al.  Formalizing distributed evolution of variability in information system ecosystems , 2012, VaMoS.

[39]  Ina Schaefer,et al.  Compositional type checking of delta-oriented software product lines , 2012, Acta Informatica.

[40]  Uwe Aßmann,et al.  Towards modeling and analyzing variability in evolving software ecosystems , 2013, VaMoS.

[41]  Bernhard Rumpe,et al.  First-class variability modeling in Matlab/Simulink , 2013, VaMoS.

[42]  Sven Apel,et al.  Feature-oriented software evolution , 2013, VaMoS.

[43]  Sven Apel,et al.  Language-Independent and Automated Software Composition: The FeatureHouse Experience , 2013, IEEE Transactions on Software Engineering.

[44]  Uwe Aßmann,et al.  Variability-aware safety analysis using delta component fault diagrams , 2013, SPLC '13 Workshops.

[45]  Uwe Aßmann,et al.  DeltaEcore - A Model-Based Delta Language Generation Framework , 2014, Modellierung.

[46]  Bernhard Rumpe,et al.  A Domain Specific Transformation Language , 2014, ArXiv.

[47]  Birgit Vogel-Heuser,et al.  Delta modeling for variant-rich and evolving manufacturing systems , 2014, MoSEMInA 2014.

[48]  Sandro Schulze,et al.  DeltaJ 1.5: delta-oriented programming for Java 1.5 , 2014, PPPJ.

[49]  Klaus Schmid,et al.  The feature pack approach: systematically managing implementations in software ecosystems , 2014, VaMoS '14.

[50]  Uwe Aßmann,et al.  Capturing variability in space and time with hyper feature models , 2014, VaMoS.

[51]  Sandro Schulze,et al.  Refactoring delta-oriented software product lines , 2013, Software Engineering & Management.