Institut numerique

3.6 Etapes et mécanismes de l’adaptation (Comment ?)

On peut distinguer trois étapes principales par lesquelles passe toute opération d’adaptation, associées chacune à des mécanismes de mise en oeuvre. Ces étapes sont :

3.6.1 Détection/notification

Pour qu’une application s’adapte (ou soit adaptée) aux variations pertinentes de son environnement, il faut un mécanisme qui détecte et notifie ces variations [CHE 05]. A titre d’exemple, la chute de la bande passante réseau, ou l’action directe d’un utilisateur humain sur une interface homme-machine sont des variations susceptibles de déclencher une adaptation d’une ou plusieurs applications.

Dans ce cas on utilise un mécanisme de démon/moniteur associé à chaque élément à surveiller. Dans le cas, particulier où une application s’observe elle-même, on parle d’introspection et les ressources surveillées sont dites applicatives (p. ex. la valeur d’une variable d’état, le nombre de transactions effectuées, etc.).

Dans le cas où la ressource est fournie par la plate-forme d’exécution, on parle de ressource système. Son surveillant peut être implanté par un intergiciel spécifique, par le système d’exploitation ou par un pilote du périphérique fournissant cette ressource [CHE 05] (p. ex. le pilote d’une interface réseaux est capable de donner le taux de paquets perdus lors d’une transmission).

3.6.2 Prise de décision

Après la notification d’une variation, l’adaptateur doit décider selon une politique (logique) d’adaptation quelles actions entreprendre [CHE 05]. Cette politique peut être confinée dans l’adaptateur, auquel cas, seules les adaptations prévues au moment de la conception seront possibles. Dans le cas contraire, si la politique d’adaptation est externalisée, elle peut être modifiée en cours d’exécution par l’utilisateur afin de réaliser des adaptations non anticipées. La politique d’adaptation peut être exprimée sous forme impérative ou déclarative [CHE 05].

Elle peut être aussi basée sur des modèles formels comme les automates ou le calcul d’événements [CHE 05]. Cependant, elle reste toujours liée à la nature du traitement réalisé par l’application en question.

3.6.3 Exécution

Dans cette étape, l’adaptateur exécute les actions de modification décidées. Ces actions portent sur l’application concernée par les variations (sur ses composants et/ou sa structure), sur l’infrastructure sous-jacente et/ou sur les applications concurrentes [CHE 05]. Si une application se modifie elle-même, on parle alors d’intercession.

Page suivante : 3.7 Problèmes posés par l’adaptation dynamiques

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