Résumé
Au fur et à mesure que la complexité des logiciels auto-adaptifs augmente, il est intéressant de modulariser la boucle monitoring-analysis-planning-execution (MAPE) en plusieurs, qui gèrent les changements de façon individuelle. Cependant, la décomposition en modules demande de résoudre les conflits apparaissant lorsque l'information partagée est mise à jour simultanément. Pour résoudre ce problème, nous proposons d'ajouter le fait de donner de la priorité automatique à l'architecture en trois couches de Kramer et al. sur les systèmes qui s'auto-gèrent. Une boucle MAPE complexe est découpée en pairs d'analyse et de plan (AP), devenant ainsi une boucle M(AP)+E, où les pairs d'AP partagent les mêmes étapes de monitoring et d'exécution. Ensuite, les transformations bidirectionnelles sont utilisées pour propager les changements entre les vues d'AP. Cette propagation est réalisée par BiGUL, un langage bidirectionnel dit "basé put". Enfin, les conflits entre les vues sont évitées par l'exécution séquentielle des pairs dans un ordre précis. La priorité maximum est donnéeà la dernière vue exécutée, lui permettant de remplacer par son propre changement ceux effectués par de précédentes vues. Une importante caractéristique de notre approche et qu'elle libère l'utilisateur de spécifier lui-même les priorités des vues, via l'utilisation d'un synchroniseur basé sur des règles. Ce synchroniseur donne la priorité de façon automatique lors de l'exécution sans conflit des modules d'AP, tout en respectant le contexte courant.
Notre approche a été implémentée et est illustrée sur l'API Amazon Web Services, un IaaS
(Infrastructure as a Service). Son évaluation souligne l'ecacité de l'utilisation de BiGUL,
ainsi que l'utilité de notre système.
la date de réponse | 18 juin 2018 |
---|---|
langue originale | Anglais |
L'institution diplômante |
|
Superviseur | Pierre Yves Schobbens (Promoteur) |