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 :

Création d'un agent Jade avec Eclipse [Tutoriel]


Sujet :

Programmation par agent Java

  1. #101
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    bonjour Monsieur,

    concernant mon problème, je besoin d’exécuter votre exemple "Communication Avec Agent JADE" ,Ok. Donc pour quoi à votre avis lorsque je exécute le projet, il m'affiche la résultat suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ----------------agent A----------------
    ---------------------------------------
    en attente de l agent B
    sachant que j'ai fait ma configuration comme illustre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -gui jade.boot agent1:AgentsPackage.AgentA 
             -gui jade.boot agent2:AgentsPackage.AgentB

    Merci infiniment Monsieur de votre Conseil et Orientation.

  2. #102
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    pour l’exécuter tu dois faire le suivant:

    tu lances la commande suivante ,via l'invite de commande(première fenêtre):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -gui jade.Boot agent1:AgentsPackage.AgentA
    puis lance la 2e commande dans une autre fenêtre/invite de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java jade.Boot -container agent2:AgentsPackage.AgentB
    faites attention, le B de Boot doit être en majuscule

  3. #103
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut Container
    Citation Envoyé par Djug Voir le message
    Bonjour,
    voila je viens de terminer l'article sur la création d'un agent JADE sous eclipse

    http://djug.developpez.com/java/jade/creation-agent/

    vos remarques
    Bonjour Djug ,
    j'ai 2 pc , dans l'1 tout est marache bien , mais dans l'2 et lorsque je veux essayer de executé ce commande java jade.Boot - container j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    :\Documents and Settings\Administrateur>java jade.Boot -container
    xception in thread "main" java.lang.NoClassDefFoundError: jade/Boot
    aused by: java.lang.ClassNotFoundException: jade.Boot
           at java.net.URLClassLoader$1.run(Unknown Source)
           at java.security.AccessController.doPrivileged(Native Method)
           at java.net.URLClassLoader.findClass(Unknown Source)
           at java.lang.ClassLoader.loadClass(Unknown Source)
           at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
           at java.lang.ClassLoader.loadClass(Unknown Source)
           at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ould not find the main class: jade.Boot.  Program will exit.
    Ou le pb svp ,sachant que j'ai lancé la plate forme a partir de eclipse (mobility inter container ), merci d'avance

  4. #104
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    il me semble que le jade n'est pas bien configuré sur le 2e PC

    vérifies que la variable ClassPath contient bien le(s) chemin(s) du/des fichier(s) Jar du JADE comme je l'ai expliqué ici

  5. #105
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Djug Voir le message
    il me semble que le jade n'est pas bien configuré sur le 2e PC

    vérifies que la variable ClassPath contient bien le(s) chemin(s) du/des fichier(s) Jar du JADE comme je l'ai expliqué ici
    Merci pour votre réponse , j'ai virifier mais j'ai trouve le mm pb ,mlagrer c'est le mm que j'ai met dans le 1 pc ,
    alors il y un autre methode pour créer 1 conteneur sans utilise cet commande ; çàd avec le code java ? ?

  6. #106
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    mlagrer c'est le mm que j'ai met dans le 1 pc
    cela ne veut rien dire,

    il se peut que tu as mis les fichers de JADE sur la partition C (sur le premier PC) et sur le 2e PC tu les a mis dans un autre endroit

    je suppose que tu n'arrive même pas à lancer JADE sur le 2e PC ?

    réinstalles JADE sur le 2e PC (en suivant le tutoriel et non pas en copiant les fichiers du 1e PC)

    alors il y un autre methode pour créer 1 conteneur sans utilise cet commande ; çàd avec le code java ? ?
    oui bien sure, via l'interface graphique de la plateforme JADE, mais dans ce cas la tu va tu trouver avec deux plateformes et la migration doit se faire avec l'addon IPMS

    si on t'impose pas d'utiliser ce genre de migration, je te conseille d'utiliser la migration au sein de la même plateforme (moins compliquée et plus facile à mettre en œuvre)

    une autre solution pour éviter les cassement de tête:

    utiliser un réseau (virtuel) de machines virtuelles (configurer une seule machine virtuelle puis la cloner autant de fois que voulu)

  7. #107
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour: après l’exécution de votre exemple "Communication avec agent JADE", j'ai reçois:

    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
    ----------------agent B----------------
    ---------------------------------------
    ----------------agent A----------------
    ---------------------------------------
    en attente de l agent B
    ***  Uncaught Exception for agent agent2  ***
    java.lang.NumberFormatException: For input string: "( (action ( agent-identifier :name agent2@y-e49d31b0e44a4:1099/JADE  :addresses (sequence http://Y-E49D31B0E44A4:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name AgentA@y-e49d31b0e44a4:1099/JADE ) (internal-error "Agent not found: getContainerID() failed to find agent AgentA@y-e49d31b0e44a4: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 agent2 died without being properly terminated !!!
    State was 2
     
    	at AgentsPackage.AgentB$afficher.action(AgentB.java:53)
    	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:1500)
    	at jade.core.Agent.run(Agent.java:1439)
    	at java.lang.Thread.run(Unknown Source)

    La Configuration:

    -gui jade.Boot agent1:AgentsPackage.AgentA
    -gui jade.Boot -container agent2:AgentsPackage.AgentB


    et même avec l'invité de commande??!!!

  8. #108
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    c'est tout à fait normal

    tu as nommé tes agents :agent1 et agent2

    mais au niveau du code tu utilise AgentA et AgentB pour les désigner

    il suffit de renommer tes agents en agent1 et AgentB
    -gui jade.Boot AgentA:AgentsPackage.AgentA
    -gui jade.Boot -container AgentB:AgentsPackage.AgentB

  9. #109
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonsoir.

    Une Question Svp: "Comment travailler avec les agents sans passer par l'interface graphique de JADE!?" est ce que pour deux agents qui peuvent communiquer entre eux par l'envoi des messages il faut passer à chaque fois à l'interface graphique de JADE pour cet envoi?! "Send Message"

    j'aimerais bien cacher cette option, et l'envoi se fait automatiquement.

    Merci.

  10. #110
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    oui bien sure

    il suffit d'omettre le "- GUI" de la commande qui lance JADE

  11. #111
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    j'ai lancé jade et mes agents dans la class Administrateur extends Agent comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main(String[] args) {
    String argsv[] = { "Administrateur:ead.Administrateur","Negociateur:ead.Negociateur","Operateur:ead.Operateur",
    "ChefGR1:ead.ChefGR1","ChefGR2:ead.ChefGR2","ChefGR3:ead.ChefGR3"};
    jade.Boot.main(argsv); }
    mes lorsque je lance un autre agent avec la meme façon dans la class assistant extends Agent
    ex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static void main(String[] args) {
    String argsv[] = { "assistant:ead.assistant"};
    jade.Boot.main(argsv); }
    jade lance un message d'erreur (il faut pas lanser jade deux fois )
    alors comment lancer les agent apres la lencement de jade

    merci

  12. #112
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    on ne peut lancer qu'une seul instance de jade


    pour lancer les agents après le lancement du jade, nous avons 2 solutions:

    1/ utiliser l'interface graphique du jade pour lancer les agents,
    2/ lancer les agents via la ligne de commande dans un nouveau Container via la commande suivante:

    java jade.Boot -container nomAgent:package.classAgent

    dans les 2 cas il faut que les .class (tous les fichiers .class) qui résultent de la compilation de l'agent seront mises dans un dossier dont le chemin figure dans la variable d’environnement Path
    en d'autre termes, ou bien tu ajoutes le chemin du dossier /bin de ton projet à la variable classPath, ou tu crées un nouveau dossier (par exemple c:/AgentLand) dans lequel tu va copier les fichiers .class de l'agent et bien évidement tu dois ajouter son chemin à la classpath

  13. #113
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Djug Voir le message
    Bonjour,
    voila je viens de terminer l'article sur la création d'un agent JADE sous eclipse

    http://djug.developpez.com/java/jade/creation-agent/

    vos remarques
    Bonjour,
    Pour quoi mon agent ne pas lancé directement sous eclipse (dans l'onglet Arguments : -gui jade.Boot Agent launceur:MyPackage.LauncherAgent) ?
    cependant, il est lancé à partir de l'interface graphique du JADE(Start New Agent) aprés l'execution .
    Merci d'avance ...

  14. #114
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    Pour quoi mon agent ne pas lancé directement sous eclipse (dans l'onglet Arguments : -gui jade.Boot Agent launceur:MyPackage.LauncherAgent) ?
    quel est le message d'erreur ?

    juste une remarque, la commande que tu as mentionné contient une erreur:


    -gui jade.Boot Agent launceur:MyPackage.LauncherAgent

  15. #115
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    salut l'équipe:

    bon,j'ai bien réussie dans la création de mon projet,c'est un vrai un système multi agents(11 Agents),tout est bien, mais je voudrais savoir comment créer un fichier exe ou jar pour ce type de plate forme!(JADE).

    svp, je vais faire quoi exactement comme procédure pour exporter le projet dans un seul fichier jar ou exe?

    vraiment c'est un domaine très vaste à comprendre. j’attende mes amis

  16. #116
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    Citation Envoyé par Masssi Voir le message
    salut l'équipe:

    bon,j'ai bien réussie dans la création de mon projet,c'est un vrai un système multi agents(11 Agents),tout est bien, mais je voudrais savoir comment créer un fichier exe ou jar pour ce type de plate forme!(JADE).

    svp, je vais faire quoi exactement comme procédure pour exporter le projet dans un seul fichier jar ou exe?

    vraiment c'est un domaine très vaste à comprendre. j’attende mes amis
    la création des fichiers .jar pour les agents Jade se fait de la même manière que les programmes java classiques,

    mais les noms des fichiers jar doit respecter une certaine règle ,si je me souviens bien le nom doit contenir le nom du package suivi d'un point (ou d'un souligné) et du nom de la classe (jets un coup d’œil sur la documentation officielle de JADE)


    personnellement je te déconseille de le faire , tu peux lancer tes agents via des fichiers .bat sans aucun problème, et tu risque de rencontrer d'autre problème si tu les transforme en Jar (surtout si les agents sont mobiles et migrent d'une machine à une autre)

  17. #117
    Futur Membre du Club
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    personnellement je te déconseille de le faire , tu peux lancer tes agents via des fichiers .bat sans aucun problème, et tu risque de rencontrer d'autre problème si tu les transforme en Jar (surtout si les agents sont mobiles et migrent d'une machine à une autre)
    Comment svp?

  18. #118
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    par exemple pour lancer un agent tu peux créer un fichier batch (un fichier .bat) qui contient la commande suivante:

    java jade.Boot -container nomdelAgent:nomClass
    bien évidement, il faut que l'agent soit dans un dossier dont le chemin figure dans la variable d’environnement path

  19. #119
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Bonjour

    J'ai de nouveau un problème sous Jade que je ne parvient pas à résoudre, je passe à tout hasard dans l'espoir de trouver une réponse à ce problème.

    J'aimerai vérifier si des messages sont échangés entre mes différents agents, afin de savoir quand terminer une partie de mon algorithme dans l'agent superviseur (autrement dit, tant qu'il y a des messages échangés entre les agents, on attend). Je cherche comment faire celà, mais pas moyen de trouver quoi que ça.

    Pour essayer de faire ça, j'ai créé un agent sniffer sur mes agents créés. Le problème, c'est que je ne trouve pas de commande du type "AgentSniffer.ismessageexchanged()" qui me permettrait de récupérer des échanges de messages/savoir si des messages sont en cours d'envoie/reception etc...
    Donc si quelqu'un connait une fonction permettant cela (avec un Agent Sniffer ou autre chose, peut être avec un Agent AMS? ), ou une autre méthode pour faire ça. Merci d'avance!

  20. #120
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Points : 17 970
    Points
    17 970
    Par défaut
    jettes un coup d’œil sur cette vidéo:

    http://www.4shared.com/file/13293584...3/Sniffer.html

Discussions similaires

  1. Création d'un agent produit avec Jade
    Par jmyosra dans le forum Programmation par agent
    Réponses: 1
    Dernier message: 13/11/2012, 15h18
  2. Création d'un projet Maven avec Eclipse
    Par pt.forumtech dans le forum Eclipse
    Réponses: 1
    Dernier message: 10/05/2012, 01h20
  3. [Jade] Lancement d'un agent jade via eclipse
    Par manare dans le forum Programmation par agent
    Réponses: 1
    Dernier message: 20/03/2011, 07h22
  4. Réponses: 4
    Dernier message: 20/07/2004, 21h53

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