3
Communication entre agents
L'interaction entre agents définit par l'aptitude
d'échanger des informations et des connaissances qui peuvent être
mutuellement comprises. Comme l'interaction entre les personnes, l'interaction
entre les agents a besoin d'un langage de communication commun, une
capacité d'échanger les connaissances et une compréhension
mutuelle des connaissances échangées [Barceinas at al 98].
Le ACL (Agent Communication Language) a été
créé par ARPA pour assurer l'interopérabilité entre
des agents autonomes et distribués. Le ACL a trois composants : un
vocabulaire, un langage de communication entre agent appelé KQML
(Knowledge and Query Manipulation Language) et un langage spécifiant le
contenu appelé KIF (Knowledge Interchange Format). Un message de ACL est
alors un message KQML contenant une directive de communication et un contenu
sémantique dans KIF, exprimé en termes de vocabulaire.
KQML fournit la couche linguistique pour rendre la
communication efficace en considérant le contexte des messages. Il a
été conçu comme format de message et comme protocole qui
permet l'identification, le raccordement et l'échange de l'information
entre des programmes. Selon [Finin et al. 95], KQML est
caractérisé par trois caractéristiques importantes :
1.
Les messages KQML sont opaques au contenu qu'ils transportent,
ce qui implique que les messages KQML ne communiquent qu'avec des sentences en
certain langage, mais aussi une attitude ou à une intention sur le
contenu.
2.
Des primitifs s'appellent performatives indiquent les actions ou
les opérations valides.
3.
Un environnement dans lequel les agents communiquent avec KQML
peut être enrichi avec un genre spécial d'agents appelés
les facilitateurs.
3.1
Le langage de communications utilisé dans HEDAYA
Le langage utilisé pour la communication entre les
agents de système HEDAYA est KQML. On a utilisé parmi les
performatifs standard de KQML un sous ensemble, permettant l'interaction entre
les agents de notre système.
Les performatifs utilisés sont :
Acheive : l'émetteur demande au
récepteur de rendre le contenu de message vrai dans son environnement
(l'environnement de récepteur).C'est à dire de réaliser la
tache qui rend le contenu de message vrai.
Tell : le contenu de message est vrai dans
l'environnement de l'émetteur.
Ask-if : l'émetteur veut la sentence
de récepteur qui assortit le contenu de message.
Reply : l'émetteur
croit que le contenu de message est une réponse appropriée
à une demande ou à une question précédente.
Ask-about : l'émetteur veut toutes les
sentences qui assortissent le contenu de message.
Voici un exemple de message KQML
Paramètre
|
Valeur
|
Performatif
Sender
Reciever
Ontology
Language
Content
|
Achieve
AI (Agent d'interface)
APA (Agent pédagogique d'Adaptation)
MyOntology (vocabulaire utilisé)
Java
générerPageConcept(eczéma, 1)
|
Tableau 3.1 : Exemple de message KQML
Le massage de tableau ci-dessus est un message de l'agent
d'interface (sender) vers l'agent pédagogique d'adaptation (receiver),
le performatif de message est une demande de réalisation (acheive) de
générerPageConcept(eczéma, 1), c'est-à-dire l'agent
d'interface demande de l'agent pédagogique d'adaptation de
générer la page de concept eczéma pour
l'apprenant qui a l'identificateur 1.
Un autre moyen de communication est utilisé pour la
communication entre l'apprenant (le navigateur Web) et l'agent d'interface,
c'est le protocole HTTP qui fonctionne au mode requête réponse.
Les méthodes utilisées sont GET et POST.
3.2
|