Créez votre premier agent avec JADE et ECLIPSE
Date de publication : 23.03.2009
Par
Youghourta BENALI (Page perso de Djug)
JADE est une plate-forme qui permet de construire des systèmes multi agents (SMA) créée par le laboratoire TILAB, entièrement implémenté en JAVA.
Nous allons découvrir comment installer et créer notre premier agent avec cette Plate-forme
I. Introduction
II. Installation
III. Création du premier agent avec JADE et ECLIPSE
IV. Compilation et exécution de l'agent
V. Remerciements
I. Introduction
- Un runtime Environment : l'environnement ou les agents peuvent vivre. Ce runtime environment doit être activé pour pouvoir lancer les agents.
- Une librairie de classes : que les développeurs utilisent pour écrire leurs agents
- Une suite d'outils graphiques : qui facilitent la gestion et la supervision de la plateforme des agents
Chaque instance du JADE est appelée conteneur " container ", et peut contenir plusieurs agents.
Un ensemble de conteneurs constituent une plateforme. 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
La figure suivante illustre les concepts de base du jade en montrant un petit exemple de deux plateformes jade composées respectivement de trois et un conteneur
Chaque agent est identifié par un identifiant unique et peut communiquer avec n'importe quel autre agent sans avoir besoin de connaître son emplacement :
- Dans le même conteneur (exemple agents A2 et A3)
- Dans la même plateforme mais dans des conteneurs différant (ex A1 et A2)
- Dans deux plateformes différentes (ex. A4 and A5).
Un main-container se distingue des autres " simples " conteneurs par une autre chose; il contient toujours deux agents spéciaux appelés AMS et DF qui sont lancés automatiquement au lancement du main-container
- AMS (Agent Management System) qui fournit le service de nommage (pour assurer par exemple que chaque agent possède un identifiant unique dans la plateforme) et qui représente l'autorité de la plateforme (par exemple il est possible de créer/arrêter des agents en envoyant des requêtes à l'AMS)
- DF (Directory Facilitator) qui fournit un système de pages jaunes qui permet aux agents de retrouver les agents fournisseurs de services.
Source: " Developing multi-agent applications with JADE. Tutorial for beginners " de la documentation officielle du JADE
II. Installation
Voici les étapes à suivre pour installer JADE :
- téléchargez le fichier JADE-all-3.6.zip de l'adresse suivante :
http://jade.tilab.com/download.php
- décompressez le fichier (on va supposer tout au long de ce tutorial que le chemin du répertoire JADE-all-3.6 est le c:\ JADE-all-3.6 ). Apres avoir décompressé le fichier vous retrouvez quatre autres fichiers ZIP (JADE-bin-3.6.zip , JADE-doc-3.6.zip, JADE-examples-3.6.zip, JADE-src-3.6.zip). Décompressez ces 4 fichiers
- on doit maintenant mettre à jour la variable classpath (si elle n'existe pas encore il faut la créer) En faisant comme suit :
- par Clic droit sur le poste de travail, choisissez propriétés. La fenêtre propriétés système apparaît ,choisissez l'onglet Avancé
Puis cliquez sur variables d'environnement
Une petite fenêtre intitulée " variables d'environnement " apparaît
Dans la zone variables système, essayez de trouver la variable d'environnement qui porte le nom CLASSPATH. Si vous ne la trouvez pas,il faut la créer
Maintenant que la variable est trouvée/créée on doit lui attribuer une valeur .cette valeur est la concaténation des chemins des quatre fichiers jar http.jar, iiop.jar, jade.jar, jadeTools.jar situés dans le chemin c:\JADE-all-3.6\JADE-bin-3.6\jade\lib
C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\http.jar;C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\iiop.jar;
C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\jade.jar;C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\jadeTools.jar
|
Séparez les chemins par des ;
et Sauvegardez les modifications.
Pour vérifier que l'opération est bien réalisée, tapez dans la fenêtre exécuter(démarrer->Exécuter) ou dans l'invite de commande la commande suivante :
Une fenêtre dos s'ouvre qui lance la plateforme jade. La fenêtre suivante apparaît :
III. Création du premier agent avec JADE et ECLIPSE
Maintenant, nous allons créer notre premier agent. Nous allons utiliser l'exemple fourni avec la plateforme situé dans :
C:\JADE-all-3.6\JADE-examples-3.6\jade\src\examples\hello. Ouvrez eclipse et créez un nouveau projet (MyFirstAgent par exemple), ajoutez un package (firstAgent) puis créez une nouvelle classe appelée HelloWorldAgent.
Collez le code suivant dans la classe.
package firstAgent;
import jade.core.Agent;
@author
public class HelloWorldAgent extends Agent {
protected void setup () {
System.out.println (" Hello World! My name is " + getLocalName ());
doDelete ();
}
}
|
Vous remarquez l'existence de plusieurs erreurs dans ce petit code.
Pour résoudre ce petit problème,effectuez un clic droit sur le nom du projet Puis choisissez propriétés.
Cliquez sur java build path >> Libraries>> add external JARs
Ajoutez les quatre jar "http.jar" "iiop.jar" "jade.jar" "jadeTools.jar" situés dans
C:\JADE-all-3.6\JADE-bin-3.6\jade\lib puis cliquez sur Ok
IV. Compilation et exécution de l'agent
Il reste à compiler et lancer l'agent pour cela :
Allez dans run>>Run configuration puis double-cliquez sur java application
Dans l'onglet " main " et dans la zone de saisie Main class, tapez le code suivant : jade.Boot
puis cochez la case : " Include librairies when searching for a main class "
Et dans l'onglet arguments : tapez le code suivant :
-gui jade.Boot NomDuL'agent:LeNomDuPackage.LeNomDeLaClasse
|
Dans notre exemple on tape le code suivant :
-gui jade.boot smith:firstAgent.HelloWorldAgent
|
puis cliquez sur apply pour ne pas refaire cette configuration plusieurs fois dans le même projet
Cliquez sur run pour voir le résultat (affichage de Hello World! My name is smith
Dans la console et ouverture du la plateforme jade)
V. Remerciements
Je remercie Ricky81 et Pierre Fauconnier pour la relecture et l'encouragement.
VI.
Copyright © djug.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.