IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation par agent Java Discussion :

Les communications des agents JADE [Tutoriel]


Sujet :

Programmation par agent Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Par défaut
    ça marche qu'une fois et aprés je ne peux pas l’exécuter
    tu n'arrives pas à l’exécuter une nouvelle fois, parce que tu ne fermes pas la plateforme après avoir terminer l’exécution.

    Citation Envoyé par Djug Voir le message
    cette erreur apparait quand tu essayes de lancer une nouvelle instance du jade (ou lancer le même programme/agent JADE une nouvelle fois) sans avoir fermer l'ancienne instance proprement.

    fermer l'interface graphique du jade ne ferme pas la plateforme vu que l'interface graphique n'est qu'un agents comme les autre (l'agent RMA).

    pour fermer le JADE complètement tu as le choix entre l'une des méthodes suivantes:
    1. fermer la plateforme à partir de l'interface graphique:



    2. fermer l'agent à partir d'eclipse:



    3.mais si tu as déjà tenter de lancer la deuxième instance, il te faut redémarrer Eclipse ou fermer le processus javaw.exe , à partir du gestionnaire de tâches (sous windows), ou utiliser la commande systeme suivante (invite de commande):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taskkill /f /im javaw.exe

  2. #2
    Membre confirmé
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Par défaut
    Bonjour à tous!

    pour le lancement de deux agents j'applique tous ce que dit là, mais aucune chose les agents ne veulent pas lancer

    hier j'ai testé de lancer les deux agents A et B et j'ai réussi et j'ai fait la suite:

    1/ j'ai mis dans l'onglet Arguments de Run configuration de la classe de l'agent A : -gui " pour lancer le Jade seulement"

    2/ et après j'ai lancé l'agent A par l'icon "start new agent", donc il m'affiche

    ---------------------------------------
    ----------------agent A----------------
    ---------------------------------------
    en attente de l agent B
    3/ la meme chose pour l'agent B , il m'affiche le résultat qu'il faut m'apparait.



    mais aujourd'hui , il m'affiche une erreur et je ne sais pas pourquoi

    il m'affiche comme ça lorsque je crée l'agent B

    ----------------agent B----------------
    *** Uncaught Exception for agent b ***
    java.lang.NumberFormatException: For input string: "( (action ( agent-identifier :name b@192.168.1.4:1099/JADE :addresses (sequence http://UTILISATEUR-PC:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name AgentA@192.168.1.4:1099/JADE ) (internal-error "Agent not found: getContainerID() failed to find agent AgentA@192.168.1.4:1099/JADE")) )"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)ERROR: Agent b died without being properly terminated !!!
    State was 2

    at firstAgent.AgentB$afficher.action(AgentB.java:47)
    at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:344)
    at jade.core.behaviours.CompositeBehaviour.action(CompositeBehaviour.java:109)
    at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.java:344)
    at jade.core.Agent$ActiveLifeCycle.execute(Agent.java:1504)
    at jade.core.Agent.run(Agent.java:1443)
    at java.lang.Thread.run(Unknown Source)
    une idée, svp????

  3. #3
    Expert confirmé

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Par défaut
    le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gent not found: getContainerID() failed to find agent AgentA@192.168.1.4:1099/JADE
    indique que le 2e agent n'a pas pu trouvé le premier Agent nommé AgentA.

    il me semble que tu as nommé tes agents en a et b (au lieu de AgentA et AgentB) et du coup tu dois également remplacer AgentA par a et AgentB par a et b dans le code des 2 agents.

  4. #4
    Membre confirmé
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Par défaut
    Merci Mr.Djug pour votre réponse

    vous voulez me dire qu'il faut nommer les agents: AgentA et AgentB comme leurs classes ??

    si oui, j'avais cru que les noms des agents sont choisis aléatoirement

  5. #5
    Invité de passage
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 1
    Par défaut
    jé essayé l'exemple de communication qui se trouve dans le tutoriel mé ça pas marché il affiche le message suivant:

    22 févr. 2012 10:29: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/
    ----------------------------------------
    22 févr. 2012 10:29:45 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    22 févr. 2012 10:29:45 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    22 févr. 2012 10:29:45 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    22 févr. 2012 10:29:45 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    22 févr. 2012 10:29:45 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    22 févr. 2012 10:29:45 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
    22 févr. 2012 10:29:45 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://192.168.50.42:7778/acc
    22 févr. 2012 10:29:45 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@hpcompak-HP is ready.
    --------------------------------------------
    ----------------agent B----------------
    *** Uncaught Exception for agent toutou ***
    java.lang.NumberFormatException: For input string: "( (action ( agent-identifier :name toutou@hpcompak-HP:1099/JADE :addresses (sequence http://192.168.50.42:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name AgentA@hpcompak-HP:1099/JADE ) (internal-error "Agent not found: getContainerID() failed to find agent AgentA@hpcompak-HP:1099/JADE")) )"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at firstAgent.HelloWorldAgent$afficher.action(HelloWorldAgent.java:59)
    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(Unknown Source)
    ERROR: Agent toutou died without being properly terminated !!!
    State was 2

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 16
    Par défaut lancement de deux agents jade
    salut
    est ce qu'on peut lançer deux agents jade en parallèle et comment?

    j'ai essayé votre tutoriel (communication) mais ça na marche pas il se bloque à ------------ agentB---------------

    merci cordialement

  7. #7
    Expert confirmé

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Par défaut
    Citation Envoyé par amina19990 Voir le message
    salut
    est ce qu'on peut lançer deux agents jade en parallèle et comment?

    j'ai essayé votre tutoriel (communication) mais ça na marche pas il se bloque à ------------ agentB---------------

    merci cordialement

    Bonjour,
    Oui, il est possible de lancer plusieurs agents en parallèle :
    Vous pouvez utiliser le GUI du JADE ou la ligne de commande pour lancer les agents l’un après l’autre. il faut utiliser une nouvelle « fenêtre » pour chaque agent, si vous optez pour la ligne de commande.

  8. #8
    Membre habitué
    Inscrit en
    Décembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 16
    Par défaut migration entre plusieurs plateformes jade
    bonjour djug

    je n'arrive pas à faire migrer les agents entre plateformes
    j'ai creé deux plateformes
    j'ai creé una agent Agent1 dans la plateform1 mais je n'arrive as à le faire migrer vers l'autre platefrome
    voici le code que j'ai essayé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    import jade.core.*;
    import jade.core.Runtime;
    import jade.core.behaviours.OneShotBehaviour;
    import jade.wrapper.AgentContainer;
    import jade.wrapper.AgentController;
    import jade.wrapper.ContainerController;
    import jade.wrapper.ControllerException;
    import jade.wrapper.PlatformController.Listener;
    import jade.wrapper.PlatformState;
    import jade.wrapper.PlatformEvent;
    import jade.wrapper.StaleProxyException;
    import jade.domain.mobility.MobilityOntology;
    import jade.core.mobility.AgentMobilityService;
    public class essai extends Agent {
     
    	public void setup(){
    		System.out.println("hellow je suis l'agent" +getLocalName());
    		Runtime rt =Runtime.instance();
    		Profile pmain = new ProfileImpl(null,9999,null);
    		AgentContainer mc=rt.createMainContainer(pmain);
    		ProfileImpl pContainer = new ProfileImpl(null,9999,null);
    		 try {
                 AgentController	rma = mc.createNewAgent("RMA", "jade.tools.rma.rma", new Object[0]);
    			  rma.start();
    			  } catch (StaleProxyException e) {
    		      e.printStackTrace();
    		      }
    		  addBehaviour(new OneShotBehaviour(this){
    			  public void action() {
    				  AID remoteAMS = new AID("ams@qlubic:9999/JADE", AID.ISGUID);
    				// Specify the MTP by setting the transport address of the remote
    				// AMS
    				remoteAMS.addAddresses("http://qlubicaddr:7778/acc");
    				// Create the Location object
    				PlatformID destination = new PlatformID(remoteAMS);
    				// Change of the agent state to move
    				myAgent.doMove(destination);
    }});
    		  }
    }

  9. #9
    Expert confirmé

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Par défaut
    Vous essayez de faire migrer l’agent d’un container à un autre sur la même plateforme (des containers sur une ou plusieurs machine), ou entre deux plateforme sur deux machines distincts ?

Discussions similaires

  1. Communication entre des agents jade
    Par Nouur dans le forum Programmation par agent
    Réponses: 0
    Dernier message: 28/04/2014, 23h39
  2. Communication entre des agents jade
    Par Nouur dans le forum Programmation par agent
    Réponses: 0
    Dernier message: 28/04/2014, 23h36
  3. Pour les fanas des Agents
    Par carla-la-belle dans le forum Windows 7
    Réponses: 2
    Dernier message: 12/11/2009, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo