Variability Management in Self-Adaptive Systems through Deep Learning: A Dynamic Software Product Line Approach
Résumé
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 variability management of self-adaptive systems, propose a framework that improves the adaptive capability of self-adaptive systems through feature model generation, variation point generation, selection of a variation point, and runtime variability management using deep learning and 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.
Origine | Fichiers éditeurs autorisés sur une archive ouverte |
---|