Vous êtes sur la page 1sur 25

Module PSSR M2SSI USTHB, 21/12/2020

Série de TP-JADE

Installation de l’outil JADE

Voici les étapes à suivre pour installer JADE :

- téléchargez le fichier JADE-all-x.x.zip de l'adresse suivante :


http://jade.tilab.com/download.php
- décompressez le fichier (c:\ JADE-all-x.x ).
- Apres avoir décompressé le fichier vous retrouvez quatre autres fichiers ZIP (JADE-
bin-x.x.zip , JADE-doc-x.x.zip, JADE-examples-x.x.zip, JADE-src-x.x.zip).
Décompressez ces 4 fichiers.

-Lancer la plateforme : Java jade.Boot -gui

-La commande pour lancer un Agent


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

Environnement de programmation (Eclipse, NetBeans)

Eclipse
Créer l’Agent dont le nom est AMIN et sa structure est définie par la classe Mon_Agent1 dans
l’environnement Jade

La syntaxe est : -gui le nom de l’agent: classe (gui lancer l’interface graphique de jade.Boot)

Si vous avez un package vous mettez -gui le nom de l’agent: le nom de package.classe

Dans notre cas: -gui AMIN:Mon_Agent1


Lancer un deuxième Agent dont le nom est AMINA
Cas de package
Configurations cas du NetBeans IDE
EXO 1. - Mon Premier Agent –

Ecrire un programme Java sous Jade qui lance un Agent affichant son nom.
package agent;
import jade.core.*;

public class MonAgent extends Agent{


public void setup(){
System.out.println("Hello world my name is
"+getLocalName());
}
}
EXO 2 - Mon Premier Agent – getArguments

Ecrire un programme Java sous Jade qui lance un Agent réalisant la somme de deux entiers
passés comme arguments.
package agent;
import jade.core.*;

public class MonAgent extends Agent {


public void setup(){
Object [] T = getArguments();
String a = (String) T[0];
String b = (String) T[1];
int c = Integer.parseInt(a)+ Integer.parseInt(b);
System.out.println("La somme est : "+c);
}
}

EXO 3 : Lancements des Agents depuis le Main

Solution 1:
package Test;
import jade.core.*;
import jade.util.ExtendedProperties;
import jade.util.leap.Properties;
import jade.wrapper.AgentController;
/**
*
* @author PC-dalila
*/
public class dadi_agent extends Agent {
public static void main(String[] args)
{
// préparer les arguments pout le conteneur JADE
Properties prop = new ExtendedProperties();
// demander la fenêtre de contrôle
prop.setProperty(Profile.GUI, "true");
// nommer les agents
prop.setProperty(Profile.AGENTS,
"a1:Test.dadi_agent;a2:Test.dadi_agent;a3:Test.dadi_agent");
// créer le profile pour le conteneur principal
ProfileImpl profMain = new ProfileImpl(prop);
// lancer le conteneur principal
jade.core.Runtime rt = jade.core.Runtime.instance();
rt.createMainContainer(profMain);
}

protected void setup()


{System.out.println ("Bonjour");}
Solution 2:
import jade.core.*;
public class Main extends Agent {

public static void main(String[] args) {


String [] jadeArg = new String [2];
StringBuffer SbAgent = new StringBuffer();
SbAgent.append("S1:Main;");
SbAgent.append("S2:Main;");
SbAgent.append("S3:Main;");
jadeArg[0]="-gui";
jadeArg[1]=SbAgent.toString();
jade.Boot.main(jadeArg);
}

protected void setup()


{System.out.println ("Bonjour");}

EXO 5 : Comportements des Agents (BEHAVIOURS)

- OneShotbehaviour
- CyclicBehaviour
- Generic Behaviours

EXO 6 : Messagerie et ACLMessage sous Jade

- Émission
- Réception
• BlockingReceive
• Receive
- Envoi de messages :
▪ entier,
▪ string
▪ object.

EXO 6 : Envoi/réception Type Tableau (Une classe Agent et 3 classes de comportement).

EXO 7 : Service Directory Facilator (DF)

EXO 8 : Une application Agent Portail Vendeur Acheteurs

Vous aimerez peut-être aussi