|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | ||||||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Bonjour tous le monde,
je veux savoir s'il faut définir un ordre d'exécution entre 2 containers pour qu'un agentA de conteneur 1 peut envoyé des messages à l'agentB du conteneur2 ? un exemple pour bien comprendre: AgentA: Code :
<........> Code :
Code :
|
||||||
|
|
00
|
|
|
#22 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
oui bien sure , pour définir un ordre il faut bien utiliser un FSM behaviour.
il faut se mettre dans la tète que la programmation des agents est différentes à la programmation classique, les agents sont en générale réactifs, c-a-d il agissent selon leurs environnements extérieurs. on d'autre terme, chaque agent ne va pas exécuter son code de la ligne 0 à la ligne N-1 d'une manière séquentiel, mais il "exécute le bout de cout qui correspond à une réaction dans son environnement extérieure
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#23 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Bonjour tous le monde,
j'ai essayé de faire un programme qui permet de ce déplacer(doMove) d'un conteneur a un autre( dans la même platform ), il m'affiche une erreur : GRAVE: Destination Agent1 does not exist or does not support mobility voici le code source: Code :
ou est le probléme ? |
||
|
|
00
|
|
|
#24 | ||
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
voila comment on fait migrer un agent d'un Container à un autre:
Code :
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
||
|
|
00
|
|
|
#25 | |||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Citation:
et puis même avec sa il m'affiche : GRAVE: Destination Container-1 does not exist or does not support mobility Merci Djug |
|||
|
|
00
|
|
|
#26 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
mais est ce que tu as déja créer le container avec de faire la migration,
ce code suppose que le container existe on peux créer un Container via la commande:
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#27 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
j'aimerai savoir comment je peu être sure que l'agentA a été déplacer avec sucée ? est ce que je peu faire un teste dans le conteneur ou l'agentA a été déplacer?
|
|
|
00
|
|
|
#28 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
un test sur le nom du container tu permettra de savoir si ton agent est sur le bon Container ou nom
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#29 | ||||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Voici mon code:
Code :
Code :
-qu'est ce que tu veux dire par : Merci Djug |
||||
|
|
00
|
|
|
#30 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
je viens de testé ton code, il fonctionne bien:
je crois que tu n'a pas encore compris la notion des Container et comment les agents s'exécutent voici comment exécuter ton exemple: compiler le code de l'agent, tu va récupérer le résultat de la compilation (les fichiers Agent1.class et Agent1$B.class) copier ces fichier vers un dossier dont le chemin apartien à la varible classpath du systeme : par exemple tu va créer un dossier ayant comme nom C:\AgentLand et tu va ajouter ce chemin à la variable classpath du systeme (clique droit sur le poste de travaille >propriétés >avancé> variable d'environnement > double clique sur classpath puis tu rajoutes à la fin du contenu de la variable ;C:\AgentLand (remarque bien le point virgule avant le chemin du dossier) lancer la plateforme jade via la commande: lancer un nouveau container via la commande (il sera nommé automatiquement container-1 le prochain container sera nommé Container-2 ...) lancer l'agent agent1 comme suit: clique droit sur Main-container > Start new Agent taper agent1 dans les champ agent name et agent class l'agent se lancera puis se se placera vers le container container-1 puis se terminera (tous va se passer rapidement) tu trouvera la trace de son déplacement sur le fenêtre console (fenêtre dos)
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#31 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Merci Djug c'est bon il marche.
j'ai essayer un autre programme qui permet a un agent de ce déplacer et de revenir au conteneur principal et voici le code: Code :
|
||
|
|
00
|
|
|
#32 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
dans ce genre de situation (la mobilité) il ne faut jamais utiliser le "case of", mais il faut utiliser les FSMBehaviour (je crois que je t'ai déjà parler de ça quelque part ? n'est ce pas )
un subBehaviour pour l'aller, et un autre pour le retour (et probablement tu aura besoin d'autre état/subBehaviour entre ces deux la) en plus, on ne place jamais des instructions juste après la méthode doMove() (il faut créer un nouveau SubBehaviour qui s'exécutera juste le subBehaviour en cours et qui va contenir ces instructions ) bon courage
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#33 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
|
|
|
00
|
|
|
#34 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
de quelle risque tu parles?
peux tu l'expliquer un peu plus ?
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#35 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
je voulais dire quand je lance l'exécution , sachant que l'état initial c'est A , est ce que par défaut il vas directement a l'état B (par la transition par défaut) ou bien il vas confondre entre la transition vert B et D ?
|
|
|
00
|
|
|
#36 |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
la transaction par défaut est prise dans le cas ou on ne spécifié pas une valeur.
on tous cas tu peux lancer l'exécution de l'agent pour voir comment il va se comporter
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
00
|
|
|
#37 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#38 | |
![]() ![]() Inscription : mai 2007 Messages : 3 180 ![]() |
juste une petite remarque,
comme c'est le cas avec ton automate, quand en utilise des automates ayant des boucles (passer par le meme état plusieurs fois, alors il faut les réinitialisé) Citation:
__________________
Tweet more than 140 characters with long-tweets.comTutoriels JADE (Java Agent DEvelopment Framework) http://djug.developpez.com Je ne réponds pas aux questions techniques par Messages privés: les forums sont faits pour ça
|
|
|
|
00
|
|
|
#39 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 158 ![]() |
malgré sa j'ai pas trouvé pourquoi sa ne marche pas , pourtant avec seulement un déplacement sa marche mais avec 2 déplacements sa ne marche pas.
Voici le code : Code :
|
||
|
|
00
|
|
|
#40 | |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 1 ![]() |
Citation:
J'ai essayé de faire un agent qui se déplace vers 3 containers puis reviens au Main-Countainer, en utilisant un CyclicBehaviour (et switch case..) sans avoir à utiliser FSMBehaviour, et ça marche bien. |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com