11. Format d'échange des données
11.1. Format XML (description de la forme)
XML : permet de decrire des structures de
donnees aussi bien que de representer des donnees. Ceci permet donc au
langage XML d'être un bon candidat pour l'echange de
donnees entre les differents agents du systeme.
Plusieurs solutions se presentent tout de meme pour l'echange de
donnees avec XML : Les donnees que l'on echange n'ont pas une
structure fixe (a priori), il faut donc :
- Soit decrire la structure des donnees dans le document XML
puis construire un objet qui puisse accueillir ces informations ;
- Soit definir une bibliotheque d'objet qui sont susceptibles
d'etres echanges ,
et se referer a cette bibliotheque lorsque l'on echange des
informations.
Les deux solutions semblent envisageable et presentent chacune
leurs
avantages et leurs inconvenients.
Il faut noter que l'utilisation de langages differents entraine
d'autres problemes, notamment sur les types de base : un entier n'a pas la meme
plage de valeur
dans tous les langages , etc.
11.2. Format ACL / KIF / KQML (description du fond)
KQML (Knowledge Query Modeling Langage) :
Est un langage qui permet de definir un moyen de communication
uniforme entre les divers acteurs du systeme multi-agents. Ce langage ,
contrairement a XML decrit la forme dont les donnees sont echangees (du
pseudo-lisp) mais aussi le fond, c'est a dire les informations a mettre dans le
message. Meme si l'on utilise XML pour la forme, pour le
contenu du message il peut etre interessant de regarder ce qui a ete fait
avec KQML , Le nom de l'expediteur , du destinataire , le
sujet du message, l'intention du message et/ou le type du message, la priorite
du message, la date d'emission , la duree de validite (dans le cas d'une
application oil la notion de temps est importante) le type de contenu de
message, le contenu du message, etc.
FIPA-ACL :
Ces dernieres annees , KQML semble perdre du
terrain au profit d'un autre langage qui est FIPA-ACL qui est
plus riche semantiquement et dote d'une liste plus reduite de performatifs et
d'une semantique plus precise que celle de KQML.
Theorique , FIPA-ACL s'inspire de la theorie
des actes de langage; d'un point de vue plus technique, le message est
egalement une chaine de caracteres possedant une syntaxe -à la
LISP -(paires de parentheses) commencant par un nom de performatif et
suivi par une liste de couples attribut-valeur.
FIPA-ACL s'appuie sur la definition de deux ensembles :
- Un ensemble d'actes de communication primitifs , auquel
s'ajoutent les autres actes de communication pouvant etre obtenus par la
composition des ces actes de base.
- Un ensemble de messages predefinis que tous les agents peuvent
comprendre.
FIPA-ACL possede 21 actes communicatifs.
Ces actes communicatifs peuvent etre groupes selon leurs
fonctionnalites de la facon suivante :
· Passage d'information: inform*, inform-if (macro act) ,
inform-ref (macro act) , confirm*, disconfirm*;
· Requisition d'information : query-if, query-ref,
subscribe ;
· Negociation : accept-proposal, cfp , propose,
reject-proposal ;
· Distribution de tiches (ou execution d'une action) :
request*, request-when , request-whenever, agree, cancel, refuse ;
· Manipulation des erreurs : failure, not-understood.
KIF (Knowledge Interchange Format ):
Les agents ont besoin de comprendre le contenu des messages
qu'ils recoivent. Ceci est possible par l'intermediaire de KIF.
KIF est un langage logique pour la description dans le cadre
de systemes experts, bases de donnees ,... il a ete concu comme langage
intermediaire , lisible par un programme et par un humain.
KIF est une version prefixee du calcul des predicats du premier
ordre. La description du langage inclut une specification pour la syntaxe et
une pour la semantique.
Exemple: (> (*(width chip1) (length chip1))
(*(width chip2) (length chip2))).
|