cs_ghadouch
Messages postés10Date d'inscriptionlundi 6 décembre 2010StatutMembreDernière intervention11 février 2013
-
10 avril 2011 à 11:45
happyranda
Messages postés20Date d'inscriptionsamedi 7 mai 2011StatutMembreDernière intervention13 novembre 2012
-
3 oct. 2012 à 09:13
Bonjour à tous,
je suis débutante en jade et j'essaye maintenant à comprendre comment faire communiquer des agents j'ai trouvé un exemple sur développer.com sur la communication d'un AgentA et un autre AgentB mais j'ai pas réussi à l'appliquer correctement je vais vous donner le code complet et les erreurs que j'ai obtenu:
private class attendreAgentB extends OneShotBehaviour{
@Override
public void action() {
System.out.println("en attente de l agent B");
block();
}
}
/*****************************************************************/
private class envoiChiffre extends OneShotBehaviour{
int valeurRetour = 0;
@Override
public void action() {
ACLMessage messageRecu = receive();
if (messageRecu.getContent().equalsIgnoreCase("pret") ) valeurRetour=0;
else valeurRetour=1;
int chiffre = (int)(Math.random()*10);
System.out.println("envoi de la valeur "+ chiffre);
ACLMessage message = new ACLMessage(ACLMessage.INFORM);
message.addReceiver(messageRecu.getSender());
message.setContent(chiffre+"");
send(message);
}
public int onEnd(){
return valeurRetour;
}
}
/*****************************************************************/
private class fin extends OneShotBehaviour{
@Override
public void action() {
System.out.println("arret de l'agent");
myAgent.doDelete();
}
}
}
Ici j'ai aucun problème et ça fonctionne correctement et m'affiche dans le console le message suivant:
10 avr. 2011 10:28:30 jade.core.Runtime beginContainer
INFO: ----------------------------------
This is JADE 3.6 - revision 6032 of 2008/05/05 14:07:10
downloaded in Open Source, under LGPL restrictions,
at http://jade.tilab.com/ ----------------------------------------
10 avr. 2011 10:28:34 jade.core.BaseService init
INFO: Service jade.core.management.AgentManagement initialized
10 avr. 2011 10:28:34 jade.core.BaseService init
INFO: Service jade.core.messaging.Messaging initialized
10 avr. 2011 10:28:34 jade.core.BaseService init
INFO: Service jade.core.mobility.AgentMobility initialized
10 avr. 2011 10:28:34 jade.core.BaseService init
INFO: Service jade.core.event.Notification initialized
10 avr. 2011 10:28:34 jade.core.messaging.MessagingService clearCachedSlice
INFO: Clearing cache
10 avr. 2011 10:28:34 jade.mtp.http.HTTPServer
INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
10 avr. 2011 10:28:34 jade.core.messaging.MessagingService boot
INFO: MTP addresses:
http://192.168.1.2:7778/acc ---------------------------------------
----------------agent A----------------
---------------------------------------
en attente de l agent B
10 avr. 2011 10:28:35 jade.core.AgentContainerImpl joinPlatform
INFO: --------------------------------------
Agent container Main-Container@your-ab6cd29f8e is ready.
--------------------------------------------
addBehaviour(agentB_beh);
}
private class attendrechiffre extends OneShotBehaviour{
int valeurRetour = 0;
public void action() {
ACLMessage message = new ACLMessage(ACLMessage.INFORM);
message.addReceiver(new AID("AgentA", AID.ISLOCALNAME));
if(!stop){
message.setContent("pret");
send(message);
valeurRetour=0;
block();
}else{
message.setContent("arret");
send(message);
valeurRetour=1;
}
}
public int onEnd(){
return valeurRetour;
}
}
/**********************************************************************/
private class afficher extends OneShotBehaviour{
@Override
public void action() {
ACLMessage messageRecu = receive();
somme+= Integer.parseInt(messageRecu.getContent());
System.out.println("message recu= "+ messageRecu.getContent());
System.out.println("la somme actuelle = "+somme);
if (somme > 50) stop = true;
}
}
/**********************************************************************/
private class fin extends OneShotBehaviour{
@Override
public void action() {
System.out.println("fin de l'agent");
myAgent.doDelete();
}
}
}
le Message d'erreur est le suivant:
10 avr. 2011 10:34:43 jade.core.Runtime beginContainer
INFO: ----------------------------------
This is JADE 3.6 - revision 6032 of 2008/05/05 14:07:10
downloaded in Open Source, under LGPL restrictions,
at http://jade.tilab.com/ ----------------------------------------
10 avr. 2011 10:34:46 jade.core.BaseService init
INFO: Service jade.core.management.AgentManagement initialized
10 avr. 2011 10:34:46 jade.core.BaseService init
INFO: Service jade.core.messaging.Messaging initialized
10 avr. 2011 10:34:46 jade.core.BaseService init
INFO: Service jade.core.mobility.AgentMobility initialized
10 avr. 2011 10:34:46 jade.core.BaseService init
INFO: Service jade.core.event.Notification initialized
10 avr. 2011 10:34:46 jade.core.messaging.MessagingService clearCachedSlice
INFO: Clearing cache
10 avr. 2011 10:34:46 jade.mtp.http.HTTPServer
INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
10 avr. 2011 10:34:46 jade.core.messaging.MessagingService boot
INFO: MTP addresses:
http://192.168.1.2:7778/acc ----------------agent B----------------
10 avr. 2011 10:34:46 jade.core.AgentContainerImpl joinPlatform
INFO: --------------------------------------
Agent container Main-Container@your-ab6cd29f8e is ready.
--------------------------------------------
*** Uncaught Exception for agent pierre ***
java.lang.NumberFormatException: For input string: "( (action ( agent-identifier :name pierre@your-ab6cd29f8e:1099/JADE :addresses (sequence http://192.168.1.2:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name AgentA@your-ab6cd29f8e:1099/JADE ) (internal-error "Agent not found: getContainerID() failed to find agent AgentA@your-ab6cd29f8e:1099/JADE")) )"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at AgentB$afficher.action(AgentB.java:55)
at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:340)
at jade.core.behaviours.CompositeBehaviour.action(CompositeBehaviour.java:109)
at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:340)
at jade.core.Agent$ActiveLifeCycle.execute(Agent.java:1530)
at jade.core.Agent.run(Agent.java:1468)
at java.lang.Thread.run(Thread.java:662)
ERROR: Agent pierre died without being properly terminated !!!
State was 2
j'ai essayé pas mal de fois de résoudre le problème mais j'ai pas réussi, j'ai utilisé eclipse et j'ai mis chaque class dans un workspace distinct et je ne sais pas est ce c'est juste ou non.
s'il vous plait j'ai besoin de votre aides pour avancer un peux car j'ai un projet de SMA et je dois comprendre d'abord les notions de base.Donc si quelqu'un a une idée je serais très reconnaissante cordialement...
islammomo
Messages postés1Date d'inscriptionlundi 9 mai 2011StatutMembreDernière intervention17 mai 2011 17 mai 2011 à 01:40
Bjr,pr installé jade 4.0.1voici lé étapes:
Télécharger le fichier JADE-all-4[1].0.1.zip à partir du site :
http ://www.jade.tilab.com
ü Décompresser le fichier JADE-all-4[1].0.1.zip.
(Clique droit sur le nom du fichier puis cliquer sur Extraire vers JADE-all-4[1].0.1\)
ü Décompresser les fichiers (JADE-bin-4.0.1.zip, JADE-doc-4.0.1.zip, JADE-examples-4.0.1.zip, JADE-src-
4.0.1.zip).
ü Mettre à jour la variable CLASSPATH
– Clic droit sur poste de travail, choisir propriétés
– Cliquer sur l'onglet Avancé puis sur variables d'environnement,
– Une fenêtre intitulée « variables d'environnement » apparaît, dans la zone variables système,
chercher la variable d'environnement qui porte le nom CLASSPATH.
Si elle n’existe pas, cliquer sur Nouveau, puis taper CLASSPATH dans le champ Nom de la
variable, et taper le chemin du fichier jade.jar dans le champ valeur de la variable (C:\JADE-all-
4[1].0.1\JADE-bin-4.0.1\jade\lib, par exemple)
– Si elle existe, cliquer sur Modifier, puis dans le champ valeur de la variable taper « ; » suivi du
chemin du fichier jade.jar (C:\JADE-all-4[1].0.1\JADE-bin-4.0.1\jade\lib, par exemple)
– Valider par Ok.
happyranda
Messages postés20Date d'inscriptionsamedi 7 mai 2011StatutMembreDernière intervention13 novembre 2012 7 mai 2011 à 12:09
bonjour;
je travail sur un projet sma je veu installer la plateforme jade mais je ne sais pas comment l'installer jade 4.0.1 est ce que y quelque qui peu m'aidé
merci
happyranda
Messages postés20Date d'inscriptionsamedi 7 mai 2011StatutMembreDernière intervention13 novembre 2012 3 oct. 2012 à 09:13
bonjour
je veut créé 5 agents ,
agent1 dans contenair 1
agent2 dans contenair 1
agent3 dans contenair 1
agent4 dans contenair 2
agent5 contenaire 3
les trois premiere agents envoi une variable booleen soit 0 ,1
l'agent 4 reçoi ces valeurs si c valeur tous positive =1 ce derneir envoi un message ok a 5 agent si le contraire alors agent 4 envoi message not ok