ABSTRACT
In many domains systems need to run continuously and cannot be shut down for reconfiguration or maintenance tasks. Cyber-physical or cloud-based systems, for instance, thus often provide means to support their adaptation at runtime. The required flexibility and adaptability of systems suggests the application of Software Product Line (spl) principles to manage their variability and to support their reconfiguration. Specifically, Dynamic Software Product Lines (dspl) have been proposed to support the management and binding of variability at runtime. While spl evolution has been widely studied, it has so far not been investigated in detail in a dspl context. Variability models that are used in a dspl have to co-evolve and be kept consistent with the systems they represent to support reconfiguration even after changes to the systems at runtime. In this short paper we present a classification of the required operations for jointly evolving problem and solution space in a dspl. We analyze the impact of such operations on the consistency of a dspl and propose an approach to deal with the described issues. We describe a runtime monitoring system used in the domain of industrial automation software as an example of a dspl evolving at runtime to motivate and explain our work.
- L. Baresi and C. Quinton. Dynamically Evolving the Structural Variability of Dynamic Software Product Lines. In SEAMS, 2015.Google Scholar
- D. Benavides, S. Segura, and A. R. Cortés. Automated analysis of feature models 20 years later: A literature review. Inf. Syst., 35(6):615--636, 2010. Google ScholarDigital Library
- N. Bencomo, J. Lee, and S. O. Hallsteinsen. How Dynamic is your Dynamic Software Product Line? In SPLC (vol. 2), pages 61--68, 2010.Google Scholar
- P. Borba, L. Teixeira, and R. Gheyi. A Theory of Software Product Line Refinement. Theor. Comput. Sci., 455: 2--30, 2012. Google ScholarDigital Library
- G. Botterweck and A. Pleuss. Evolution of software product lines. In Evolving Software Systems, Mens, T., Serebrenik, A., and Cleve, A. (eds.), pages 265--295. Springer, 2014.Google Scholar
- R. Capilla, J. Bosch, P. Trinidad, A. Ruiz-Cortés, and M. Hinchey. An Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry. JSS, 91: 3--23, 2014. Google ScholarDigital Library
- K. Czarnecki, P. Grünbacher, R. Rabiser, K. Schmid, and A. Wasowski. Cool features and tough decisions: A comparison of variability modeling approaches. In VaMoS, pages 173--182. ACM, 2012. Google ScholarDigital Library
- D. Dhungana, P. Grünbacher, and R. Rabiser. The dopler meta-tool for decision-oriented variability modeling: A multiple case study. Automated Software Engineering, 18(1):77--114, 2011. Google ScholarDigital Library
- W. Heider, R. Rabiser, and P. Grünbacher. Facilitating the Evolution of Products in Product Line Engineering by Capturing and Replaying Configuration Decisions. STTT, 14(5):613--630, 2012.Google ScholarDigital Library
- A. Helleboogh, D. Weyns, K. Schmid, T. Holvoet, K. Schelfthout, and W. Van Betsbrugge. Adding Variants on-the-fly: Modeling Meta-Variability in Dynamic Software Product Lines. In DSPL, SPLC, pages 18--27, 2009.Google Scholar
- M. Hinchey, S. Park, and K. Schmid. Building Dynamic Software Product Lines. Computer, 45(10):22--26, 2012. Google ScholarDigital Library
- J. McGregor. The Evolution of Product Line Assets. Technical Report CMU/SEI-2003-TR-005, 2003.Google ScholarCross Ref
- L. Passos, T. Leopoldo, N. Dintzner, S. Apel, A. Wasowski, K. Czarnecki, P. Borba, and J. Guo. Coevolution of Variability Models and Related Software Artifacts: A Fresh Look at Evolution Patterns in the Linux Kernel. Empirical Software Engineering, To appear 2015.Google Scholar
- C. Quinton, A. Pleuss, D. Le Berre, L. Duchien, and G. Botterweck. Consistency Checking for the Evolution of Cardinality-based Feature Models. In SPLC, pages 122--131. ACM, 2014. Google ScholarDigital Library
- C. Quinton, D. Romero, and L. Duchien. SALOON: a platform for selecting and configuring cloud environments. Software:Practice and Experience, 2015.Google Scholar
- R. Rabiser, M. Vierhauser, and P. Grünbacher. Variability management for a runtime monitoring infrastructure. In VaMoS, pages 35--42. ACM, 2015. Google ScholarDigital Library
- C. Seidl, F. Heidenreich, and U. Aßmann. Co-evolution of Models and Feature Mapping in Software Product Lines. In SPLC, pages 76--85. ACM, 2012. Google ScholarDigital Library
- R. Tartler, D. Lohmann, J. Sincero, and W. Schröder-Preikschat. Feature Consistency in Compile-time-configurable System Software: Facing the Linux 10,000 Feature Problem. In EuroSys, pages 47--60. ACM, 2011. Google ScholarDigital Library
- M. Vierhauser, P. Grünbacher, A. Egyed, R. Rabiser, and W. Heider. Flexible and scalable consistency checking on product line variability models. In ASE, pages 63--72. ACM, 2010. Google ScholarDigital Library
- M. Vierhauser, R. Rabiser, P. Grünbacher, C. Danner, S. Wallner, and H. Zeisel. A flexible framework for runtime monitoring of system-of-systems architectures. In WICSA, pages 57--66. IEEE, 2014. Google ScholarDigital Library
Index Terms
- Evolution in dynamic software product lines: challenges and perspectives
Recommendations
Learning and evolution in dynamic software product lines
SEAMS '16: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsA Dynamic Software Product Line (DSPL) aims at managing run-time adaptations of a software system. It is built on the assumption that context changes that require these adaptations at run-time can be anticipated at design-time. Therefore, the set of ...
Evolution in dynamic software product lines
AbstractMany software systems today provide support for adaptation and reconfiguration at runtime, in response to changes in their environment. Such adaptive systems are designed to run continuously and may not be shut down for reconfiguration or ...
A formal foundation for dynamic delta-oriented software product lines
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringDelta-oriented programming (DOP) is a flexible approach for implementing software product lines (SPLs). DOP SPLs are implemented by a code base (a set of delta modules encapsulating changes to object-oriented programs) and a product line declaration (...
Comments