Chapitre -01-
La plate forme multi agents
JADE
Dans ce chapitre
Introduction.
1. JADE (Java Agent Development Framework).
2. Le langage de communication entre agents FIPA ACL.
3. Les protocoles d'interaction dans la norme FIPA. 3.1 Le
protocole Contract Net.
4. L'architecture logicielle de JADE.
5. Les agents JADE.
5.1 Le cycle de vie d'un agent JADE.
5.2 La communication entre les agents JADE.
5.3 Les comportements « Behaviours » en JADE.
5.4 Le service page jaune « DF ».
5.5 Les agents techniques dans JADE « Outils de
débogage ».
6. les domaines d'utilisation de JADE.
Conclusion.
Generation des diagrammes AlliviL d partir de programmes
JADE
Chapitre i : La plate forme multi agents JADE
Les SMA sont conçus et implantés
idéalement comme un ensemble d'agents interagissant selon les modes de
coopération, de concurrence ou de coexistence. Ces agents peuvent
être des agents réactifs, des agents cognitifs ou bien des agents
hybrides, suivant leur rôle. La résolution d'un problème
par un SMA permet dans un premier temps, de n'affecter à chaque agent
qu'une partie du problème complexe à résoudre et dans un
second temps, de transformer des contraintes globales en contraintes locales
qui sont résolues par coordination entre les agents.
Pour construire un SMA il est préférable
d'utiliser une plate-forme multi-agent qui offre un ensemble d'outils
utilisé pour la construction et la mise en service d'agents au sein d'un
environnement spécifique. Les outils peuvent être utilisés
pour analyser les SMA, créer les SMA ou bien tester les SMA. Ces outils
peuvent être sous la forme d'environnement de programmation (API) et
d'applications permettant d'aider le développeur à la
programmation d'un SMA ainsi que son débogage. Il existe de nombreuses
plates-formes pour le développement de SMA : JACK, Jadex, Madkit,
JADE...etc.
Nous avons opté dans le cadre de notre travail pour la
plateforme JADE (Java Agent DEvelopment framework) pour les avantages qu'elle
procure et qui nous allons la présenter en détail dans le reste
de ce chapitre.
Chapitre i : La plate forme multi agents JADE
1. JADE (Java Agent Development Framework)
|
JADE (Java Agent Development Framework) est une plateforme
multi agents répartie (multi-hôtes) développé par
F.Bellifemine & A. Poggy, G. Rimassa, P. Turci par la société
Telecom Italia Lab « Tilab, anciennement CSELT » en 1999
[Lot05]. JADE a comme but :
ü simplifier la construction des systèmes
multi-agents « SMA » interopérables.
ü l'exécution des SMA.
ü la réalisation d'applications conformes avec le
standard FIPA (FIPA, 1997) pour faciliter la communication des agents JADE avec
des agents non JADE.
ü essayer d'optimiser les performances d'un système
d'agent distribué.
JADE développée en Java, fonctionne sous tous
les systèmes d'exploitation [5] , inclut tous les
composants obligatoires qui contrôlent un SMA [Oli02],
et possède une architecture très précise permettant la
construction dite « normalisée » d'agents
[9]. Pour tout cela la plateforme JADE contient :
1. Un runtime Environment : l'environnement
où les agents peuvent vivre. Il doit être activé pour
pouvoir lancer les agents.
2. Une librairie de classes : que les
développeurs utilisent pour écrire leurs agents.
3. Une suite d'outils graphiques: qui
facilitent le débogage, la gestion et la supervision de la plateforme
des agents.
JADE fournit aussi des classes qui implémentent JESS
pour la définition du comportement des agents [Fer05]:
JESS (outil de raisonnement à base de règles) est le moteur qui
exécute tout le raisonnement nécessaire. On a donc la
possibilité de créer des agents JADE intelligents en
délégant le raisonnement à d'autres outils
[Oli02].
Chaque instance du JADE est appelée conteneur «
container en anglais », qui peut contenir plusieurs agents. Ainsi qu'un
ensemble de conteneurs constituent une plateforme et chaque plateforme doit
contenir un conteneur spécial appelé main-container et
tous les autres conteneurs s'enregistrent auprès de celui-là
dès leur lancement.
Un main-container se distingue des autres conteneurs
car il contient toujours deux agents spéciaux appelés AMS et DF
qui se lancent automatiquement au lancement du main-container. Ainsi on a un
conteneur par machine et lorsque l'on lance un conteneur :
ü soit il est seul, il devient alors le conteneur principal
(main container)
ü soit on lui indique l'adresse du conteneur principal
[10].
|