• Aucun résultat trouvé

Dans cette section, nous pr´esentons l’enchainement g´en´eral des fonctions offertes par le prototype r´ealis´e. Les sc´enarios d’utilisation sont illustr´es par diff´erentes cap- tures d’´ecrans r´ecup´er´ees `a partir du syst`eme PCIA. Ils couvrent les diff´erentes fonc- tions depuis la cr´eation initiale des protocoles jusqu’`a l’analyse de l’impact et la gestion de la migration des instances actives.

7.3.1

Edition d’un protocole´

Le syst`eme est dot´e d’un ´editeur graphique destin´e `a cr´eer, modifier et visualiser les descriptions des protocoles. La figure 7.3, repr´esente l’interface d’´edition d’un au- tomate d´ecrivant un protocole de service. A l’ouverture de l’application, l’interface est d´epourvue de contenue `a part la barre de menu. Pendant les op´erations de mise `a jour

CHAPITRE 7. IMPL´EMENTATION ET EXP ´ERIMENTATION

(items du sous-menu Protocols Editor ), une boˆıte `a outils contenant des ´el´ements gra- phiques (´etats, messages, . . . ) est griff´ee `a l’interface. Cette boite `a outils sert `a ´editer les protocoles (cr´eation ou modification). Les actions permises consistent `a choisir le type d’´etats (initial, interm´ediaire, final ) ou `a choisir les transitions (activit´es), et de proc´eder `a leur description (´eventuellement leur suppression). Dans la barre d’outils, en dessous de la barre de menu, figurent des icˆones pour l’acc`es rapide aux op´erations les plus fr´equentes : cr´eation de protocole, ouverture d’un protocole en modification ou enregistrement d’un protocole,. . .

Figure 7.3 – Cr´eation, modification et visualisation des protocoles

Durant les op´erations de cr´eation ou de modification des protocoles, un analyseur syntaxique v´erifie la conformit´e du mod`ele par rapport aux crit`eres formels. En effet, toutes les erreurs de description d’un automate, telles que l’absence d’´etats finaux, ´

etats non atteignables . . . , sont signal´ees aux concepteurs du protocole. D’autre part, le syst`eme offre aux utilisateurs diff´erentes repr´esentations des protocoles, `a savoir : la repr´esentation en syntaxe formelle (conform´ement `a la d´efinition 5.1), la repr´esen- tation en XML, les diff´erents chemins d’ex´ecution existants, la description textuelle du protocole ainsi que la liste de ses versions ant´erieurs g´en´er´ees lors des ´evolutions. Ces informations, expos´ees dans le panneau de la zone en bas de l’interface, sont tr`es utiles aux d´eveloppeurs de protocoles.

7.3.2

Gestion des changements et sp´ecification des patterns

Lors du chargement d’un protocole existant pour op´erer des changements, (menu Managing evolution → protocol evolution), l’automate correspondant `a la derni`ere ver- sion est directement visualis´e en plein ´ecran sous forme graphique. Par ailleurs, si ce protocole a subi des ´evolutions ant´erieures de sa description alors la liste des versions

CHAPITRE 7. IMPL´EMENTATION ET EXP ´ERIMENTATION

pr´ec´edentes est affich´ee dans le dernier onglet du panneau de bas, tel que illustr´e dans la figure 7.4.

Figure 7.4 – Sp´ecification des patterns de migration lors de l’´evolution d’un protocole

Une fois les changements de la description achev´es, une boite de dialogue permet d’introduire les types de patterns de migration associ´es `a cette ´evolution (PM1,. . . ,PM5, PF1,. . . ,PF3, PI1,. . . ,PI2). Pour chaque pattern ses param`etres descriptifs sont requis (voir figure 7.4). Les informations relatives `a l’´evolution et aux patterns sont stock´ees dans les bases de donn´ees respectives (Protocole, Evolution et Patterns) et serviront de param`etres lors de l’´elaboration des strat´egies de migration.

7.3.3

Ex´ecution des protocoles et g´en´eration des traces

La capture d’´ecran de la figure 7.5, repr´esente l’interface de g´en´eration des traces d’ex´ecution des protocoles.

Apr`es le chargement du protocole dont on d´esire simuler l’ex´ecution, l’automate associ´e est visualis´e `a gauche de l’´ecran et sa derni`ere version est affich´ee au milieu de l’´ecran. Deux modes de g´en´eration de traces sont propos´es aux utilisateurs : manuelle et al´eatoire. La g´en´eration manuelle, consiste `a s´electionner les activit´es `a ex´ecuter, une par une, `a partir de la liste des op´erations permises par le protocole charg´e. Quant `a la g´en´eration al´eatoire, elle exige uniquement l’introduction du nombre total de traces `a g´en´erer. Puis en utilisant ce param`etre, le syst`eme applique une fonction al´eatoire de parcours des chemins possibles du protocole en question, tout en invoquant les op´erations contenues dans les diff´erents chemins. Les traces g´en´er´ees peuvent ˆetre visualis´ees selon diff´erents crit`eres d’affichage (par ´etat atteint, par chemins parcourus, par p´eriode de cr´eation, . . . ). En plus de la g´en´eration des traces, la possibilit´e est donn´ee `a l’utilisateur pour supprimer celles qui sont jug´ees incoh´erentes ou inutiles.

CHAPITRE 7. IMPL´EMENTATION ET EXP ´ERIMENTATION

Figure 7.5 – G´en´eration des traces d’ex´ecution

7.3.4

Analyse de l’impact des changements

A pr´esent, tous les ingr´edients sont disponibles pour pouvoir faire l’analyse de l’impact de l’´evolution et assurer la migration des instances actives d’un protocole qui a subi des ´evolutions dans sa description.

Le gestionnaire de protocoles commence par filtrer les instances actives du pro- tocole concern´e, puis il d´eclenche le processus de leur migration, conform´ement `a la nouvelle version du protocole et sur la base de(s) pattern(s) de migration sp´ecifique(s) ou leur composition. L’interface de la figure 7.6, illustre un tel sc´enario.

Tout d’abord, le gestionnaire de protocoles charge la version initiale du protocole, apr`es il s´electionne la version du protocole cible de la migration. Une fois les instances actives affich´ees, il filtre celles qui sont concern´ees par la migration, puis il sp´ecifie sa strat´egie de migration (bas´ee sur un simple pattern ou guid´ee par une strat´egie com- pos´ee de patterns). A cette ´etape, le processus de migration peut ˆetre actionn´e par un clic sur le bouton Migrating (en bas `a gauche de la figure 7.6). Pour chaque instance s´electionn´ee, l’identifiant de l’instance, la s´equence d’op´erations (trace), l’´etat atteint et la d´ecision sur la migration (oui/non) sont affich´es `a gauche de l’´ecran. Apr`es ach`e- vement du processus de migration, les informations associ´ees `a la migration, `a savoir : les traces t´emoins correspondantes et les ´etats cibles dans le nouveau protocole sont affich´ees `a droite de l’´ecran. Par ailleurs, diff´erentes donn´ees statistiques sont fournies aux utilisateurs du syst`eme (taux de migration, temps ´ecoul´e pour la migration, . . . ). Une fois la migration termin´ee, les instances qui ont ´et´e transf´er´ees vers le nouveau protocole sont dot´ees de nouvelles traces t´emoins et pourront continuer leur progression dans le contexte de ce dernier.

CHAPITRE 7. IMPL´EMENTATION ET EXP ´ERIMENTATION

Figure 7.6 – Analyse de la migration des instances actives vers le nouveau protocole