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

  1. #61
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut voila voilou
    voila ce que g qua,d je met la ligne de commande suivante dans Run configuration :-gui jade.Boot hedjem-PC:firstAgent.AgLAg


    29 avr. 2010 13:52:31 jade.core.Runtime beginContainer
    INFO: ----------------------------------
    This is JADE 3.7 - revision 6154 of 2009/07/01 17:34:15
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
    ----------------------------------------
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    29 avr. 2010 13:52:32 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://172.16.7.138:7778/acc
    29 avr. 2010 13:52:32 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Main-Container@hedjem-PC is ready.
    --------------------------------------------
    je suis le grand manitou
    29 avr. 2010 13:52:32 jade.core.Runtime beginContainer
    INFO: ----------------------------------
    This is JADE 3.7 - revision 6154 of 2009/07/01 17:34:15
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
    ----------------------------------------
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    29 avr. 2010 13:52:32 jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    29 avr. 2010 13:52:32 jade.core.PlatformManagerImpl localAddNode
    INFO: Adding node <Container-1> to the platform
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    29 avr. 2010 13:52:32 jade.mtp.http.HTTPServer <init>
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
    29 avr. 2010 13:52:32 jade.mtp.http.HTTPServer <init>
    ATTENTION: Port 7778 is already in used, selected another one
    29 avr. 2010 13:52:32 jade.core.PlatformManagerImpl$1 nodeAdded
    INFO: --- Node <Container-1> ALIVE ---
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    29 avr. 2010 13:52:32 jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://172.16.7.138:49313/acc
    29 avr. 2010 13:52:32 jade.core.AgentContainerImpl joinPlatform
    INFO: --------------------------------------
    Agent container Container-1@hedjem-PC is ready.
    --------------------------------------------
    jade.wrapper.StaleProxyException: Class AgentA for agent ( agent-identifier :name AgentA@hedjem-PC:1099/JADE ) not found [nested java.lang.ClassNotFoundException: AgentA]
    at jade.wrapper.ContainerController.createNewAgent(ContainerController.java:124)
    at firstAgent.AgLAg.setup(AgLAg.java:23)
    at jade.core.Agent$ActiveLifeCycle.init(Agent.java:1490)
    at jade.core.Agent.run(Agent.java:1436)
    at java.lang.Thread.run(Unknown Source)
    l'agent hedjem-PC va lancer les deux agents AgentA et AgentB
    --------------------------------------------------------------------------

    merci d'avance

  2. #62
    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
    désolé, j'en ai aucune idée

  3. #63
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    bonjour,c'est kacem
    voialam ma question : je sait que les agents peuvent s'envoyer des massages, est ce qu'ils peuvent s'envoyer des objets(genre : JTable ou JPanel ou mémé un une instance d'une classe de ma creation)

  4. #64
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    ok,merci j'ai trouver la réponse de notre ami Djug et c'est : convertir les objet en format xml pour les sauvegarder par un agent et les reprendre par un autre agent

  5. #65
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut ouf
    c bon djug g trouvé lma solution au fait quand on utilise l'agent controlleur pour creer pour creer les agents A et B faut mettre le pckage c a dire au lieu de

    AgentFils = cc.createNewAgent("AgentA","AgentA",null);
    AgentFils.start();
    AgentFils2 = cc.createNewAgent("AgentB","AgentB",null);
    AgentFils2.start();
    il faut mettre:
    AgentFils = cc.createNewAgent("AgentA","firstAgent.AgentA",null);
    AgentFils.start();
    AgentFils2 = cc.createNewAgent("AgentB","firstAgent.AgentB",null);
    AgentFils2.start();

  6. #66
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Points : 72
    Points
    72
    Par défaut
    Bonjour tous le monde,
    mon exemple est simple, je veux lancer un agent qui dois recevoir un message , s'il n'as pas reçu un message en 3 seconde il sera détruit.

    j'essaye de lancer 2 behaviours en paralléle , le premier c'est un FSMBehaviours et le deuxième un simple WakerBehaviour ,qui calcule le temps (les 3 secondes).

    voici l'exemple:
    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
    import jade.core.*;
    import jade.core.behaviours.*;
    import jade.lang.acl.ACLMessage;
    import jade.lang.acl.ACLMessage;
     
    public class AgentAttente extends Agent 
    {
    	protected void setup()
    	{
    		ParallelBehaviour comportementparallele = new ParallelBehaviour(ParallelBehaviour.WHEN_ANY);
     
    		comportementparallele.addSubBehaviour(new WakerBehaviour(this, 3000) {
    				protected void handleElapsedTimeout() {
    				System.out.println("Terminé");
    				myAgent.doDelete();
    				}
    				});
     
    			FSMBehaviour bhv = new FSMBehaviour();
     
    			comportementparallele.addSubBehaviour(bhv);
     
    			bhv.registerFirstState(new fonction1(), "fonction1");
    			bhv.registerTransition("fonction1", "fonction1", 0);
     
     
    		addBehaviour(comportementparallele);
    	}
    	//====================================================================
    	private class fonction1 extends OneShotBehaviour
    	{
    		public void action()
    		{
    			ACLMessage msgRecu = null;
    			msgRecu = receive();
    			if(msgRecu==null) block();
    			//le traintement aprés avoir reçu le message
    			System.out.println(msgRecu.getContent());
     
    		}
    		public int onEnd()
    		{
    			return 0;
    		}
    	}
    	//======================================================================
    }
    et l'erreur c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERROR: Agent Agent1 died without being properly terminated !!!
    State was 2
    en faite l'erreur est du a l'affichage du message parceque mon message est toujours Null. mais pourquoi cette erreur puisque aprés le block() on traite le resultat !!! je peu pas utiliser le blockingReceive parcequ'il me block l'agent et donc meme le WakerBehaviour seras bloqué.

    que dois je faire ?

  7. #67
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Points : 72
    Points
    72
    Par défaut
    pour ceux qui vont trouvé ce problème plus tard , je leur conseil de lire cette documntation :
    http://jade.tilab.com/doc/api/jade/c...our.html#block

    en faite la méthode block(), bloque le behaviours a la fin de la méthode action et donc si vous faite un block() et un traitement après c'est normal qui vas exécuter ce traitement comme l'affichage dans mon exemple précédent.

  8. #68
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut 2 agent discute chacun dans un pc different
    voila l'ami mon problème :
    j'ai 2 agents sur 2 ordi et je veux qu'ils discute mais ca marche pas voila le code du lancement des 2 agents chacun sur un pc :


    code du lancement de l'agent1 sur pc1 dans le port 8888:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            Runtime rt = Runtime.instance();
    	Profile p = new ProfileImpl(nul,8888,nul);
    	ContainerController cc = rt.createAgentContainer(p);
    	AgentController AgentFils1;
    	try {
                  AgentFils1=cc.createNewAgent("Agent1","firstAgent.Agent1",null);
    	     AgentFils1.start();
    	} catch (StaleProxyException e) {
    		e.printStackTrace();
    	}


    code du lance ment de l'agent2 sur le port 8888:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            Runtime rt = Runtime.instance();
    	Profile p = new ProfileImpl(nul,8888,nul);
    	ContainerController cc = rt.createAgentContainer(p);
    	AgentController AgentFils1;
    	try {
                  AgentFils1=cc.createNewAgent("Agent2","firstAgent.Agent2",null);
    	     AgentFils1.start();
    	} catch (StaleProxyException e) {
    		e.printStackTrace();
    	}

  9. #69
    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
    je crois (mais je ne suis pas sûr) que les agents JADE ne peuvent communiquer que s'ils sont sur la même plateforme (la même plateforme sur la même machine ou sur deux machine différentes)

    sinon si vous voulez que les agents soit sur des plateformes différentes, il faut que l'un d'eux migre vers la plateforme de l'autre

  10. #70
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut ProfileImpl(?,?,?)
    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
    Runtime rt = Runtime.instance();
     
    	Profile p = new ProfileImpl(null,8888,null);
     
    	ContainerController cc = rt.createAgentContainer(p);
    	AgentController AgentFils1;
     
    	try {
     
    		AgentFils1 = cc.createNewAgent("Agent_ress_1","firstAgent.Agent_ress_1",null);
     
    		AgentFils1.start();
     
    	} catch (StaleProxyException e) {
     
    		e.printStackTrace();
     
    	}
    voila ma question: Profile p = new ProfileImpl(x1,x2,x3);
    li faut mettre quoi a la place de x1 ,x2
    pour x2 il faut mettre le port du lancement la plateforme mais x1 et x2 je ne sait pas
    et si tu peut me donner un exemple ça sera formidable
    et merci

  11. #71
    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
    la classe ProfileImpl possède plusieurs constructeurs .En générale tu n'auras pas besoin d'utiliser les constructeur ayant plusieurs arguments , mais juste le constrcuteur sans aucun argument.

    tu trouvera un exemple de son utilisation dans la documentation officielle du jade (le fichier JADE-doc-3.x\jade\doc\programmersguide.pdf, la page R2)


    sinon penses à jeter un coup d'œil sur la documentation de l'API
    http://jade.tilab.com/doc/api/jade/core/Profile.html


    PS: merci d'utiliser les balise [code] pour tes codes sources les prochaines fois

  12. #72
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Je voudrais avoir des davantage d'information sur les actes de langage comme Propagate, Inform_If et Request, notamment sur leur implémentation par la plateforme JADE. Les explications données sur le site de la FIPA ne sont pas très claires.

    http://www.limsi.fr/~jps/enseignemen...RAU/index.html

    Propagate : Communication par l'expéditeur d'un message à propager à des agents dont la description est fournie.
    La descriptions des agents se fait où dans le message ?

    Request : Communication par l'expéditeur d'une demande au destinataire d'effectuer une action.
    Dans quelle propriété définit-on l'action à effectuer ?

    Inform_If : Communication par l'expéditeur d'une proposition (pensée vrai par celui-ci), et demande au receveur une confirmation ou une non-confirmation.
    Macro-action impliquant l'usage de "request".
    La proposition est définie où, comment mettre le lien entre les deux actes de langages, Request et Inform_If ?

    Merci d'avance

  13. #73
    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
    Je voudrais avoir des davantage d'information sur les actes de langage comme Propagate, Inform_If et Request, notamment sur leur implémentation par la plateforme JADE
    jet un coup d'œil sur le code source du JADE. il est disponible sur son site officiel:
    http://jade.tilab.com

  14. #74
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Merci pour le lien !
    J'ai lu la documentation de Jade, ici je fais allusion à des exemples concrets d'utilisation des actes de langages cités.

  15. #75
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 24
    Points
    24
    Par défaut probleme sur l'exemple tut 1 de l'agent HelloWorldAgent
    Bonsoir,

    Malgré k j'au utilisé deux versions différentes d'ECLIPSE, j'ai la même réponse comme celle de l'internaute "mimish" qui confirme qu'il a réglé le probleme qui été au niveau d'eclipse.

    Sachant k j'ai essayé la version 3.5.2 et 3.5.1, mais son succés. Le message suivant s'affiche:
    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
    23 juin 2010 01:51:24 jade.core.Runtime beginContainer
    INFO: ----------------------------------
        This is JADE snapshot - revision $WCREV$ of $WCDATE$
        downloaded in Open Source, under LGPL restrictions,
        at http://jade.tilab.com/
    ----------------------------------------
    23 juin 2010 01:51:26 jade.core.AgentContainerImpl joinPlatform
    GRAVE: Some problem occurred while joining agent platform.
    jade.core.ProfileException: Can't get a proxy to the Platform Manager [nested jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]]
    	at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:574)
    	at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    	at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    	at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    	at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    	at jade.core.Runtime.createMainContainer(Runtime.java:148)
    	at jade.Boot.<init>(Boot.java:130)
    	at jade.Boot.main(Boot.java:70)
    Nested Exception:
    jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]
    	at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:276)
    	at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    	at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    	at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    	at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    	at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    	at jade.core.Runtime.createMainContainer(Runtime.java:148)
    	at jade.Boot.<init>(Boot.java:130)
    	at jade.Boot.main(Boot.java:70)
    Nested Exception:
    java.rmi.AlreadyBoundException: ServiceManager
    	at sun.rmi.registry.RegistryImpl.bind(Unknown Source)
    	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    	at sun.rmi.transport.Transport$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    	at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
    	at java.rmi.Naming.bind(Unknown Source)
    	at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:224)
    	at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    	at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    	at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    	at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    	at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    	at jade.core.Runtime.createMainContainer(Runtime.java:148)
    	at jade.Boot.<init>(Boot.java:130)
    	at jade.Boot.main(Boot.java:70)
    23 juin 2010 01:51:26 jade.core.Runtime$1 run
    INFO: JADE is closing down now.
    SVP, réponsez moi. Merci

  16. #76
    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
    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

  17. #77
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 24
    Points
    24
    Par défaut HolloWorldAgent
    Merci infiniment, ça marche!

  18. #78
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 24
    Points
    24
    Par défaut quel type de behaviour utiliser?
    Bonsoir,
    je dois implementer un modèle de négociation que j'ai conçu. Ce modèle est constitué de deux phases:
    phase1: un agent client négocie avec un ensemble d'agents fournisseurs selon un protocole simple que nous pouvons modéliser par un automate.
    Pour implementer ce protocole j'imagine utiliser des behaviours simples.

    Cependant, pour la phase 2 du modèle l'agent client négocie avec un sous ensemble des agents fournisseurs selon un protocole un petit peu compliqué. C'est un protocole d'offres alternatives ou il a les trois choix suivants:
    1. accepter un offre
    2. générer une contre offre
    3. rejeter l'offre
    Ce protocole s'excute sur plusieurs tour jusqu'à trouver une entente ou terminer par un echec.

    Bref, voilà ma question:
    QUEL BEHAVIOUR DOIS JE UTILISER POUR LA PHASE 2?


  19. #79
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut jade
    j'ai lancé un agent agent1 sur mainContenair sur pc1
    je veux lancé un autre agent sur pc2 pour que ces deux la peuvent descuter est ce que c'est possible si oui comment et merci d'avance.

  20. #80
    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 kaci811 Voir le message
    j'ai lancé un agent agent1 sur mainContenair sur pc1
    je veux lancé un autre agent sur pc2 pour que ces deux la peuvent descuter est ce que c'est possible si oui comment et merci d'avance.
    je crois que j'ai déjà répondu à cette question.
    il me semble qu'il n'est pas possible de faire communiquer deux agents sur deux PC différents sauf si les deux se partage la même plateforme. en d'autre terme on lance la plateforme sur un PC et on lance juste un Container sur l'autre. et ce Container dois s'inscrire auprès de la 1er plateforme.

    en lance le container sur la 2e machine via la commande
    java jade.Boot -host xyz -container
    tel que xyz est l'adresse IP de ma machine sur laquelle on a lancé la plateforme

    sinon, l'agent doit se déplacer vers la 2e machine

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