Achieving Knowledge Evolution in Dynamic Software Product Lines

Dynamic Software Product Lines (DSPLs) offer a strategy to deal with software changes that need to be handled at run-time. In response to context changes, a DSPL capitalize on knowledge about the architecture variability of the software system to shift between configurations. Similar to any other kind of software, a DSPL needs to evolve over time but current approaches require software engineers to manually perform the DSPL evolution. Our work addresses the evolution of the architecture variability that makes up the knowledge of the DSPL. Given a new version of the architecture variability, we calculate its configuration space and propose strategies that allow migration from the current version to the new version. Our strategy solves the collision of the realization layer resulting from the integration of the new version of the variability specification. We evaluate our dynamic evolution strategy using the Goal-Question-Metric method for a Smart Hotel case study with 239 possible configurations as starting point. Our experiment indicates that the proposed technique would enable automatic evolution in 9 out of 10 cases. In the rest of the cases, all of the DSPL configurations changed between the old and the new version, which frustrates an automatic evolution.

[1]  Nelly Bencomo,et al.  A View of the Dynamic Software Product Line Landscape , 2012, Computer.

[2]  P. Giorgini,et al.  Context for Goal-level Product Line Derivation , 2009 .

[3]  Jan Bosch,et al.  Runtime variability for dynamic reconfiguration in wireless sensor network product lines , 2012, SPLC '12.

[4]  Jaejoon Lee,et al.  Bio-Inspired Mechanisms for Coordinating Multiple Instances of a Service Feature in Dynamic Software Product Lines , 2011, J. Univers. Comput. Sci..

[5]  Vicente Pelechano,et al.  Designing and Prototyping Dynamic Software Product Lines: Techniques and Guidelines , 2010, SPLC.

[6]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[7]  Douglas C. Schmidt,et al.  Automated diagnosis of feature model configurations , 2010, J. Syst. Softw..

[8]  Frank Eliassen,et al.  A development framework and methodology for self-adapting applications in ubiquitous computing environments , 2012, J. Syst. Softw..

[9]  Danny Weyns,et al.  Adding variants on-the-fly: Modeling meta-variability in dynamic software product lines , 2009 .

[10]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[11]  Muhammad Ali Babar,et al.  Dynamic Software Product Line Architectures Using Service-Based Computing for Automotive Systems , 2008, SPLC.

[12]  Vicente Pelechano,et al.  Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes , 2009, Computer.

[13]  Robert B. France,et al.  Providing Support for Model Composition in Metamodels , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[14]  Carlos Cetina Englada Achieving autonomic computing through the use of variability models at run-time , 2010 .

[15]  Olivier Barais,et al.  Composing Your Compositions of Variability Models , 2013, MoDELS.

[16]  Jacques Klein,et al.  Towards flexible evolution of Dynamically Adaptive Systems , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[17]  Alexander Egyed,et al.  Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications , 2015, J. Syst. Softw..

[18]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[19]  Jan Bosch,et al.  Dynamic Variability in Software-Intensive Embedded System Families , 2012, Computer.

[20]  Jian Yu,et al.  Enabling Runtime Evolution of Context-Aware Adaptive Services , 2013, 2013 IEEE International Conference on Services Computing.

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

[22]  Sooyong Park,et al.  Tool Support for Quality Evaluation and Feature Selection to Achieve Dynamic Quality Requirements Change in Product Lines , 2008, SPLC.

[23]  Vicente Pelechano,et al.  Context-Aware Autonomous Web Services in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

[24]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[25]  Pablo Trinidad Martín Arroyo Automating the analysis of stateful feature models , 2012 .

[26]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[27]  Birger Møller-Pedersen,et al.  Developing a Software Product Line for Train Control: A Case Study of CVL , 2010, SPLC.

[28]  Antonio Ruiz Cortés,et al.  Article in Press G Model the Journal of Systems and Software an Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry , 2022 .

[29]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[30]  Paul Grünbacher,et al.  Simulating evolution in model-based product line engineering , 2010, Inf. Softw. Technol..

[31]  Javier Muñoz Ferrara Model driven development of pervasive systems. Building a software factory , 2008 .

[32]  Sooyong Park,et al.  Building Dynamic Software Product Lines , 2012, Computer.

[33]  G. Travassos,et al.  Contributions of In Virtuo and In Silico Experiments for the Future of Empirical Studies in Software Engineering , 2003 .

[34]  Tom Mens,et al.  Towards a taxonomy of software change: Research Articles , 2005 .