Institut numerique

3.8 Performance de l’adaptation

Plusieurs conditions doivent être vérifiées par une opération d‟adaptation. Dans cette section, nous présentons les paramètres qui permettent d‟évaluer une approche d‟adaptation.

3.8.1 La cohérence

L‟application d‟administration qui se charge de lancer l‟opération d‟adaptation est plus prioritaire que l‟application administrée. Ceci ne lui donne pas le droit de tout faire avec cette application. [CHE 05] L‟opération d‟adaptation doit préserver la cohérence de l‟application adaptée.

Elle ne doit pas être lancé à n‟importe quel moment, sinon, il faut prévoir des mécanismes pour que cette opération ne force pas l‟application à s‟adapter brusquement, mais doit lui laisser le temps de passer dans un état cohérent. La cohérence de l‟application peut être locale ou globale [CHE 05].

Dans le premier cas, elle concerne un composant indépendamment des autres, par exemple, lorsqu‟un composant est altéré au moment où il modifie l‟une de ses ressources, il ne peut pas revenir dans un état cohérent. La cohérence globale concerne l‟application dans sa globalité, par exemple, les messages transitant dans l‟application ne doivent pas être perdus. La cohérence de l‟application peut être résumée par les points suivants [CHE 05]:

 Sécurité : une opération d‟adaptation mal faite ne doit pas conduire l‟application adaptée à un crash.

 Complétude : au bout d‟un certain temps, l‟adaptation doit se terminer, et doit au moins introduire les changements nécessaires à l‟ancienne version de l‟application.

 Well-timedness : il faut lancer l‟adaptation aux bons moments. Le programmeur doit spécifier à l‟avance les points d‟adaptation.

 Possibilité de rollback : même si par un moyen ou un autre on démontre la correction (correctness) de l‟adaptation, certaines erreurs peuvent échapper aux preuves. Il faut disposer de moyens permettant d‟annuler l‟adaptation et faire retourner l‟application à son état initial.

3.8.2 Degré d’automatisation

Selon [CHE 05] le degré d‟automatisation représente la capacité de l‟application de réaliser sa propre adaptation. Ceci est possible car en exécution, l‟application a toutes les informations pour décider qu‟une adaptation est nécessaire, et également, toutes les capacités pour réaliser une telle adaptation sans l‟intervention d‟un administrateur humain.

Cette automatisation n‟est pas toujours possible car certains changements dans l‟environnement d‟exécution ne peuvent pas être captés par l‟application, et il n‟est pas possible de tout prévoir au moment de la conception de l‟application.

Page suivante : 3.9 Conclusion

Retour au menu : UTILISATION DES SCRIPTS POUR LE DEVELOPPEMENT DES COMPOSANTS COM ADAPTABLES