Specification and automated validation of staged reconfiguration processes for dynamic software product lines

Dynamic software product lines (DSPLs) propose elaborated design and implementation principles for engineering highly configurable runtime-adaptive systems in a sustainable and feature-oriented way. For this, DSPLs add to classical software product lines (SPL) the notions of (1) staged (pre-)configurations with dedicated binding times for each individual feature, and (2) continuous runtime reconfigurations of dynamic features throughout the entire product life cycle. Especially in the context of safety- and mission-critical systems, the design of reliable DSPLs requires capabilities for accurately specifying and validating arbitrary complex constraints among configuration parameters and/or respective reconfiguration options. Compared to classical SPL domain analysis which is usually based on Boolean constraint solving, DSPL validation, therefore, further requires capabilities for checking temporal properties of reconfiguration processes. In this article, we present a comprehensive approach for modeling and automatically verifying essential validity properties of staged reconfiguration processes with complex binding time constraints during DSPL domain engineering. The novel modeling concepts introduced are motivated by (re-)configuration constraints apparent in a real-world industrial case study from the automation engineering domain, which are not properly expressible and analyzable using state-of-the-art SPL domain modeling approaches. We present a prototypical tool implementation based on the model checker SPIN and present evaluation results obtained from our industrial case study, demonstrating the applicability of the approach.

[1]  Carsten Sinz,et al.  Configuration Lifting: Verification meets Software Configuration , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[2]  Mathieu Acher,et al.  Separation of concerns in feature modeling: support and applications , 2012, AOSD.

[3]  Andreas Classen,et al.  Analysis of Feature Configuration Workflows , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[4]  Birgit Vogel-Heuser,et al.  MODULARITY, VARIANT AND VERSION MANAGEMENT IN PLANT AUTOMATION – FUTURE CHALLENGES AND STATE OF THE ART , 2012 .

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

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

[7]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[8]  Stephan Merz,et al.  Model Checking , 2000 .

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

[10]  Douglas C. Schmidt,et al.  Automated reasoning for multi-step feature model configuration problems , 2009, SPLC.

[11]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

[12]  Antonio Ruiz Cortés,et al.  Using Java CSP Solvers in the Automated Analyses of Feature Models , 2005, GTTSE.

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

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

[15]  Malte Lochau,et al.  Automated verification of feature model configuration processes based on workflow Petri nets , 2014, SPLC.

[16]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[17]  Jan Bosch,et al.  A taxonomy of variability realization techniques: Research Articles , 2005 .

[18]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[19]  Sven Apel,et al.  Tailoring dynamic software product lines , 2011, GPCE '11.

[20]  Gunter Saake,et al.  Flexible feature binding in software product lines , 2011, Automated Software Engineering.

[21]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[22]  Andy Schürr,et al.  Staged configuration of dynamic software product lines with complex binding time constraints , 2014, VaMoS.

[23]  Hong Mei,et al.  A feature oriented approach to modeling and reusing requirements of software product lines , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[24]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[25]  P. Heymans,et al.  Supporting Multiple Perspectives in Feature-based Configuration: Foundations , 2010 .

[26]  Gunter Saake,et al.  Code generation to support static and dynamic composition of software product lines , 2008, GPCE '08.

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

[28]  Goetz Botterweck,et al.  Towards Supporting Feature Configuration by Interactive Visualisation , 2007, SPLC.

[29]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[30]  Sven Apel,et al.  Combining Runtime Adaptation and Static Binding in Dynamic Software Product Lines , 2011 .

[31]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[32]  C. R. Maga,et al.  An approach for modeling variants of industrial automation systems , 2010, 2010 IEEE International Conference on Automation, Quality and Testing, Robotics (AQTR).

[33]  Pierre-Yves Schobbens,et al.  Supporting multiple perspectives in feature-based configuration , 2013, Software & Systems Modeling.

[34]  Malte Lochau,et al.  Dynamic configuration management of cloud-based applications , 2012, SPLC '12.

[35]  Paul Grünbacher,et al.  Managing the Life-cycle of Industrial Automation Systems with Product Line Variability Models , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[36]  Malte Lochau,et al.  Context-aware DSPLs: model-based runtime adaptation for resource-constrained systems , 2013, SPLC '13 Workshops.

[37]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[38]  Malte Lochau,et al.  Multi-perspectives on feature models , 2012, MODELS'12.

[39]  Patrick Heymans,et al.  A Toolset for Feature-Based Configuration Workflows , 2011, 2011 15th International Software Product Line Conference.

[40]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

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

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

[43]  Halit Oguztüzün,et al.  From extended feature models to constraint logic programming , 2013, Sci. Comput. Program..

[44]  Pierre-Yves Schobbens,et al.  Towards Multi-view Feature-Based Configuration , 2010, REFSQ.

[45]  Krzysztof Czarnecki,et al.  A study of non-Boolean constraints in variability models of an embedded operating system , 2011, SPLC '11.

[46]  Andy Schürr,et al.  Reducing feature models to improve runtime adaptivity on resource limited devices , 2012, SPLC '12.

[47]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[48]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[49]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[50]  Donald D. Cowan,et al.  A Process-Centric Approach for Coordinating Product Configuration Decisions , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[51]  Andy Schürr,et al.  Applying Model-based Software Product Line Testing Approaches to the Automation Engineering Domain , 2014, Autom..

[52]  Michiel Helvensteijn,et al.  Dynamic delta modeling , 2012, SPLC '12.

[53]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..