Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach

Self-adaptive systems can autonomously adjust their behavior in response to environmental changes. Nowadays, not only can these systems be engineered individually, but they can also be conceived as members of a family based on the approach of dynamic software product lines. Through systematic mappin...

Full description

Bibliographic Details
Main Authors: Oscar Aguayo, Samuel Sepúlveda, Raúl Mazo
Format: Article
Language:English
Published: MDPI AG 2024-02-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/13/5/905
_version_ 1797264676208246784
author Oscar Aguayo
Samuel Sepúlveda
Raúl Mazo
author_facet Oscar Aguayo
Samuel Sepúlveda
Raúl Mazo
author_sort Oscar Aguayo
collection DOAJ
description Self-adaptive systems can autonomously adjust their behavior in response to environmental changes. Nowadays, not only can these systems be engineered individually, but they can also be conceived as members of a family based on the approach of dynamic software product lines. Through systematic mapping, we build on the identified gaps in the variability management of self-adaptive systems; we propose a framework that improves the adaptive capability of self-adaptive systems through feature model generation, variation point generation, the selection of a variation point, and runtime variability management using deep learning and the monitor–analysis–plan–execute–knowledge (MAPE-K) control loop. We compute the permutation of domain features and obtain all the possible variation points that a feature model can possess. After identifying variation points, we obtain an adaptation rule for each variation point of the corresponding product line through a two-stage training of an artificial neural network. To evaluate our proposal, we developed a test case in the context of an air quality-based activity recommender system, in which we generated 11 features and 32 possible variations. The results obtained with the proof of concept show that it is possible to manage identifying new variation points at runtime using deep learning. Future research will employ generating and building variation points using artificial intelligence techniques.
first_indexed 2024-04-25T00:32:41Z
format Article
id doaj.art-dd6b349aab0d4e15a39aa474eff77290
institution Directory Open Access Journal
issn 2079-9292
language English
last_indexed 2024-04-25T00:32:41Z
publishDate 2024-02-01
publisher MDPI AG
record_format Article
series Electronics
spelling doaj.art-dd6b349aab0d4e15a39aa474eff772902024-03-12T16:42:32ZengMDPI AGElectronics2079-92922024-02-0113590510.3390/electronics13050905Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line ApproachOscar Aguayo0Samuel Sepúlveda1Raúl Mazo2Departamento de Ciencias de la Computación e Informática, Centro de Estudios en Ingeniería de Software, Universidad de La Frontera, Temuco 4811230, ChileDepartamento de Ciencias de la Computación e Informática, Centro de Estudios en Ingeniería de Software, Universidad de La Frontera, Temuco 4811230, ChilePôle Sciences et Technologies de l’Information et de la Communication (STIC), École Nationale Supérieure de Techniques Avancées Bretagne, 29200 Brest, FranceSelf-adaptive systems can autonomously adjust their behavior in response to environmental changes. Nowadays, not only can these systems be engineered individually, but they can also be conceived as members of a family based on the approach of dynamic software product lines. Through systematic mapping, we build on the identified gaps in the variability management of self-adaptive systems; we propose a framework that improves the adaptive capability of self-adaptive systems through feature model generation, variation point generation, the selection of a variation point, and runtime variability management using deep learning and the monitor–analysis–plan–execute–knowledge (MAPE-K) control loop. We compute the permutation of domain features and obtain all the possible variation points that a feature model can possess. After identifying variation points, we obtain an adaptation rule for each variation point of the corresponding product line through a two-stage training of an artificial neural network. To evaluate our proposal, we developed a test case in the context of an air quality-based activity recommender system, in which we generated 11 features and 32 possible variations. The results obtained with the proof of concept show that it is possible to manage identifying new variation points at runtime using deep learning. Future research will employ generating and building variation points using artificial intelligence techniques.https://www.mdpi.com/2079-9292/13/5/905variabilityself-adaptive systemsdynamic software product linesMAPE-Kdeep learning
spellingShingle Oscar Aguayo
Samuel Sepúlveda
Raúl Mazo
Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
Electronics
variability
self-adaptive systems
dynamic software product lines
MAPE-K
deep learning
title Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
title_full Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
title_fullStr Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
title_full_unstemmed Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
title_short Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
title_sort variability management in self adaptive systems through deep learning a dynamic software product line approach
topic variability
self-adaptive systems
dynamic software product lines
MAPE-K
deep learning
url https://www.mdpi.com/2079-9292/13/5/905
work_keys_str_mv AT oscaraguayo variabilitymanagementinselfadaptivesystemsthroughdeeplearningadynamicsoftwareproductlineapproach
AT samuelsepulveda variabilitymanagementinselfadaptivesystemsthroughdeeplearningadynamicsoftwareproductlineapproach
AT raulmazo variabilitymanagementinselfadaptivesystemsthroughdeeplearningadynamicsoftwareproductlineapproach