next up previous contents
Next: 3.3 L'arbre de décision Up: 3. L'exécutif Previous: 3.1 Présentation générale   Table des matières

3.2 Les conflits et leur gestion

Les conflits qui peuvent apparaître entre différents services sont de différents types :



La stratégie de gestion de ces conflits se fait suivant les différentes interactions entre les services. Celles-ci peuvent être résumées comme suit :

Le service X interrompt le service Y :
Lorsqu'une demande de lancement du service X est reçue, si le service Y est déjà actif, le service X est prioritaire et on procède à une interruption du service Y.
Le service X attend la fin du service Y :
Lorsqu'une demande de lancement du service X est reçue, si le service Y est déjà actif, le service X attend la terminaison du service Y, celui-ci étant prioritaire par rapport au service X.
Les services X et Y sont indépendants :
Si les 2 services n'utilisent aucune ressource commune, ils sont indépendant. Il n'y a donc aucun conflit entre eux et on peux les démarrer indépendament l'un de l'autre.

Ce qui revient au schéma 3.1.

Figure 3.1: Dépendances entre les services
\includegraphics{/home/thomas/travail/rapport/dep.eps}



D'autre part, les différents services sont regroupés en groupes de services incompatibles entre eux. Des services incompatibles sont des services qui ne peuvent être exécutés en même temps : soit il y a interruption, soit il y a attente de la fin d'un autre.



Les groupes étant des ensembles de services incompatibles, ils ne peuvent avoir que deux états : un premier état dit << au repos >> (aucun service en cours), et un autre dit << actif >> (un et un seul service en cours). L'état de repos est noté IDLE tandis que l'état actif est représenté par le nom du service actif, puisqu'il ne peut y avoir plusieurs services du groupe actif en même temps, ceux-ci étant incompatibles.

Les services d'un groupe peuvent aussi interagir avec des services d'un autre groupe. On peut alors représenter leurs interactions sur la figure 3.2, appelé aussi graphe des conflits ou graphe des incompatibilités.

Figure 3.2: Représentation de groupes de services en interaction
\includegraphics{/home/thomas/travail/rapport/groups.eps}

Les stratégies doivent donc tenir compte des groupes instaurés et de leurs différents états. Elles régissent les règles qui détectent les conflits lors des demandes de démarrage d'un service. Elles seront discutées dans la section 3.3, page [*].


next up previous contents
Next: 3.3 L'arbre de décision Up: 3. L'exécutif Previous: 3.1 Présentation générale   Table des matières
Thomas Nemeth
1999-10-03