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 :

Lancer plusieurs instances d'agents à partir d'un agent lanceur


Sujet :

Programmation par agent Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Etudiante chercheuse
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 6
    Points
    6
    Par défaut Lancer plusieurs instances d'agents à partir d'un agent lanceur
    Bonjour tout le monde,

    Je suis débutante avec JADE !
    En fait, j'ai un agent individu et un agent coordinateur (agent lanceur).
    J'ai essayé de lancer l'agent individu à partir de l'agent coordinateur et ça marche ! Mais mon problème c'est que je veux lancer plusieurs agents individu à partir de l'agent coordinateur !

    Voici le code du lancement d'un agent individu à partir d'un agent Coordinateur:
    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
     
    public class Coordinateur extends Agent 
    {
    	private static final long serialVersionUID = 1L;
     
    	/*** @param args */
    	protected void setup()
    	{
     
    		Runtime rt = Runtime.instance();
    		Profile p = new ProfileImpl();
    		ContainerController cc = rt.createAgentContainer(p);
    		AgentController AgentFils;
     
    			try 
    	 		{
    				for (int i=1; i<=4; i++)
    				{
    					AgentFils = cc.createNewAgent("Individu","lesAgents.Individu",null);
    					AgentFils.start();
    				}
    			} 
    			catch (StaleProxyException e) 
    				{
    					e.printStackTrace();
    				}
    	}
     
    }
    et voici comment j'ai essayé de lancer plusieurs agents individu :

    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
     
    public class Coordinateur extends Agent 
    {
    	private static final long serialVersionUID = 1L;
     
    	/*** @param args */
    	protected void setup()
    	{
     
    		Runtime rt = Runtime.instance();
    		Profile p = new ProfileImpl();
    		ContainerController cc = rt.createAgentContainer(p);
     
    		AgentController AgentFils[] = new AgentController[4];
    			try 
    	 		{
    				for (int i=1; i<=4; i++)
    				{
    					AgentFils[i] = cc.createNewAgent("Individu","lesAgents.Individu",null);
    					System.out.println("Bienvenue, je suis l'agent Individu " + i);
    					AgentFils[i].start();
    				}
    			} 
    			catch (StaleProxyException e) 
    				{
    					e.printStackTrace();
    				}
    	}
     
    }
    Mais ça ne marche pas !! Il m'affiche l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Bienvenue, je suis l'agent Individu 1
    juil. 10, 2013 1:07:59 PM jade.core.PlatformManagerImpl$1 nodeAdded
    INFO: --- Node <Container-1> ALIVE ---
    jade.wrapper.StaleProxyException: Name-clash Agent Individu@GRAJA-PC:1099/JADE already present in the platform 
    	at jade.wrapper.ContainerController.createNewAgent(ContainerController.java:124)
    	at lesAgents.Coordinateur.setup(Coordinateur.java:40)
    	at jade.core.Agent$ActiveLifeCycle.init(Agent.java:1519)
    	at jade.core.Agent.run(Agent.java:1465)
    	at java.lang.Thread.run(Unknown Source)
    Aidez moi svp !!
    Merci d'avance

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Etudiante chercheuse
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 6
    Points
    6
    Par défaut Solution au problème
    J'ai trouvé la solution et j'ai oublié de la poster.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i=1; i<=4; i++)
    				{
    					AgentFils[i] = cc.createNewAgent("Individu"+i,"lesAgents.Individu",null);
    					AgentFils[i].start();
    				}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 24/08/2012, 16h26
  2. Comment empêcher de lancer plusieurs instances d'un programme?
    Par homeostasie dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 28/10/2008, 21h14
  3. Lancer plusieurs instances
    Par bouhmidov dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2008, 15h15
  4. Réponses: 7
    Dernier message: 09/10/2007, 15h26
  5. [Info] lancer plusieurs instances d'Eclipse
    Par soeursourire dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 08/03/2006, 16h42

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