DeepAI
Log In Sign Up

Systematic Mapping Protocol: Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems

05/17/2022
by   Oscar Aguayo, et al.
0

Context: The Importance of Dynamic Variability Management in Dynamic Software Product Lines. Objective: Define a protocol for conducting a systematic mapping study to summarize and synthesize evidence on dynamic variability management for Dynamic Software Product Lines in self-adaptive systems. Method: Application the protocol to conduct a systematic mapping study according the guidelines of K. Petersen. Results: A validated protocol to conduct a systematic mapping study. Conclusions: First findings show that it is necessary to visualize new ways to manage variability in dynamic software product lines.

READ FULL TEXT VIEW PDF

page 1

page 2

page 3

page 4

03/26/2021

Systematic Mapping Protocol: Reasoning Algorithms on Feature Model

Context: The importance of the feature modeling for the software product...
10/28/2020

Systematic literature review protocol Identification and classification of feature modeling errors

Context: The importance of feature modeling languages for software produ...
04/12/2021

Unburdening onboarding in Software Product Lines

The number of studies focusing on onboarding in software organizations h...
12/13/2018

A Systematic Review of Tracing Solutions in Software Product Lines

Software Product Lines are large-scale, multi-unit systems that enable m...
03/28/2022

Institutionalization of Software Product Line: An Empirical Investigation of Key Organizational Factors

A good fit between the person and the organization is essential in a bet...
07/18/2019

Systematic Mapping Protocol Feature Modeling Tools

The customers and users need for new products and services according to ...

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.
Table 1: Research questions

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
Table 2: Publication questions

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
Table 3: Data Sources

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
Table 4: Search string, total results (5 May 2022)

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.
Table 5: Inclusion criteria
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.
Table 6: Exclusion criteria
Figure 1: Results from the search strategies

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.

Figure 2: Bubble Diagram Example

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.

References