Créez votre premier agent avec JADE et ECLIPSE

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.
174 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction




Image non disponible




Jade est un middleware qui facilite le développement des systèmes multi agents (SMA). JADE contient :

  • 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 :

Image non disponible
  • 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 :

  1. téléchargez le fichier JADE-all-3.6.zip de l'adresse suivante :
    http://jade.tilab.com/download.php
  2. 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
  3. on doit maintenant mettre à jour la variable classpath (si elle n'existe pas encore il faut la créer) En faisant comme suit :
  1. 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
Image non disponible

Une petite fenêtre intitulée " variables d'environnement " apparaît

Image non disponible

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

Image non disponible
 
Sélectionnez

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 :

 
Sélectionnez

Java jade.Boot -gui

Une fenêtre dos s'ouvre qui lance la plateforme jade. La fenêtre suivante apparaît :

Image non disponible

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.

 
Sélectionnez

package firstAgent;
import jade.core.Agent;

/**
   This example shows a minimal agent that just prints "Hello World!" 
   and then terminates.
   @author Giovanni Caire - TILAB
 */
public class HelloWorldAgent extends Agent {

  protected void setup() {
  	System.out.println("Hello World! My name is "+getLocalName());
   	// Make this agent terminate
  	doDelete();
  } 
}

// On ne va pas s'intéresser à comprendre chaque ligne du code mais juste comment compiler et lancer l'agent.

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

Image non disponible

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 "

Image non disponible

Et dans l'onglet arguments : tapez le code suivant :

 
Sélectionnez

-gui jade.Boot  NomDuL'agent:LeNomDuPackage.LeNomDeLaClasse

Dans notre exemple on tape le code suivant :

 
Sélectionnez

-gui jade.boot smith:firstAgent.HelloWorldAgent

puis cliquez sur apply pour ne pas refaire cette configuration plusieurs fois dans le même projet

Image non disponible

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)

Image non disponible

V. Remerciements

Je remercie Ricky81 et Pierre Fauconnier pour la relecture et l'encouragement.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © djug. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.