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...
Main Authors: | , , |
---|---|
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 |