Cyril Ballagny - MOCAS : un modèle de composants basé états pour l'auto-adaptation

Cyril Ballagny, doctorant au LIUPPA (Université de Pau)

Les administrateurs, les développeurs, les concepteurs logiciels ont besoin de nouvelles approches pour faire face à la complexité croissante des systèmes informatiques. Afin de libérer les administrateurs de tâches répétitives et d'améliorer la réactivité des systèmes, ces systèmes tendent à être dotés de capacités d'auto-gestion telles que l'auto-configuration et l'auto-réparation. Ces capacités d'auto-gestion sont fortement couplées à la capacité du système de s'auto-adapter, c.-à-d. à modifier sa structure et son comportement alors qu'il est en cours d'exécution. Les approches se sont jusqu'alors concentrées sur l'auto-adaptation structurelle des systèmes à base de composants logiciels en remaniant les liaisons entre les composants.

Dans notre approche, nous nous focalisons sur l'adaptation comportementale. Nous avons défini le modèle de composants MOCAS (Model Of Components for Adaptive Systems)  pour permettre la réalisation de systèmes autonomiques* à base de composants logiciels auto-adaptatifs. MOCAS repose sur une approche uniforme exploitant l'ingénierie des modèles : les capacités d'adaptation et les propriétés autonomiques de chaque composant reposent sur l'usage qui est fait par MOCAS du langage de modélisation UML. La structure d'un composant MOCAS repose sur les éléments natifs du langage UML et le comportement du composant est décrit avec une machine à états UML. Cette même machine est ensuite exécutée par le composant pour réaliser son comportement. Pour devenir adaptable, un composant MOCAS est déployé dans un conteneur respectant ce même modèle. Une boucle de contrôle à base de composants MOCAS permet de réaliser des composants autoadaptables de façon décentralisée et de les doter de propriétés autonomiques. Les politiques autonomiques exploitent alors les modèles de machines à états afin d'auto-configurer et d'autoréparer les composants.

* le terme « autonomique » est ici une traduction littérale de l'adjectif anglais « autonomic » pris dans l'expression « autonomic computing », elle-même désignant les systèmes logiciels s'auto-gérant.

Talk

14 janvier 2010 - 14h00 - AdaLovelace, Inria