1 Introduction
With the constant evolution of software due to technological changes and its diversification in their needs, there is an increasing number of self-adaptive software systems, whose main feature is the adaptation of the system to the different needs, either the customer or the environment [Weyns2019]. Therefore, these approaches must provide system reconfiguration capabilities, giving the possibility to adapt at runtime to react to changes in the context [Weyns2019]. In [Hinchey2012], states that facing these challenges has led to the development of several approaches to adapt to changing needs, including self-adaptive, agent-based, autonomous, emergent, and bio-inspired systems. Dynamic software product lines (DSPLs) can meet these needs by providing a conceptual framework for managing variability in these types of systems, generating runtime changes, and managing system variability according to the needs of the environment [Quinton2021].
This paper aims to present the definition of a protocol to systematically map the evolution of variability management in Dynamic Software Product Lines during the reconfiguration process of self-adaptive systems between the years 2010 and 2021. The report is structured as follows. Section 2 describes the research method conducted, including the definition of the search string, the search process, and the criteria for inclusion and exclusion of articles. Finally, Section 3 presents the conclusions and future work.
2 Protocol definition
conducting a systematic mapping study (SMS) according to the guidelines defined by Petersen [PETERSEN20151].
2.1 Need
This work is the initial part of a proposal that seeks to build and develop an architecture to manage variability in DSPL during the software reconfiguration process for self-adaptive systems, where it is necessary to know in detail the proposals that exist today in the area, as this will allow:
-
Identify the requirements to generate a software reconfiguration while maintaining a level of stability in the running system during the process.
-
Know which technologies, tools, approaches, or others are used during the system reconfiguration process in DSPL and understand the justifications for use in each case.
-
Avoid activities or processes already performed by other authors.
-
Identify existing challenges in the area of reconfigurations for DSPL.
The results of the systematic mapping are expected to serve the SPL and eventually DSPL research community as a synthesis of what has happened in the last 11 years in run-time reconfiguration architectures for self-adaptive systems, both at the theoretical-practical and bibliometric levels.
2.2 Objective
The aim of this work is to collect several proposals of architectures or design patterns to manage the reconfiguration process in DSPL for self-adaptive systems present in the literature. It will seek to analyze various proposals of constraints in the reconfiguration process, main errors during the system adaptation process or also some notion regarding how to maintain system stability and reliability during reconfigurations, ensuring the consistency of the software with respect to the models and the running system [Quinton2021]. For this purpose, a systematic mapping of the literature for the most relevant articles of the last 11 years will be carried out, with the intention of collecting as much data as possible on the proposals to analyze the methodological approach used to reconfigure the solution domain of a software in an execution environment. The final part of the paper is a synthesis and publication of results. It is expected that the publication of the systematic mapping will contribute to identify several challenges in the management of variability for the DSPL scientific community, as well as contribute to the integral development of the DSPL through the generation of a line of research.
2.3 Research questions
The research will be focused on obtaining background on how variability is managed in DSPL, main challenges and constraints used. The main question of our research refers to What are the main difficulties or errors in the proposed architectures for managing variability during the reconfiguration of Dynamic Software Product Lines in self-adaptive systems?. In order to solve this research question, it will be subdivided into more specific questions, which are described in Table 1.
ID | RQ | Classification | Objective |
---|---|---|---|
1 | What approach was used to apply constraints during software reconfigurations in DSPL? | Software Agents, Constraint language, Machine Learning, Metamodels, Reasoning engines, Static adaptations, Restrictions on feature modeling, Others. |
Collect information on the type of practices used to maintain system stability during DSPL reconfigurations. |
2 | What methodologies are currently used to manage DSPL variability during reconfigurations? | -Proprietary architecture, MAPE-K, Agent-oriented software engineering, Third-party software | Identify how the variability model communicates with the running system to visualize reconfiguration changes |
3 | What are the current challenges in the management of DSPL? | Highlight the main challenges to properly manage the dynamic variability of DSPL. |
2.4 Publication Questions
A set of publication questions (PQ) is included to complement the information collected and to characterize the bibliographic, demographic and bibliographic space. This includes the type of place where published papers and the number of articles per year, details are shown in Table 2.
ID | PQ | Classification | Objective |
---|---|---|---|
1 | What year was the article published? | 2010-2021 | Highlight how DSPL research has evolved over the years. Years with more publications |
2 | Where was the article published? | Journal, Congress | Identify the journals and congresses most interested in the study of the DSPL, analyzing the most predominant congresses, journals and publishers |
2.5 Data Sources
According to [Kitchenham07guidelinesfor][BRERETON2007571] we consider the data sources detailed in Table 3, that are recognized among the most relevant in the Software Engineering community.
Library | URL |
---|---|
ACM Digital Library | dl.acm.org |
IEEE Xplore | ieeexplore.ieee.org |
Science Direct | sciencedirect.com |
Springer Link | springer.com |
Wiley Inter-Science | onlinelibrary.wiley.com |
2.6 Search String
The search string has been constructed according to the steps defined by [Kitchenham07guidelinesfor], through the context and the research question a set of keywords has been extracted, then for each keyword a set of synonyms has been proposed to widen the search range. Using PICOC [Wiley2006], the search string for the systematic mapping is constructed.
-
Population: Dynamic Software Product Lines (DSPL)
-
Intervention: Variability management approaches for DSPL.
-
Comparison: The comparison does not apply to our study because the RQs did not consider the comparison of the assembled documents with a specific DSPL variability management proposal.
-
Outcome: Software reconfigurations.
-
Context: Dynamic Software Product Lines and Self-Adaptive Systems.
The list of keywords and synonyms is listed as follows:
-
adaptation / reconfiguration
-
dynamic software product lines / software product lines
-
self-adaptive systems / adaptive systems / evolution
The final query string is described as follows:
(”self-adaptive systems” OR ”self-adapting systems” OR ”autoadaptive systems” OR ”self-adaptive” OR ”self-adapting” OR ”adaptive systems” OR “Self-adaptation” OR “Adaptation”)
AND
(”dynamic software product line” OR ”dynamic software product lines” OR ”dynamic product family” OR ”dynamic product families” OR ”dynamic product line” OR ”dynamic product lines” OR “Software product line” OR “software product lines” OR “product family” OR “product families” OR “product line” OR “product lines”)
AND
(”system reconfiguration” OR ”reconfiguration” OR “reconfiguration rules” OR “configuration rules” OR “adaptation rules” OR “evolution”)
It is important to mention that the search string has been adapted for some search engines, due to the limitations of each one [Gusenbauer2020]. However, each adaptation does not add or remove any filters. Table 4 shows the total results of the search string used in the selected data sources. Due to the restriction in the search string of the Science Direct data source, where a maximum of eight key terms is allowed, the following search string is used:
(“self-adaptive systems” OR “self-adaptive” OR “auto-adaptive systems” OR “adaptation”) AND (“dynamic software product line” OR “dynamic software product lines” OR “software product lines” OR “software product line”)
Library | Result |
---|---|
ACM Digital Library | 765 |
IEEE Xplore | 74 |
Science Direct | 485 |
Springer Link | 5511 |
Wiley Inter-Science | 1011 |
Total Result | 7846 |
2.7 Search and Selection Process
The search process starts with an automatic search in the selected electronic data sources using the search string defined in 2.6. The goal of this is to obtain the first collection of articles to be distributed among the researchers of the team. Each researcher has to independently filter this initial collection according to the following inclusion/exclusion criteria, which allow deciding whether an article in the collection is relevant or not for this study by reviewing only the title, abstract and keywords of each article.
The first filter consists of applying the Inclusion (IC) and Exclusion (EC) criteria according to the following priority defined in Figure 1. The definition of each IC and EC is shown in Tables 4 and 5. To avoid the exclusion of articles relevant to the research, we will occupy the snowballing search according to the guidelines proposed by Wohlin [Wohlin2014], in which the search range will be extended by reviewing the references of each article (backward snowballing) and the citations obtained by the articles (forward snowballing) already selected by the inclusion and exclusion criteria.
ID | Criteria |
---|---|
IC1 | Articles published between 2010-2021. |
IC2 | Papers written in English. |
IC3 | Type of paper: |
Proceeding. Journal. Conference Paper. Chapter LNCS (Lecture Notes in Computer Science). | |
CI4 | Papers with more than one version, only the latest version will be included. |
CI5 | Papers whose abstracts deal with Dynamic Software Product Lines or reconfigurations in Software Product Lines for self-adaptive systems. |
CI6 | Topic: |
Computer Science. |
ID | Criteria |
---|---|
CE1 | Articles written before 2010. |
CE2 | Articles not related to Software Product Lines. |
CE3 | Secondary researches. (If they exist, they will be added as related work). |
CE4 | Papers without access. |
CE5 | Duplicate papers will be excluded. |
CE6 | The following types of items will be excluded: |
Tutorials. Short Paper. Abstract. Poster. Paper in progress (incomplete). Book. |

2.8 Resolving differences and avoiding bias
In order to minimize possible differences in the conduct of the study, our protocol states the following decisions:
-
External validation of the search string and papers filtering.
-
Publication of the protocol for public review on the arXiv platform.
-
Collaborative definition of the SMS protocol and RQs.
-
The researchers individually decide on the inclusion or exclusion of the assigned articles, chosen at random from those retrieved through a pilot selection.
-
As a means of validation in the filtering and subsequent classification of the study, a concordance test based on Fleiss’ Kappa statistic [gwet2002kappa] will be performed. If then the criterion is sufficiently clear [fleiss2013statistical], otherwise, the criterion should be revised to obtain by its interpretation and application.
2.9 Results and Reporting
After having filtered the articles by inclusion and exclusion criteria, the relevant data will be extracted from the selected papers to answer the RQs and PQs.
The Meta-data collected for each article: (i) title, (ii) authors (each author), (iii) year of publication, (iv) publication type and classification, (v) approach used to generate reconfigurational constraints in DSPL, (vi) methodologies used to manage variability, (vii) challenges in DSPL management, (viii) results and future work.
Another output will be a bubble diagram that graphically represents the number of documents found divided into categories. An example is shown in Figure 2.

Presenting the results of this SMS considers 3 stages:
-
Stage 1: Publish the SMS protocol at Arxiv web platform.
-
Stage 2: Publish the results of the SMS in an academic journal or at a conference focused on the topic of software engineering and DSPL.
-
Stage 3: Present a proposal for dynamic variability management based on the problems encountered in the SMS.
The report with the results of phase 2 will be prepared with the structure recommended by [Kitchenham07guidelinesfor]. The main sections are:
-
Introduction
-
Context
-
Aim and need
-
-
Background
-
DSPL
-
Dynamic variability
-
Self-adaptive systems
-
-
Related work
-
Methodology
-
Results and discussion
-
Answers to RQs and PQs
-
Threats to validity
-
DSPL Challenges
-
-
Conclusion
-
Conclusions
-
Future work
-
3 Conclusion and Future Work
We presented a protocol definition of an SMS to summarize and synthesize the evidence over the last few years on variability management in DSPL for self-adaptive systems. The initial results show that a detailed review needs to be done on the different challenges pertaining to the variability management of self-adaptive systems using DSPLs and their impact on an eventual architecture proposal to manage such variability.
As future work we plan to define an architecture or methodology that allows managing variability dynamically for DSPL ensuring minimum quality criteria, such as usability and performance in each reconfiguration.