6. Ingénierie logicielle orienté agent
6.5 La plate-forme JADE
JADE (Java Agent Development Framework - Bellifemine, Poggi, Rimassa,
1999) est une plate-forme multi-agents développée en Java
par CSELT (Groupe de recherche de Gruppo Telecom, Italie) qui a comme
but la construction des systèmes multi-agents et la réalisation
d'applications conformes à la norme FIPA (FIPA, 1997). JADE comprend
deux composantes de base : une plate-forme agents compatible FIPA et un
paquet logiciel pour le développement des agents Java.
6.5.1 La norme FIPA pour les systèmes multi-agents
Les premiers documents de spécification de la norme FIPA (FIPA
1997), appelés spécifications FIPA97, établissent
les règles normatives qui permettent à une société
d'agents d'inter-opérer. Tout d'abord, les documents FIPA décrivent
le modèle de référence d'une plate-forme multi-agents
(figure 6.3) où ils identifient les rôles de quelques agents
clés nécessaires pour la gestion de la plate-forme, et spécifient
le contenu du langage de gestion des agents et l'ontologie du langage.
Figure 6.3. Le modèle de référence pour une plate-forme
multi-agents FIPA
Dans la figure 6.3, on voit qu'il y a trois rôles principaux dans
une plate-forme multi-agents FIPA :
- Le Système de Gestion d'Agents
(Agent Management System - AMS) est l'agent qui exerce le contrôle
de supervision sur l'accès à et l'usage de la plate-forme
; il est responsable de l'authentification des agents résidents
et du contrôle d'enregistrements.
- Le Canal de Communication entre Agents
(Agent Communication Channel - ACC) est l'agent qui fournit la route
pour les interactions de base entre les agents dans et hors de la plate-forme
; c'est la méthode de communication implicite qui offre un service
fiable et précis pour le routage des messages ; il doit aussi
être compatible avec le protocole IIOP pour l'interopérabilité
entre les différentes plates-formes multi-agents.
- Le Facilitateur d'Annuaire (Directory
Facilitator - DF) est l'agent qui fournit un service de pages jaunes
à la plate-forme multi-agents. Il faut remarquer qu'il n'y a
aucune restriction sur la technologie utilisée pour l'implémentation
de la plate-forme : émail, basé sur CORBA, applications
multi-threads Java, etc.
Le standard spécifie aussi le Langage
de Communication d'Agents (Agent Communication Language - ACL)
- voir la description de FIPA ACL dans les sections
4.5 et section 4.6 . La
communication des agents est basée sur l'envoi de messages. Le
langage FIPA ACL est le langage standard des messages et impose le codage,
la sémantique et la pragmatique des messages. La norme n' impose
pas de mécanisme spécifique pour le transport interne de
messages. Plutôt, puisque les agents différents pourraient
s'exécuter sur des plates-formes différentes et utiliser
technologies différentes d'interconnexion, FIPA spécifie
que les messages transportés entre les plates-formes devraient
être codés sous forme textuelle. On suppose que l'agent est
en mesure de transmettre cette forme textuelle. La norme FIPA préconise
des formes communes pour les conversations entre agents par la spécification
de protocoles d'interaction, qui incluent des protocoles simples de type
requête-réponse, mais aussi des protocoles spécifiques
aux agents comme le réseau contractuel et les enchères anglaises
et hollandaises.
|