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. #141
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    bonjour
    Merci pour ce tutorial

    j'ai crée le modèle suivant:

    agent_coordinateur et deux agents: agentA, agentB


    j'ai crée des communications bidirectionnelle entre agent_coordinateur et agentA, agent_coordinateur et agentB

    aucune communication entre agent A et agent B

    ma question est ce que je peux désactiver agentB, puis le réactiver à un nouveau, après un certain temps? si oui, comment?
    s.v.p
    merci

  2. #142
    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
    Bonjour,

    @amina19990: Peux-tu décrire en détails la procédure que tu as suivi pour créer et lancer l’agent ? (quelles sont les lignes de commande, comment tu as fait pour lancer l’agent à partir du jade,…)

    ma question est ce que je peux désactiver agentB, puis le réactiver à un nouveau, après un certain temps? si oui, comment?
    Que veux-tu dire par « désactiver l’agent » ?
    On tout cas, on peut bloquer un agent jusqu’à ce qu’il reçoive un message de réactivation
    http://djug.developpez.com/java/jade/communication/#LV

  3. #143
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    private JButton getJButton() 
    {
    	if (jButton == null) 
    	{
    	jButton = new JButton("Left");
    	jButton.setText("Go");
    	/** L'objectif de ce button et de créer les agents Operateurs  et pour cela 
             * on doit premièrement récupérer le conteneur en cours (Container) de Jade puis
             *  créer les agents pour lancer le processu d'échange de message
             */
    	jButton.addActionListener(new java.awt.event.ActionListener() 
    	{
    		public void actionPerformed(java.awt.event.ActionEvent e) 
    			{
    			try {
    					// Récupération du conteneur (Main Container) en cours d'execution de Jade
    					Runtime rt = Runtime.instance();
    					// Création du profil
    					ProfileImpl p = new ProfileImpl(false);
    					AgentContainer conteneur =rt.createAgentContainer(p);
    					// Agent controleur pour permettre la création des agents 
    					AgentController Agent=null;		
     
    					System.out.println("les operateurs ne sont pas encore prets");
    					for (int h=0;h<m;h++)
    					{
    						jTextArea.append("objet:"+opera[h]+"\n");
    					}
    					// Création des agents opérateurs 
    					for (int i=0; i<m;i++)
    					{
    						jTextArea.append(opera[i]+"\n");
    						Agent = conteneur.createNewAgent(opera[i]/*"Op"+i*/, "probleme.Operateur", null);
    						// Démarrage de l'agent
    						Agent.start();
    						//jTextArea.append("Agent Op"+i+" est lancé "+"\n");
    						ACLMessage 	tache = new ACLMessage(ACLMessage.INFORM);
    						// Remplissage de contenu du message
    						tache.setContent(t[0]);
    						// Destinataires du message 
    						tache.addReceiver(new AID(opera[i], AID.ISLOCALNAME));
    						// Envoyer le message à l'agent operateur	
    						send(tache);
    					}
    					jTextArea.append("L'enchère commence\n");
    					System.out.println("L'enchère commence");
     
    				} 
    				catch (Exception any) 
    				{any.printStackTrace();}
    			}
    		});
    		}
    		return jButton;
    }
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    addBehaviour(new SimpleBehaviour(this) 
    	{
    		private static final long serialVersionUID = 1L;
    		public void action() 
    		{	
    			// Attente de message (de l'agent Coordonnateur)
    			ACLMessage msg_reçu = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
    			if (msg_reçu != null) 
    			{	
    				System.out.println(myAgent.getLocalName()+" a reçu le type de la tache et la quantité : "+msg_reçu.getContent()+" de la part de "+msg_reçu.getSender().getLocalName());
    				nom_op=myAgent.getLocalName();
    				num=Integer.parseInt(nom_op.substring(2,3));
    				System.out.println("*** L'opérateur numéro: "+num+"***\n");
     
    				ch1=msg_reçu.getContent();
    				System.out.println("Type de tache:"+ch1.charAt(0));
    				char c=ch1.charAt(0);
    				codeASCII = (int)c -65;
    				ch2=msg_reçu.getContent().substring(2,5);
    				Qt=Integer.parseInt(ch2);
    				System.out.println("Quantité demandé: "+Qt);
     
    				Double Temp= comp[codeASCII][num-1]* Qt;
    				System.out.println("Temps d'exécution de la tache = "+Temp+" pour l'opérateur: "+ num);
     
     
    			}
    			else 
    			{
    				block();
    			}
     
    		}
    		public boolean done() 
    			{
    				return true;
    			}
    	});
    	getJFrame().setVisible(true);
    	// Envoie du cout d'execution
    	addBehaviour(new WakerBehaviour(this,40000) 
    	{
    		private static final long serialVersionUID = 1L;
    		public void onWake() 
    		{
    			ACLMessage msg1 = new ACLMessage(ACLMessage.INFORM);
    			msg1.setContent(msg_rep);
    			msg1.addReceiver(new AID("Superviseur", AID.ISLOCALNAME));
    			send(msg1);
    		}
     
    	});
    	addBehaviour(new WakerBehaviour(this,42000) 
    	{
    		private static final long serialVersionUID = 1L;
     
    		public void onWake()
    		{
    			ACLMessage msg_reçu1 = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
    			if (msg_reçu1!=null)
    			{if (msg_reçu1.getContent().equalsIgnoreCase("Commencer"))
    				{
    				System.out.println("L'opérateur "+myAgent.getLocalName()+" dit: WWWWWWéééééééééééééé");	
    				temps_tache=(long) ((val_cout*Qt)*1000);
    				System.out.println(temps_tache);
    				myAgent.doWait(temps_tache);
    				System.out.println("Terminé");
    				ACLMessage msg1 = new ACLMessage(ACLMessage.INFORM);
    				msg1.setContent(msg_rep);
    				msg1.addReceiver(new AID("Superviseur", AID.ISLOCALNAME));
    				send(msg1);
    				}
    			}
    			else{block();}
     
    		}
    	});
     
    }
    • le première bloque: un agent superviseur crée par exemple 3 agents opérateurs et envoie une tache à ces 3 agents
    • le deuxieme bloque:chaque agent opérateur reçoit la tache et calcul le temps nécessaire à cette tache puis envoie la réponse à l'agent superviseur


    vous avez mis dans votre tutorial:
    il se peut qu'un agent doive effectuer un certain traitement ou lancer quelques tâches après avoir reçu un message d'un autre agent. Il est possible de faire une attente active jusqu'à l'arrivé du message de la manière suivante :


    ACLMessage message =null ;
    While (message == null){
    Message = receive() ;
    }
    //traitement à faire après avoir reçu le message.

    Mais ce genre d'attente active consomme énormément les ressources de la machine sur laquelle l'agent s'exécute. On peut aussi bloquer un Behaviour d'un agent jusqu'à la réception du message, et ceci grâce à la méthode block() de la classe Behaviour.


    Message = receive() ;
    If (message == null) block();


    je n'ai pas compris ou je dois ecrire les traitements de l'agent opérateur?

  4. #144
    Membre à l'essai
    Inscrit en
    Décembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 16
    Points : 19
    Points
    19
    Par défaut création d'agent jade
    bonjour djug

    j'ai bien suivi votre tutoriel pour la création de l'agent jade
    j'ai lancé l'agent à partir de éclipse, la fenetres de jade s'ouvre mais le message "hello je suis l'agent smith" ne s'affiche pas ,ensuite sans fermé jade
    j'ai essayé d'allez sur jade j'ai crée un agent dans le main container le message hellow je suis l'agent agentA ( agent A c 'est l'agent creé dans jade ) s'affiche dans la console de éclipse

    merci bien

  5. #145
    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
    Le message d’erreur signale un problème au niveau du « command line argument », j’ai besoin de savoir qu'est-ce tu as introduit au juste dans le champ « program argumentes »

  6. #146
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 7
    Points
    7
    Par défaut conversion java jade
    comment convertir un programme java en syntaxe jade

  7. #147
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut MANEL
    j'ai aussi des problème au niveau de la connection eclipse avec jade pourtant j'ai bien suivi tout les détail de votre tutoriel, et l'orsque je fait l'exécution ce message d'erreur s'affiche "The serializable class SimpleAgent does not declare a static final serialVersionUID field of type long"
    veillez m'aidez SVP

  8. #148
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    j'ai le même problème .
    et quand j'exécute ce code:
    package tP1;
    import jade.core.Agent;

    public class SimpleAgent extends Agent {
    protected void setup(){
    System.out.println ("SimpleAgent ready");

    }
    protected void takeDown (){
    System.out.println ("SimpleAgent done");
    }

    }
    le prob suivante sera afficher : The serializable class SimpleAgent does not declare a static final serialVersionUID field of type long
    et la classe SimpleAgent sera souligné en jaune.
    svp aider moi

  9. #149
    Membre à l'essai
    Inscrit en
    Décembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 16
    Points : 19
    Points
    19
    Par défaut amina----djug
    bonjour

    au debut
    j ai rien introduit dans l'onglet argument
    maintenent le message de la creation de l agent ne s'affiche pas
    et tous ce qui s'affiche dans la console c 'est


    Code bash : 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
     
    4 janv. 2012 11:39:39 jade.Boot parseCmdLineArgs
    ATTENTION: WARNING: ignoring command line argument smith:firstAgent.HelloWorldAgent occurring after agents specification
    4 janv. 2012 11:39:39 jade.Boot parseCmdLineArgs
    ATTENTION: Note that agent specifications must be separated by a semicolon character ";" without spaces
    4 janv. 2012 11:39:39 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE 4.1 - revision 6431 of 2011/07/12 18:53:42
        downloaded in Open Source, under LGPL restrictions,
        at <a href="http://jade.tilab.com/" target="_blank">http://jade.tilab.com/</a>
    ----------------------------------------
    Retrieving CommandDispatcher for platform null
    4 janv. 2012 11:39:40 jade.imtp.leap.LEAPIMTPManager initialize
    INFO: Listening for intra-platform commands on address:
    - jicp://192.168.50.47:1099
     
    4 janv. 2012 11:39:40 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    4 janv. 2012 11:39:40 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    4 janv. 2012 11:39:40 jade.core.BaseService init
    INFO: Service jade.core.resource.ResourceManagement initialized
    4 janv. 2012 11:39:40 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    4 janv. 2012 11:39:40 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    4 janv. 2012 11:39:40 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
    4 janv. 2012 11:39:40 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    <a href="http://192.168.50.47:7778/acc" target="_blank">http://192.168.50.47:7778/acc</a>
    4 janv. 2012 11:39:40 jade.core.AgentContainerImpl startBootstrapAgents
    ATTENTION: Cannot create an agent with no name. Class was jade.boot
    4 janv. 2012 11:39:40 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@192.168.50.47 is ready.
    --------------------------------------------
    est ce que le probleme parceque j utilise de nouvelles version , je travaille avec la version 4.1 des biblio jade?
    merci

  10. #150
    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
    Ce message indique que Jade a rencontré deux problèmes :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ATTENTION: WARNING: ignoring command line argument smith:firstAgent.HelloWorldAgent occurring after agents specification
    ATTENTION: Note that agent specifications must be separated by a semicolon character ";" without spaces
    La première ligne indique que la commande de création de l’agent a été ignorée, donc l’agent n’a pas été créé.
    Il me faut une description détaillée de la procédure que tu as suivie pour lancer l’agent (avec toutes les commandes et les données introduite dans les différents champs), pour essayer de trouver une solution.
    Bon courage

  11. #151
    Membre du Club
    Femme Profil pro
    Chercheuse en Informatique
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheuse en Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Points : 41
    Points
    41
    Par défaut
    Bonjour
    j'ai essayée le programme de votre tuto et j'ai rencontré le meme erreur que aminaa :
    Code bash : 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
     
     
     19 févr. 2012 13:33:54 jade.Boot parseCmdLineArgs
    ATTENTION: WARNING: ignoring command line argument Ameni:agentss.AglAg occurring after agents specification
    19 févr. 2012 13:33:54 jade.Boot parseCmdLineArgs
    ATTENTION: Note that agent specifications must be separated by a semicolon character ";" without spaces
    19 févr. 2012 13:33:54 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE 4.1.1 - revision 6532 of 2011/11/18 16:21:34
        downloaded in Open Source, under LGPL restrictions,
        at <a href="http://jade.tilab.com/" target="_blank">http://jade.tilab.com/</a>
    ----------------------------------------
    Retrieving CommandDispatcher for platform null
    19 févr. 2012 13:33:54 jade.imtp.leap.LEAPIMTPManager initialize
    INFO: Listening for intra-platform commands on address:
    - jicp://192.168.1.3:1099
     
    19 févr. 2012 13:33:54 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    19 févr. 2012 13:33:54 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    19 févr. 2012 13:33:55 jade.core.BaseService init
    INFO: Service jade.core.resource.ResourceManagement initialized
    19 févr. 2012 13:33:55 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    19 févr. 2012 13:33:55 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    19 févr. 2012 13:33:55 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
    19 févr. 2012 13:33:55 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    <a href="http://PCAMIRA.naib-bank.local:7778/acc" target="_blank">http://PCAMIRA.naib-bank.local:7778/acc</a>
    19 févr. 2012 13:33:55 jade.core.AgentContainerImpl startBootstrapAgents
    ATTENTION: Cannot create an agent with no name. Class was jade.Boot
    19 févr. 2012 13:33:55 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@192.168.1.3 is ready.
    --------------------------------------------
    je met ds l"argument ( ds eclipse)
    -gui jade.Boot Ameni:agentss.AglAg
    est ce que le probleme parceque j'ai des erreur ds la format de l'argument ??
    SVP dit moi si j'ai une erreur au niveau de l'argument ????

  12. #152
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Points : 14
    Points
    14
    Par défaut Oui
    bonjour,

    effectivement vous avez un problem dans la ligne argument, on met:
    -gui alias_agent:package.classe_agent

    et dans l'onglet main, main class: jade.Boot

  13. #153
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Points : 14
    Points
    14
    Par défaut agents mobiles
    Bonjour Ben.nass,
    je ne trouve plus ta question, apparemment elle a ete deplace, je te publie ma repense tout de meme.

    pour les agents mobiles jai cherche pendant un bon mois, ce que j'ai trouve c'est l'utilisation de JIPMS en utilisant le package migration.jar.
    je t'envoie ce lien pour toute fin utile:

    http://www.csrdu.org/nauman/2011/12/...ade-and-jipms/

    moi j'ai commence a le faire, mais je n'ai pas réussie, il fallait perseverer chose que je n'ai pas faite. alors bon courage à toi

  14. #154
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par rochdi123 Voir le message
    ce que je cherche vraiment c'est de créer un SMA avec une plateforme écrit en php, mais puisque ca n'existe pas, j'ai cherché à implémenter mes agents sous formats de classes, et d'appliquer une architecture et d'implémenter moi même les notions d'interaction entre ces agents...etc.
    mais ce qui me pousse de penser à créer ce SMA comme ca, c'est lorsque je regarde par exemple la plateforme jade, c'est un peu la même chose :
    par exemple un agent c'est une classe qui hérite de la classe 'Agent', un message c'est une instance de la classe ACLMessage,...etc, et même il n y a pas la notion d'architecture de SMA tel que 'Tableau noire, architecture à contrôle distribué,...etc ', donc même si je crée un SMA avec cette plateforme je pense que c'est la même chose.
    veut il m'expliquer c'est quoi la différence ou plutôt quels sont les avantages c'est je développe mon SMA avec une tel plateforme ?
    votre idée est très intéressante, je suis débutante et je suis intéressée par la création des agents en php pouvez m'aider. pouvez vous m'expliquer d'avantage comment implémenter les notions d'interaction entre ces agents

  15. #155
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonjour
    Merci pour ce tutoriel.

    voila j'ai une simulation d'un environnement SMA que je dois faire pour mon projet, et je voudrai créer mes agents dans différents container mais le problème c'est que j'arrive pas a créer le container.
    J'ai essayé la commande "java jade.Boot –container" mais ça ne marche pas.

    Merci d'avance pour votre aide

  16. #156
    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
    Quel est le message d’erreur ?

  17. #157
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Salut

    J'ai 6 agents.
    le premier envoie un message au 2eme
    le 2eme reçois le message et l'envoie au 3 si le message lui correspond sinon il l'envoie aux autre agents

    j'ai fait l'envoi de message entre les 2 premiers et ça marche mais je ne sais pas comment faire le renvoie au 3eme agent.

    merci d'avance

  18. #158
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut jade communication
    Bonjour tout le monde,

    je suis débutante dans Jade et lorsque je veux envoyer un message d'un agent A à un agent B comme dans les tutos, le message n'arrive pas au destinataire voici le code
    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
    41
    42
    43
    package FirstAgent;
    import jade.core.AID;
    import jade.core.Agent;
    import jade.core.Runtime;
    import jade.core.Profile;
    import jade.core.ProfileImpl;
    import jade.lang.acl.ACLMessage;
    import jade.lang.acl.MessageTemplate;
    import jade.wrapper.*;
     
     
     
    public class Lanceur extends Agent {
     
    	protected void setup(){
     
    	String localname="Interface";
    	AID id = new AID(localname, AID.ISLOCALNAME);
    		System.out.println("je m appel    "+ getLocalName());
     
    		Runtime rt = Runtime.instance();
    		Profile p = new ProfileImpl();
    		ContainerController cc = rt.createAgentContainer(p);
     
    		AgentController AgentFils;
    		AgentController AgentFils2;
     
    			System.out.println("l'agent "+ getLocalName()+ " va lancer les deux agents AgentA et AgentB ");
     
    			try {
    				AgentFils = cc.createNewAgent("agentA","FirstAgent.agentA",null);
    				AgentFils.start();
    				AgentFils2 = cc.createNewAgent("agentB","FirstAgent.agentB",null);
    				AgentFils2.start();
     
     
    			} catch (StaleProxyException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	}
     
    }

    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
    package FirstAgent;
    import jade.core.*;
     
    import java.util.*;
    import jade.core.behaviours.*;
    import jade.lang.acl.ACLMessage;
     
    public class agentA extends Agent 
    {
    	public void setup(){
    		addBehaviour(new OneShotBehaviour(this){public void action(){
    			ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
    			msg.addReceiver(new AID("agentB", AID.ISLOCALNAME));
    			msg.setLanguage("English");
    			msg.setOntology("Weather-forecast-ontology");
    			msg.setContent("Today it’s raining");
    			send(msg);
    		    }
    		});	
    	}
    }
    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
    package FirstAgent;
    import jade.core.*;
     
    import java.util.*;
    import jade.core.behaviours.*;
    import jade.lang.acl.ACLMessage;
     
    public class agentB extends Agent 
    {
     
    	//création d'un agent
    	protected void setup()
    	{
    		//String localname = "Peter";
    		//AID id = new AID(localname, AID.ISLOCALNAME);
    		addBehaviour(new OneShotBehaviour(this){public void action(){
    			ACLMessage ms = receive();
    			if(ms==null)
    				block();
    			else
    				System.out.println(ms.getContent());
    		}
    		});		
    		//takeDown();
    		//doDelete();
    	}
    }
    SVP aidez moi
    Merci d'avance.

  19. #159
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    SVP essayer de m'aider il y a des jours que j'essaye toute seule et ça marche pas

  20. #160
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Bonjour
    djug SVP aidez-moi. en fait une fois il m'affiche le contenu du message et une fois non.

    Merci

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