6. Ingénierie logicielle orienté agent
6.5 La plate-forme JADE
6.5.3 L'architecture de la plate-forme multi-agents
L'architecture du logiciel est basée sur la coexistence de plusieurs
Machines Virtuelles (VM) Java et la communication se fait par la méthode
RMI (Remote Method Invocation) de Java entre machines virtuelles (VMs)
différentes. Chaque VM est un réceptacle
d'agents qui fournit un environnement d'exécution complet
pour l'exécution des agents et permet d'avoir plusieurs agents
qui s'exécutent simultanément sur un même hôte.
En principe, l'architecture permet aussi à plusieurs VM d'être
exécutées sur le même hôte ; cependant, ceci
n'est pas à encourager, car on crée ainsi un surcroît
de travail au système qui n'apporte aucun bénéfice.
Chaque réceptacle d'agents est un environnement multi- threads
d'exécution composé d'un thread d'exécution pour
chaque agent et, en plus, des threads créés à l'exécution
par le système RMI pour envoyer des messages. Un récipient
spécial joue le rôle du frontal
de la plate-forme ; il contient les agents de gestion et représente
la plate-forme toute entière pour le monde extérieur.
Une plate-forme multi-agents JADE est alors composée de plusieurs
réceptacles d'agents selon la figure 6.4. La distribution de ces
réceptacles à travers un réseau d'ordinateurs est
permise, à condition que la communication RMI entre leurs hôtes
soit conservée. Un réceptacle léger spécial
est implémenté pour l'exécution des agents dans un
navigateur Web. Chaque réceptacle d'agents est un objet serveur
RMI qui gère localement un ensemble d'agents. Il règle le
cycle de vie des agents en les créant, les suspendant, les reprenant
et les détruisant. En plus, il traite tous les aspects de la communication
: répartition des messages ACL reçus, routage des messages
selon le champ de destination (:receiver) et dépôt des messages
dans les files de messages privées des agents. Pour les messages
vers l'extérieur, le réceptacle d'agents maintient assez
d'information pour chercher l'emplacement de l'agent récepteur
et pour choisir une méthode de transport convenable pour expédier
le message ACL.
Figure 6.4. Architecture logicielle de la plate-forme multi-agents JADE
La plate-forme offre une interface graphique utilisateur (GUI) pour la
gestion à distance qui permet de contrôler et superviser
les états des agents, par exemple arrêter et remettre en
marche un agent. L'interface graphique permet aussi de créer et
de commencer l'exécution d'un agent sur un hôte éloigné,
à condition qu'un réceptacle d'agents s'exécute déjà
sur cet hôte. L'interface elle-même a été implémentée
comme un agent, appelé RMA (Remote Monitoring Agent). Toute la
communication entre les agents et l'interface (GUI) et toute la communication
entre cette interface et l'AMS est faite par ACL via une extension ad
hoc de l'ontologie des agents de gestion FIPA.
|