III.4. Spécification du schéma agent
mobile collaboratif
III.4.1 Réseau de Pétri (Voir
annexe3)
III.4.2 Analyse du système
Nous cherchons à representer et analyser le
fonctionnement et les interactions entre les divers sites de notre schema
organisationnel (figure8). Ce schema dispose d'un site client et des sites
distants. Le client (agent principal) souhaite s'interconnecter avec les autres
sites pour faire migrer des agents mobiles (Aux sens SMA) afin de recuperer des
documents multimedia. Aussi, c'est aux agents, arrives sur les sites distants,
de reconstituer le document à telecharger. Toutefois chaque site
distant, pour reconstituer un document, devra se connecter successivement sur
deux machines distantes. Premièrement pour faire migrer un agent et
deuxièmement pour etablir une communication.
Ainsi, notre système contient deux cas d'utilisations.
· Migration d'un agent.
· Communication entre agents.
III.4.3 Formalisme
Soit R le reseau de Petri à objets et interprete (La
synchronisation "Gestion des rendezvous" est la principale raison pour laquelle
notre reseau de Petri est interprete) representant notre formalisme. R est
defini par le uple R = (P,T,F,K,J , M, W, C)
· P est l'ensemble (fini) des places : P = {Si, Svi / i E
N}
· T est l'ensemble (fini) des transitions : T = {Ti/ i E N}
oil Ti est un ensemble d'evenements necessaires pour le franchissement.
· P \ T = 0;
· F est la relation du flot d'execution: F g P x T u T x
P;
F = {Si --> Ti, Svi --> Ti,Ti,Svi,Ti,Si / i E
N}
· K represente la capacite de chaque place: K E
P9Nat U{tu}
V j E J, V a E P, K(a(j)) fii avec les critères suivants
: Si j E {doc, audio, video, Texte, Image}; fii = D
Si j E ta--doc, a--video,
a--audio, a--doclj ; fii = 1
· J représente les jetons. Un
élément de J peut être soit un agent (Cas de la
mobilité), soit des données (cas de la communication): J= {doc,
a_doc, vidéo, a_vidéo, audio, a_audio, texte, image}. I est la
variable qui renseigne sur le nombre d'instances d'un élément de
J. Elle est initialement égale à zéro et locale à
une place donnée.
· M représente le marquage initial de chaque place:
M E P4Nat U{co} et vérifie la condition Vs E S: M(s) K(s).
· W représente le poids de chaque arc: W E
F4Nat U{co};
V j E F, W(j) = Nat
· C représente les contraintes liées à
la synchronisation de la communication. Il est régi par les variables de
temps suivantes :
Tinitial : Date à laquelle l'agent est
initialisé.
Tcourant : Date à laquelle on se trouve (Temps
présent)
Omin et °max sont des
variables qui représentent le temps début et le temps fin des
opérations d'un agent. 00 est une constante.
III.4.3.1 Cas d'Utilisation: Communication entre agents :
Description des agents participants.
Agents
|
Actions
|
Informe/travaille confirme/demande
|
Est déclenché
|
Document
|
Il est responsable du traitement du
document multimédia dans sa totalité.
|
-Demande communique avec les agents vidéo ou audio.
-Délègue les agents audio et
vidéo (Ceux-ci, après réalisation de la
tache restituent le résultat).
|
Par l'agent document principal (Situé sur le site
client).
|
Vidéo
|
Il est responsable du traitement sur la vidéo :
-Transport de fichiers constituant la vidéo.
-Gère la synchronisation des images pour en faire des vidéos
|
Informe l'agent document sur la fin de sa tâche et
restitue le résultat.
|
Par l'agent document. Et délégué vers le
site approprié
|
Audio
|
Il est responsable du traitement sur
l'audio:
-Transport de fichiers constituant l'audio. -Gère la
synchronisation des sons pour en faire des vidéos
|
Informe l'agent document sur la fin de sa tâche et
restitue le résultat.
|
Par l'agent document. Et délégué vers le
site approprié.
|
DocumentPrincipal
|
Il est responsable de l'affichage des
documents vidéo.
|
|
Par le client (Personne physique)
|
Tableau 4 : agents participants
Description de la communication
Les langages de communication entre agents les plus courants
encore appelés ACL (Agent Communication Language) sont FIPA2
ACL et KQML3.
KQML et FIPA ACL sont utilisés pour la communication
entre agents. Le KQML est beaucoup plus utilisé et donne par
conséquent une très grande ouverture sur la programmation telle
que l'illustre le tableau5. D'après le tableau5, nous choisirons le
langage KQML pour la suite:
Application
|
Langage de
communication
|
Langage de
requête
|
Ontologie structure
|
SIMS_based
|
KQML
|
loom
|
propriétaire
|
WARREN : Amulti agent financial port for management
|
KQML
|
Pas spécifié
|
Pas spécifié
|
Information gathering based on low level retrival agent
accessing HTML, supervised by planninge, coordination and scheduling agent
|
KQML
|
Pas spécifié
|
Pas spécifié
|
Infomaster
|
Pas spécifié
|
KIF (Knowledge
Interchange Format)
|
Pas spécifié
|
Agent for hypermédia information discovery
|
KQML
|
XML / Prolog
|
Pas spécifié
|
Multi agent systems an
information Rich environnement
|
KQML
|
SQL
|
KIF - Ontologie
|
COMRIS
|
FIPA ACL (XML)
|
XML
|
Propriétaire
|
Tableau 5 : Propriété des langages de
communication entre agents [16]
Le principe de KQML est de séparer la sémantique
liée au protocole de communication indépendamment du domaine de
communication.
2 FIPA ( Fondation for Intelligent Physical
Agents).
3 KQML (Knowledge Qwery and Manipulation Language).
Le protocole de communication doit donc être universel
pour tous les types d'agents. Dans le langage KQML un message contient toutes
les informations nécessaires à sa compréhension.
(KQML-performatif
: émetteur <texte>
: récepteur <texte>
: langage <texte>
: ontologie <texte>
: contenu <texte>
....)
|
Exemple de communication entre agents du
système.
Le langage logique KIF [17] (Knowledge Interchange Format) est
capable de décrire les faits concrets, Son but est de définir un
format standard de représentation de connaissances manipulées par
des agents. Ce langage sera utilisé dans la suite.
A/ l'agent document sollicite l'aide d'un agent voisin pour
collaborer. (Stream-all
: sender agentDocument
: receiver agentAudio
: language KIF
: ontology synchronisation
: reply-with q2
: content « débuter la sélection, x »)
B/ l'agent Audio restitue le résultat de la
sélection à l'agent document. (tell
: sender agentAudio
: receiver agentDocument
: language KIF
: ontology synchronisation
: in-reply-to q1
: content « restitue le résultat, oui »)
C/ l'agent Audio restitue le résultat de la
sélection à l'agent document. (tell
: sender agentAudio
: receiver agentDocument
: language KIF
: ontology synchronisation
: in-reply-to q2
: content « restitue le résultat, oui »)
D/ l'agent Document restitue le résultat de la collecte
à l'agent DocumentPrincipal. (tell
: sender agentDocument
: receiver agentDocumentPrincipal
: language KIF
: ontology synchronisation
: in-reply-to q2
: content « restitue la collection, oui »)
Schématisation de la communication.
Dans le système, l'agent document échange des
informations avec l'agent audio (a_audio), reçoit des traitements venant
de l'agent vidéo (a_video : Précédemment
délégué.) et renvoie les résultats vers l'agent
client (a_docP). L'automate de la figure11 montre les différentes
interactions possibles.
Figure 11 : Graphe des échanges
d'informations
Le réseau de Pétri de la figure11 est une
représentation formelle des échanges de données entre
agents du système. Il nous montre les conditions à remplir pour
qu'un échange ait lieu. Ceci se fait via des événements
définis au niveau des transitions.. Les marquages initiaux et finaux M0
et Mfinal sont définis comme suit :
M0(doc)={D,0,0,0} ; M0(video)={0,D,0,0}, M0(requete)={1,0,0,0} et
M0(audio)={D,0,0,0}
Mfinal(doc)={0,0,0,D} ;
Mfinal(video)={0,0,0,D, Mfinal(audio)={0,0,0,D} et
M0(requete)={0,0,1,0}
Figure 12 : Représentation formelle :
Communication
III.4.3.2 Cas d'Utilisation: Migration d'un
agent
L'itinéraire d'un agent est représenté
par l'automate de la figure13. Lorsque le client lance le système, un
agent (a_docP) est créé. Celui-ci envoie l'agent document (a_doc)
pour la collecte des documents multimédia. L'agent a_doc, afin de
favoriser les déplacements fluides se sert des agents
spécialisés à des tâches
spécialisées.
Figure 13: Itinéraire d'un agent
Le réseau de Pétri de la figure14 est une
représentation formelle de la migration des agents du système. Il
nous montre les événements à remplir pour qu'un agent puis
se mouvoir
(p.ex : l'agent document ne peut se déplacer que si le
site distant abrite un service S1). Les transitions T3 et T4
représentent les contraintes de création des agents a_doc et
a_video. Les marquages initiaux et finaux M0 et Mfinal sont
définis comme suit :
M0(a_doc)={0,0,1} ; M0(a_video)={1,0,0} et M0(a_audio)={1,0,0}
Mfinal(a_doc)={1,0,0} ;
Mfinal(a_video)={0,1,0} et Mfinal(a_audio)=M0(a_audio)
Figure 14 : représentation formelle :
Migration
III.4.3.3 Représentation formelle du
système Global.
Considérons que nous avons un système disposant
de deux sites. La figure14, nous montre les interactions de mobilité et
de communication entre les agents. De plus, étant donné que nous
avons deux types d'objets, notre réseau de Pétri, afin de
faciliter la compréhension du schéma, a été
défini avec deux types d'arcs comme présenté dans la
légende de la figure15. L'instant qui correspond au modèle est le
moment où tous les types d'objets ont été
initialisés. Pour la représentation successive des
franchissements (voir annexe1).
Figure 15 : Représentation Globale du
système
La figure15 présente le fonctionnement global du
système. Lorsque l'événement T1 est vérifié,
le site P3 reçoit un nouveau jeton : Création d'un agent
document. Celui-ci migre vers les places P0 et P2 si l'événement
T3 est satisfait. Les agents situés sur les sites P0 et P2 font
générer des agents vidéo sur chacun des sites lorsque
T13 et T14 seront respectivement atteints. Ces
derniers migreront respectivement vers les sites P1 et P4 pour T9 et
T11 valides ; les résultats obtenus par chacun sont
retournés sous forme de messages selon les événements T8
et T12. Après la réception des résultats des
agents vidéo, chaque agent document générera des agents
audio (Lorsque les transitions T13 et T14 sont
satisfaites.) pour qu'ils effectuent le traitement des fichiers audio via des
échanges de messages déclenchés par les
événements T6 et T10 pour l'émission de la
requête et T7 et T5 pour la réception des résultats. Ainsi,
chaque agent document, ayant réalisé toutes les
opérations, reconstitue le document multimédia et le retourne au
client sous forme de message ; ceci marque la fin de la collecte.
|