journal article·2022-10-12Open access

Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems—A Systematic Mapping

Oscar Aguayo, Samuel Sepúlveda

Applied Sciences· Volume 12· Issue 20

Abstract

Context: Dynamic software product lines (DSPLs) have considerably increased their adoption for variability management for self-adaptive systems. The most widely used models for managing the variability of DSPLs are the MAPE-K control loop and context-aware feature models (CFMs). Aim: In this paper, we review and synthesize evidence of using variability constraint approaches, methodologies, and challenges for DSPL. Method: We conducted a systematic mapping, including three research questions. This study included 84 papers published from 2010 to 2021. Results: The main results show that open-dynamic variability shows a presence in 57.1% of the selected papers, and on the other hand, closed-dynamic variability appears in 38.1%. The most commonly used methodology for managing a DSPL environment is based on proprietary architectures (60.7%), where the use of CFMs predominates. For open-dynamic variability approaches, the MAPE-K control loop is mainly used. The main challenges in DSPL management are based on techniques (28.6%) and open variation (21.4%). Conclusions: Open-dynamic variability has prevailed over the years as the primary approach to managing variability in DSPL, where its primary methodology is the MAPE-K control loop. Response RQ3 requires further review.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Advanced Software Engineering Methodologies · Service-Oriented Architecture and Web Services · Software System Performance and Reliability

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Departamento de Ciencias de la Computación e Informática, Centro de Estudios en Ingeniería de Software, Universidad de La Frontera, Temuco 4811230, Chile

Funding

Universidad de La Frontera, Vicerrectoría de Investigación

References (84)

Show source-provided references
1. Weyns, D. (2019). Software Engineering of Self-adaptive Systems. Handbook of Software Engineering, Springer International Publishing.10.1002/9781119574910 ↗
2. Building Dynamic Software Product Lines10.1109/MC.2012.332 ↗
3. Evolution in dynamic software product lines10.1002/smr.2293 ↗
4. Dynamic Software Product Lines10.1109/MC.2008.123 ↗
5. Schmid, K., and Eichelberger, H. (2008, January 8–12). From Static to Dynamic Software Product Lines. Proceedings of the SPLC 2008, Limerick, Ireland.
6. The vision of autonomic computing10.1109/MC.2003.1160055 ↗
7. Abbas, N. (2011, January 21–26). Towards autonomic software product lines. Proceedings of the 15th International Software Product Line Conference, Munich, Germany.10.1145/2019136.2019187 ↗
8. Cravero, A., Pardo, S., Sepúlveda, S., and Muñoz, L. (2022). Challenges to Use Machine Learning in Agricultural Big Data: A Systematic Literature Review. Agronomy, 12.10.20944/preprints202202.0345.v1 ↗
9. Guedes, G., Silva, C., Soares, M., and Castro, J. (2015, January 21–22). Variability Management in Dynamic Software Product Lines: A Systematic Mapping. Proceedings of the 2015 IX Brazilian Symposium on Components, Architectures and Reuse Software, Belo Horizonte, Minas Gerais, Brazil.10.1109/SBCARS.2015.20 ↗
10. Clements, P., and Northrop, L. (2003). Software Product Lines, Course Notes of Product Line Systems Program, Software Engineering Institute, Carnegie Mellon University.
11. Apel, S., Batory, D., Kästner, C., and Saake, G. (2013). Software Product Lines. Feature-Oriented Software Product Lines: Concepts and Implementation, Springer.10.1007/978-3-642-37521-7 ↗
12. Nord, R.L. (2004). Experiences in Software Product Families: Problems and Issues During Product Derivation. Proceedings of the Software Product Lines, Springer.10.1007/b100081 ↗
13. A systematic review of evaluation of variability management approaches in software product lines10.1016/j.infsof.2010.12.006 ↗
14. Asikainen, T., Mannisto, T., and Soininen, T. (2006, January 21–24). A unified conceptual foundation for feature modelling. Proceedings of the 10th International Software Product Line Conference (SPLC’06), Baltimore, MD, USA.
15. Pohl, K., Böckle, G., and Van Der Linden, F. (2005). Software Product Line Engineering, Springer.10.1007/3-540-28901-1 ↗
16. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., and Peterson, A.S. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study, Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst. Technical Report.10.21236/ADA235785 ↗
17. A bibliometric analysis of 20 years of research on software product lines10.1016/j.infsof.2015.11.004 ↗
18. FM-CF: A framework for classifying feature model building approaches10.1016/j.jss.2019.04.026 ↗
19. Sepúlveda, S., and Cravero, A. (2022). Reasoning Algorithms on Feature Modeling—A Systematic Mapping Study. Appl. Sci., 12.10.3390/app12115563 ↗
20. Kim, M., and Park, S. (December, January 30). Goal and scenario driven product line development. Proceedings of the 11th Asia-Pacific Software Engineering Conference, Washington, DC, USA.
21. Fitzgerald, B., and Stol, K.J. (2014, January 3). Continuous Software Engineering and beyond: Trends and Challenges. Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering (RCoSE 2014), Hyderabad, India.10.1145/2593812.2593813 ↗
22. Rosenmüller, M., Siegmund, N., Pukall, M., and Apel, S. (2011, January 22–23). Tailoring dynamic software product lines. Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering, Portland, OR, USA.10.1145/2047862.2047866 ↗
23. Santos, I.S., Rocha, L.S., Neto, P.A.S., and Andrade, R.M. (2016, January 19–23). Model verification of dynamic software product lines. Proceedings of the 30th Brazilian Symposium on Software Engineering, Maringá, Brazil.10.1145/2973839.2973852 ↗
24. Guedes, G., Silva, C., and Soares, M. (2017, January 20–22). Comparing configuration approaches for dynamic software product lines. Proceedings of the 31st Brazilian Symposium on Software Engineering, Fortaleza, CE, Brazil.10.1145/3131151.3131162 ↗
25. Self-Adaptive Software: Landscape and Research Challenges10.1145/1516533.1516538 ↗
26. de Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., and Vogel, T. (2013). Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Software Engineering for Self-Adaptive Systems II: International Seminar, Dagstuhl Castle, Germany, 24–29 October 2010 Revised Selected and Invited Papers, Springer.10.1007/978-3-642-35813-5 ↗
27. Dynamic Variability in Software-Intensive Embedded System Families10.1109/MC.2012.287 ↗
28. Variability in software systems—A systematic literature review10.1109/TSE.2013.56 ↗
29. Software product lines and variability modeling: A tertiary study10.1016/j.jss.2018.12.027 ↗
30. Jaffari, A., Lee, J., and Kim, E. (2021). Variability Modeling in Software Product Line: A Systematic Literature Review. Software Engineering in IoT, Big Data, Cloud and Mobile Computing, Springer.10.1007/978-3-030-64773-5_1 ↗
31. Software product line applied to the internet of things: A systematic literature review10.1016/j.infsof.2020.106293 ↗
32. da Silva, J.R.F., da Silva, F.A.P., do Nascimento, L.M., Martins, D.A.O., and Garcia, V.C. (2013, January 14–18). The dynamic aspects of product derivation in DSPL: A systematic literature review. Proceedings of the 2013 IEEE 14th International Conference on Information Reuse and Integration (IRI), San Francisco, CA, USA.10.1109/IRI.2013.6642507 ↗
33. Combining service-orientation and software product line engineering: A systematic mapping study10.1016/j.infsof.2013.05.006 ↗
34. Guidelines for conducting systematic mapping studies in software engineering: An update10.1016/j.infsof.2015.03.007 ↗
35. Aguayo, O., and Sepúlveda, S. (2022). Systematic Mapping Protocol: Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems. arXiv.10.3390/app122010240 ↗
36. Kitchenham, B., Charters, S., Budgen, S., Brereton, P., Turner., M., Linkman, S., Jørgensen, M., Mendes, E., and Visaggio, G. (2007). Guidelines for Performing Systematic Literature Reviews in Software Engineering, Software Engineering Group, School of Computer Science and Mathematics, Keele University. EBSE Technical Report, EBSE-2007-01.
37. Lessons from applying the systematic literature review process within the software engineering domain10.1016/j.jss.2006.07.009 ↗
38. Petticrew, M., and Roberts, H. (2006). How to Find the Studies: The Literature Search. Systematic Reviews in the Social Sciences, John Wiley & Sons, Ltd.. Chapter 4.10.1002/9780470754887.ch4 ↗
39. Sharifloo, A.M., Metzger, A., Quinton, C., Baresi, L., and Pohl, K. (2016, January 16–17). Learning and evolution in dynamic software product lines. Proceedings of the 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Austin, TX, USA.10.1145/2897053.2897058 ↗
40. Arcega, L., Font, J., Haugen, Ø., and Cetina, C. (2016, January 14–18). Achieving knowledge evolution in dynamic software product lines. Proceedings of the 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Suita, Osaka, Japan.10.1109/SANER.2016.24 ↗
41. Which academic search systems are suitable for systematic reviews or meta-analyses? Evaluating retrieval qualities of Google Scholar, PubMed, and 26 other resources10.1002/jrsm.1378 ↗
42. Wohlin, C. (2014, January 13–14). Guidelines for Snowballing in Systematic Literature Studies and a Replication in Software Engineering. Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering (EASE ’14), London, UK.10.1145/2601248.2601268 ↗
43. Inter-rater reliability: Dependency on trait prevalence and marginal homogeneity
44. Fleiss, J.L. (1981). Statistical Methods for Rates and Proportions, John Wiley & Sons. [2nd ed.]. Probability & Mathematical Statistics S.
45. Ancán, O., and Reyes, M. (2020). Cabuplot: Categorical Bubble Plot for Systematic Mapping Studies, Departamento de Ciencias de la Computación e Informática, Universidad de La Frontera.
46. Mens, K., Capilla, R., Cardozo, N., and Dumas, B. (2016). A Taxonomy of Context-Aware Software Variability Approaches. MODULARITY Companion 2016, Proceedings of the 15th International Conference on Modularity, Málaga, Spain, 14–17 March 2016, Association for Computing Machinery.10.1145/2892664.2892684 ↗
47. Zhang, B., Duszynski, S., and Becker, M. (2016, January 15). Variability Mechanisms and Lessons Learned in Practice. Proceedings of the 1st International Workshop on Variability and Complexity in Software Design ( VACE ’16), Austin, TX, USA.10.1145/2897045.2897048 ↗
48. Sousa, G., Rudametkin, W., and Duchien, L. (2017, January 22–23). Extending dynamic software product lines with temporal constraints. Proceedings of the 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, Argentina.10.1109/SEAMS.2017.6 ↗
49. Ruiz, C., Duran-Limon, H.A., and Parlavantzas, N. (2016, January 6–9). Towards a software product line-based approach to adapt IaaS cloud configurations. Proceedings of the 9th International Conference on Utility and Cloud Computing, Shanghai, China.10.1145/2996890.3007893 ↗
50. Using document-oriented GUIs in dynamic software product lines10.1145/2637365.2517214 ↗
51. Weckesser, M., Kluge, R., Pfannemüller, M., Matthé, M., Schürr, A., and Becker, C. (2018, January 10–14). Optimal reconfiguration of dynamic software product lines based on performance-influence models. Proceedings of the 22nd International Systems and Software Product Line Conference, Gothenburg, Sweden.10.1145/3233027.3233030 ↗
52. Nascimento, A.S., Rubira, C.M.F., and Lee, J. (2011, January 21–26). An spl approach for adaptive fault tolerance in soa. Proceedings of the 15th International Software Product Line Conference, Munich, Germany.10.1145/2019136.2019153 ↗
53. Venero, S.K., Eleutério, J.D., and Rubira, C.M. (December, January 28). Research contributions on adaptive software architectures: A Brazilian female perspective at UNICAMP. Proceedings of the 10th European Conference on Software Architecture Workshops, Copenhagen, Denmark.
54. dos Santos, E.B., de Castro Andrade, R.M., and de Sousa Santos, I. (2019, January 23–27). Runtime monitoring of behavioral properties in dynamically adaptive systems. Proceedings of the XXXIII Brazilian Symposium on Software Engineering, Salvador, Brazil.10.1145/3350768.3351798 ↗
55. Santos, E., and Machado, I. (2018, January 6–9). Towards an architecture model for dynamic software product lines engineering. Proceedings of the 2018 IEEE International Conference on Information Reuse and Integration (IRI), Salt Lake City, UT, USA.10.1109/IRI.2018.00013 ↗
56. Boonon, P., and Muenchaisri, P. (2014, January 6–9). An approach to clustering feature model based on adaptive behavior for dynamic software product line. Proceedings of the 2014 IEEE International Conference on Information Science &Applications (ICISA), Seoul, Korea.10.1109/ICISA.2014.6847354 ↗
57. Amja, A.M., Obaid, A., and Mili, H. (2016, January 24–26). Combining variability, RCA and feature model for context-awareness. Proceedings of the 2016 Sixth IEEE International Conference on Innovative Computing Technology (INTECH), Dublin, Ireland.10.1109/INTECH.2016.7845015 ↗
58. Khiari, B., and Jilani, L.L. (November, January 30). Towards a DSPL for Context Aware BPM. Proceedings of the 2017 IEEE/ACS 14th International Conference on Computer Systems and Applications (AICCSA), Hammamet, Tunisia.10.1109/AICCSA.2017.79 ↗
59. Amoud, M., and Roudies, O. (2017, January 19–20). Dynamic adaptation and reconfiguration of security in mobile devices. Proceedings of the 2017 IEEE International Conference On Cyber Incident Response, Coordination, Containment & Control (Cyber Incident), London, UK.10.1109/CYBERINCIDENT.2017.8054639 ↗
60. Velázquez-García, F.J., Halvorsen, P., Stensland, H.K., and Eliassen, F. (2018, January 18–21). Autonomic adaptation of multimedia content adhering to application mobility. Proceedings of the IFIP International Conference on Distributed Applications and Interoperable Systems, Madrid, Spain.10.1007/978-3-319-93767-0_11 ↗
61. ASPLe: A methodology to develop self-adaptive software systems with systematic reuse10.1016/j.jss.2020.110626 ↗
62. Automating the product derivation process of multi-agent systems product lines10.1016/j.jss.2011.04.066 ↗
63. A goal-driven software product line approach for evolving multi-agent systems in the Internet of Things10.1016/j.knosys.2019.104883 ↗
64. Unifying design and runtime software adaptation using aspect models10.1016/j.scico.2010.12.005 ↗
65. Olaechea, R., Atlee, J., Legay, A., and Fahrenberg, U. (2018, January 28–29). Trace checking for dynamic software product lines. Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing Systems, Gothenburg, Sweden.10.1145/3194133.3194143 ↗
66. Cubo, J., Gamez, N., Pimentel, E., and Fuentes, L. (July, January 27). Reconfiguration of service failures in damasco using dynamic software product lines. Proceedings of the 2015 IEEE International Conference on Services Computing, New York, NY, USA.10.1109/SCC.2015.25 ↗
67. Nakanishi, T., Furusho, H., Hisazumi, K., and Fukuda, A. (2016, January 10–14). Dynamic SPL and derivative development with uncertainty management for DevOps. Proceedings of the 2016 5th IEEE IIAI International Congress on Advanced Applied Informatics (IIAI-AAI), Kumamoto, Japan.10.1109/IIAI-AAI.2016.240 ↗
68. Shen, L., Peng, X., and Zhao, W. (2012, January 16–20). Software Product Line Engineering for Developing Self-Adaptive Systems: Towards the Domain Requirements. Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference, Izmir, Turkey.10.1109/COMPSAC.2012.40 ↗
69. Nascimento, A.S., Rubira, C.M., and Castor, F. (2014, January 9–11). ArCMAPE: A Software Product Line Infrastructure to Support Fault-Tolerant Composite Services. Proceedings of the 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering, Miami Beach, FL, USA.10.1109/HASE.2014.15 ↗
70. Metzger, A., Bayer, A., Doyle, D., Sharifloo, A.M., Pohl, K., and Wessling, F. (2016, January 15). Coordinated run-time adaptation of variability-intensive systems: An application in cloud computing. Proceedings of the 2016 IEEE/ACM 1st International Workshop on Variability and Complexity in Software Design (VACE), Austin, TX, USA.10.1145/2897045.2897049 ↗
71. Specification and automated validation of staged reconfiguration processes for dynamic software product lines10.1007/s10270-015-0470-4 ↗
72. Gamez, N., Romero, D., Fuentes, L., Rouvoy, R., and Duchien, L. (2012, January 19). Constraint-based self-adaptation of wireless sensor networks. Proceedings of the 2nd International Workshop on Adaptive Services for the Future Internet and 6th International Workshop on Web APIs and Service Mashups, Bertinoro, Italy.10.1145/2377836.2377842 ↗
73. Dynamically Adaptable Software Is All about Modeling Contextual Variability and Avoiding Failures10.1109/MS.2017.4121205 ↗
74. Pfannemuller, M., Krupitzer, C., Weckesser, M., and Becker, C. (2017, January 17–21). A Dynamic Software Product Line Approach for Adaptation Planning in Autonomic Computing Systems. Proceedings of the 2017 IEEE International Conference on Autonomic Computing (ICAC), Columbus, Ohio, USA.10.1109/ICAC.2017.18 ↗
75. Göttmann, H., Bacher, I., Gottwald, N., and Lochau, M. (2021, January 9–11). Static Analysis Techniques for Efficient Consistency Checking of Real-Time-Aware DSPL Specifications. Proceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS’21), Krems, Austria.10.1145/3442391.3442409 ↗
76. Marinho, F.G., Maia, P.H., Andrade, R.M., Vidal, V.M., Costa, P.A., and Werner, C. (2012, January 24–25). Safe adaptation in context-aware feature models. Proceedings of the 4th International Workshop on Feature-Oriented Software Development, Dresden, Germany.10.1145/2377816.2377824 ↗
77. Murguzur, A., Capilla, R., Trujillo, S., Ortiz, Ó., and Lopez-Herrejon, R.E. (2014, January 15–19). Context variability modeling for runtime configuration of service-based dynamic software product lines. Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools, Florence, Italy.10.1145/2647908.2655957 ↗
78. Baresi, L., and Quinton, C. (2015, January 18–19). Dynamically evolving the structural variability of dynamic software product lines. Proceedings of the 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Florence, Italy.10.1109/SEAMS.2015.24 ↗
79. Building reliable and maintainable dynamic software product lines: An investigation in the body sensor network domain10.1016/j.infsof.2017.02.002 ↗
80. Achtaich, A., Roudies, O., Souissi, N., Salinesi, C., and Mazo, R. (2019, January 9–13). Evaluation of the State-Constraint Transition Modelling Language: A Goal Question Metric Approach. Proceedings of the 23rd International Systems and Software Product Line Conference, Paris, France. Volume B.10.1145/3307630.3342417 ↗
81. Automatic recognition of multi-word terms: The c-value/nc-value method10.1007/s007999900023 ↗
82. Petersen, K., and Gencel, C. (2013, January 23–26). Worldviews, Research Methods, and their Relationship to Validity in Empirical Software Engineering Research. Proceedings of the 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement, Ankara, Turkey.10.1109/IWSM-Mensura.2013.22 ↗
83. Achieving autonomic Web service compositions with models at runtime10.1016/j.compeleceng.2017.08.004 ↗
84. Bezerra, C., Lima, R., and Silva, P. (2021). DyMMer 2.0: A Tool for Dynamic Modeling and Evaluation of Feature Model. Brazilian Symposium on Software Engineering, Association for Computing Machinery.10.1145/3474624.3476016 ↗