Higher-order delta modeling for software product line evolution

In software product lines (SPL), i.e., a family of similar software systems sharing common and variable artifacts, modeling evolution and reasoning about it is challenging, as not only a single system, but rather a set of system variants as well as their interdependencies change. An integrated modeling formalism for variability and evolution is required to allow the capturing of evolution operations that are applied to SPL artifacts, and to facilitate the impact analysis of evolution on the artifact level. Delta modeling is a flexible transformational variability modeling approach, where the variability and commonality between variants are explicitly documented and analyzable by means of transformations modeled as deltas. In this paper, we lift the notion of delta modeling to capture both, variability and evolution, by deltas. We evolve a delta model specifying a set of variants by applying higher-order deltas. A higher-order delta encapsulates evolution operations, i.e., additions, removals, or modifications of deltas, and transforms a delta model in its new version. In this way, we capture the complete evolution history of delta-oriented SPLs by higher-order delta models. By analyzing each higher-order delta application, we are further able to reason about the impact and, thus, the changes to the specified set of variants. We prototypically implement our formalism and show its applicability using a system from the automation engineering domain.

[1]  Uirá Kulesza,et al.  Safe evolution templates for software product lines , 2015, J. Syst. Softw..

[2]  Udo Kelter,et al.  SiPL -- A Delta-Based Modeling Framework for Software Product Line Engineering , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[3]  Paulo Borba,et al.  A theory of software product line refinement , 2010, Theor. Comput. Sci..

[4]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[5]  Jan Bosch,et al.  Evolution in software product lines: two cases , 1999, J. Softw. Maintenance Res. Pract..

[6]  Malte Lochau,et al.  Delta-oriented model-based integration testing of large-scale systems , 2014, J. Syst. Softw..

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

[8]  Øystein Haugen,et al.  Higher-Order Transformations for Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[9]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[10]  Rick Salay,et al.  Lifting model transformations to product lines , 2014, ICSE.

[11]  Martin Verlage,et al.  The Economic Impact of Product Line Adoption and Evolution , 2002, IEEE Softw..

[12]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

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

[14]  Michiel Helvensteijn,et al.  Abstract delta modelling , 2014, Mathematical Structures in Computer Science.

[15]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

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

[17]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[18]  Thomas Leich,et al.  Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution , 2005, RAM-SE.

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

[20]  Bernhard Rumpe,et al.  Feature Specification and Refinement with State Transition Diagrams , 1997, FIW.

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

[22]  Christoph Seidl,et al.  Integrated management of variability in space and time in software families , 2014, SPLC.

[23]  Michael Nieke,et al.  Guaranteeing Configuration Validity in Evolving Software Product Lines , 2016, VaMoS.

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

[25]  Christian Prehofer Plug-and-play composition of features and feature interactions with statechart diagrams , 2003, Software & Systems Modeling.

[26]  Hassan Gomaa,et al.  Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, 10th International Software Product Line Conference (SPLC'06).

[27]  C. Krueger,et al.  Eliminating the adoption barrier , 2002, IEEE Software.

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

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

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

[31]  Goetz Botterweck,et al.  Evolution of Software Product Lines , 2014, Evolving Software Systems.

[32]  Ina Schaefer,et al.  Pure delta-oriented programming , 2010, FOSD '10.

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

[34]  Birgit Vogel-Heuser,et al.  Researching Evolution in Industrial Plant Automation: Scenarios and Documentation of the Pick and Place Unit , 2014 .

[35]  Thomas Thüm,et al.  Applying Incremental Model Slicing to Product-Line Regression Testing , 2016, ICSR.

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

[37]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[38]  Uirá Kulesza,et al.  A Delta Oriented Approach to the Evolution and Reconciliation of Enterprise Software Products Lines , 2013, ICEIS.

[39]  Tom Mens,et al.  Evolving Software Systems , 2014, Springer Berlin Heidelberg.

[40]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.