IV.4.2. Spécification fonctionnelle
a. Décomposition de l'objectif global
L'objectif global de notre application est de
récupérer des informations afin de répondre à des
requêtes externes, cet objectif peut être décomposé
en plusieurs sous buts :
-Réception des spécifications de l'utilisateur
-Décomposition du problème en sous problèmes
plus simples -Recherche de source d'information convenable
-Extraction des informations utiles.
-composition du résultat final.
Ceci nous mène à distinguer les rôles
suivants (Figure 13) : - Rôle Médiateur
Ce rôle assure les tâches suivantes : recevoir les
requêtes externes au système et les reformuler en un langage
compris par les agents.
Par la suite décomposer ces requêtes, les
transformer en sous requêtes plus simples et les distribuer aux
coordinateurs. Et enfin réunir les réponses de ces sous
requêtes pour former la réponse à la requête
d'origine.
- Rôle Coordinateur
Il est chargé d'exécuter des sous requêtes
provenant du médiateur. Il est en communication avec le Matchmaker en
vue d'avoir des informations sur les adresses des traducteurs capables de
répondre à ses sous requêtes.
- Rôle Matchmaker :
Il Fournit aux coordinateurs les adresses des traducteurs
capables de répondre aux services demandés.
- Rôle Traducteur :
Il est associé à une source d'information,
traduit la question posée par le coordinateur dans le langage de
requête de cette source et convertit les informations extraites de sa
source dans un langage compréhensible par le coordinateur.
Spécification de l'utilisateur
Médiateur
Utilisateur
Coordinateur
Coordinateur
Traducteur
Matchmaker
Traducteur
Source d'information
Source d'information
Figure 13 : Structure du système.
b. Spécification des rôles
Dans cette partie on va détailler les différents
rôles conformément à la structure déjà
définie par le modèle organisationnel.
Pour présenter l'ordre des enchaînements des
tâches ainsi que le nombre d'occurrence, on a utilisé le
formalisme de notation suivant :
T1 + T2 : la tâche T1 suivie de T2.
T1 || T2 : les deux tâches peuvent s'exécuter en
parallèle. T* : la tâche T se répète plusieurs
fois.
Après la saisie des données par l'utilisateur et
le lancement de la recherche, il y aura création d'un agent qui va jouer
le rôle Médiateur dont le but principal est de collecter les
spécifications de l'utilisateur, de les reformuler, de décomposer
le problème, stocker les résultats qui proviennent et enfin les
réunir pour composer le résultat final (Figure 14).
Médiateur
Devoirs
Actions abstraites :
· T1 : Reformulation de la requête de
l'utilisateur
· T2 : Décomposition de la requête en sous
requêtes
· T3 : Stocker les résultats reçus
· T4 : Composition du résultat final
Interventions :
· T5 : Réception des spécifications de
l'utilisateur
· T6 : Envoie des sous requêtes aux coordinateurs
· T7 : Réception des résultats des
coordinateurs
· T8 : Envoie de la réponse finale à
l'utilisateur Règle de coordination : T5+T1+T2+ (T6+ T7+T3)* +T4+T8
Droits
Ressources : Ø
Autorisations : Ø
Figure 14 : Rôle Médiateur.
Une fois que l'agent jouant le rôle Médiateur a
envoyé ses sous requêtes, il y aura création de deux agents
qui vont jouer le rôle Coordinateur (Figure 15), chacun d'entre eux va
envoyer une demande de recrutement d'un Traducteur auprès du Matchmaker,
lors de la réception du l'adresse du Traducteur, il envoie la sous
requête au Traducteur correspondant, et il communique le résultat
reçu au Médiateur.
Coordinateur
Devoirs
Actions abstraites :
· T1 : demande de recrutement d'un traducteur au Matchmaker
Interventions :
· T2 : Réception de sous requêtes provenant du
médiateur
· T3: Réception de l'adresse du traducteur
· T4 : Envoie de sous requête au traducteur
concerné
· T5 : Réception du résultat du traducteur
· T6 : Envoie du résultat au médiateur
· T7 : Envoie d'informations supplémentaires
Règle de coordination : T2+T1+T3+T4+T5+ (T6||T7)
Droits
Ressources : Ø
Autorisations : Ø
Autorisations : Lecture
Figure 15 : Rôle Coordinateur.
L'agent jouant le rôle Matchmaker (Figure 16) a pour
principal but de fournir à l'agent jouant le rôle Coordinateur la
liste des Traducteurs capables de répondre à ces besoins.
Matchmaker
Devoirs
Actions abstraites :
· T1 : sélection de traducteur convenable
Interventions :
· T2 : réception de requête de coordinateur
· T3 : réception de publication de capacités
de traducteur
· T4 : envoie de l'adresse de traducteur au coordinateur
Règle de coordination : (T3*) || (T2+T1+T4)
Droits
Ressources : Ø
Autorisations : Ø
Figure 16 : Rôle Matchmaker.
Chacun des deux agents Coordinateur va communiquer la sous
requête qui lui provient du Médiateur à un agent Traducteur
(Figure 17) affecté à une source d'information. Après
avoir publié ses capacités chez le Matchmaker et recevoir les
sous requêtes, l'agent jouant le rôle Traducteur convertit ces sous
requêtes reçues en langage de requête de la source
d'information qui lui est affectée. Par la suite, il extrait les
informations utiles de cette source, traduit les résultats obtenus en
langage de communication des agents et enfin il les envoie à l'agent
jouant le rôle Coordinateur.
Traducteur
Devoirs
Actions abstraites :
· T1 : traduction de la requête reçue en
langage de requête de son système
d'information
· T2 : extraction des informations
· T3 : traduction de résultat en langage
compréhensible par l'agent Interventions :
· T5 : publication des capacités
· T6 : Réception de sous requête de
coordinateur
· T7 : envoie de sous requête à la source
d'information
· T8 : réception du résultat
· T9 : envoie du résultat à l'agent
coordinateur
Règle de coordination : (T5 *)| | (T6+T1
+T7+T2+T8+T3+T9)
Droits
Ressources : base de données
Autorisations : lecture
Figure 17 : Rôle Traducteur. c.
Contraintes d'attribution des rôles
- Contraintes intra-rôles
Le système qu'on souhaite développer se base sur
un ensemble d'agents travaillant en coopération afin d'accomplir un
objectif globale. Chaque agent, amené d'accomplir un tel sous objectif,
est chargé d'exécuter un ou plusieurs rôles à
condition que ceux-ci ne soit pas conflictuels. Dans notre système
chaque agent est chargé d'exécuter un rôle unique.
L'agent jouant le rôle Médiateur par exemple ne peut
exécuter que ce rôle au sein de l'organisation
(présenté par la notation conflit dans le Tableau 3).
- Contraintes inter-rôles
Ce type de contrainte définie la cardinalité des
agents qui peuvent jouer le même rôle en même temps au sein
d'une même organisation. Concrètement, notre système inclut
d'une part des rôles attribués chacun à un seul agent, le
cas de l'agent jouant le rôle Matchmaker, de l'autre part, il inclut des
rôles attribués chacun à plusieurs agents, le cas des
agents jouant le rôle Traducteur, de même les agents jouant le
rôle coordinateur (Tableau 3).
|
Médiateur
|
Coordinateur
|
Matchmaker
|
Traducteur
|
Contrainte intra-rôle
|
Conflit
|
Conflit
|
Conflit
|
Conflit
|
Contrainte inter-rôle
|
1..1
|
1..2
|
1..1
|
1..2
|
Tableau 3 : Les Contraintes d'attribution des
rôles.
|