Reconfiguration dynamique sûre des applications comportant des options fonctionnelles
Auteur / Autrice : | Salman Farhat |
Direction : | Laurence Duchien |
Type : | Projet de thèse |
Discipline(s) : | Informatique et applications |
Etablissement(s) : | Université de Lille (2022-....) |
Ecole(s) doctorale(s) : | MADIS Mathématiques, sciences du numérique et de leurs interactions |
Partenaire(s) de recherche : | Laboratoire : INRIA - Institut national de recherche en informatique et en automatique Lille Nord Europe |
Equipe de recherche : INRIA-CRIStAL | |
Jury : | Examinateurs / Examinatrices : Laurence Duchien, Mathieu Acher, Marius Bozga, Olga Kouchnarenko, Simon Bliudze, Anne Etien |
Rapporteur / Rapporteuse : Mathieu Acher, Marius Bozga |
Résumé
Les applications déployées sur des environnement de type Cloud ou sur des systèmes cyber-physiques nécessitent une reconfiguration fréquente pendant leur exécution pour s'adapter à l'évolution des besoins et des exigences, ce qui souligne l'importance des capacités de reconfiguration dynamique. En outre, ces environnements peuvent étendre et modifier leurs services en cours d'exécution, ce qui nécessite une approche compositionnelle pour permettre la modification des configurations. Pour gérer la variabilité de l'architecture des grands systèmes, les modèles de caractéristiques sont largement utilisés au moment de la conception, avec plusieurs opérateurs définis pour permettre leur composition. Les approches existantes calculent de nouvelles configurations valides soit au moment de la conception, soit au moment de l'exécution, soit les deux, ce qui entraîne d'importants temps de calcul ou de validation pour chaque étape de reconfiguration. En outre, la construction de modèles formels corrects par construction pour gérer les reconfigurations d'applications est une tâche complexe et sujette aux erreurs, et il est nécessaire de l'automatiser autant que possible. Pour relever ces défis, nous proposons une approche appelée FeCo4Reco qui s'appuie sur les modèles de caractéristiques pour générer automatiquement, dans un formalisme basé sur les composants appelé JavaBIP, des modèles de variabilité d'exécution basés sur les composants qui respectent les contraintes du modèle de caractéristiques. Ces modèles de variabilité d'exécution basés sur les composants sont exécutables et peuvent être utilisés à l'exécution pour appliquer les contraintes de variabilité, c'est-à-dire pour garantir la validité (partielle) de toutes les configurations atteignables. Comme les architectures des systèmes complexes peuvent évoluer à l'exécution en acquérant de nouvelles fonctionnalités tout en respectant de nouvelles contraintes, nous définissons des opérateurs de composition pour les modèles de variabilité à l'exécution basés sur des composants qui, non seulement encodent ces opérateurs de composition de modèles de caractéristiques, mais garantissent également une reconfiguration sûre à l'exécution. Pour prouver les propriétés de correction et de composition, nous proposons une nouvelle équivalence UP-bisimulation en plusieurs étapes et l'utilisons pour montrer que les modèles de variabilité d'exécution basés sur les composants préservent la sémantique des modèles de fonctionnalités composés. Pour l'évaluation expérimentale, nous avons démontré l'applicabilité de notre approche dans des scénarios réels en générant un modèle d'exécution basé sur le modèle de caractéristiques de la plateforme cloud Heroku à l'aide de notre approche. Ce modèle est ensuite utilisé pour déployer une application web réelle sur la plateforme Heroku. En outre, nous avons mesuré les surcharges de temps et de mémoire induites par les modèles d'exécution générés sur des systèmes impliquant jusqu'à 300 fonctionnalités. Les résultats montrent que les surcharges sont négligeables, ce qui démontre l'intérêt pratique de notre approche.