salam,
merci de votre réponse
comment je peux ajouter l'agent dans un dossier dont le chemin fait partie de la variable classpath
Version imprimable
il suffit de créer un dossier (par exemple C:\AgentLand) puis ajouter ce chemin ( c a d C:\AgentLand) à la variable Classpath
par la suite à chaque compilation, il faut transférer les fichiers .class vers ce dossier
il est aussi possible d'ajouter directement le dossier \bin de ton projet à la classPath pour éviter de copier/coller à chaque fois les fichier .class vers le dossier C:\AgentLand
c'est un dossier "vide" qui ne va contenir que les fichier .class issues de la compilation de l'agent
je parle du dossier bin qu'on trouve dans chaque projet créer par eclipseCitation:
le dossier à ajouter (\bin ) est celui C:\JADE-all-4.0\JADE-bin-4.0?
le message d'erreur montre que Jade n'a pas pu trouvé le fichier class pour lancer l'agent.
pour avoir une idée plus claire il me faut les informations suivantes:
- le chemin exacte du dossier qui contient les fichiers .class et son contenu.
- le contenu de la variable classpath.
- la commande (exacte) pour le lancement de l'agent
bonjour,
le contenu de la variable classpath:
le chemin exacte du dossier qui contient les fichiers .class :Code:C:\JADE-all-4.0\JADE-bin-4.0\jade\lib\jade.jar;
et son contenu (contenu de la classe HelloWorldAgent1)Code:C:\smith\bin\firstAgent1
la commande exacte pour lancer l'agent:Citation:
package firstAgent1;
import jade.core.Agent;
public class HelloWorldAgent1 extends Agent {
protected void setup() {
System.out.println("Hello World! My name is "+getLocalName());
// Make this agent terminate
doDelete();
}
}
Code:java jade.Boot-gui smith:HelloWorldAgent1
1- merci d'utiliser les balise quote et code les prochaines fois
2- il faut ajouter le chemin du dossier:
à la variable ClassPath, pour qu'il devient:Code:C:\smith\bin\firstAgent1
3- relancer l'agent (normalement il dois se lancer)Citation:
C:\JADE-all-4.0\JADE-bin-4.0\jade\lib\jade.jar;C:\smith\bin\firstAgent1
tu es sûre que tu as bien ajouter le chemin du dossier à la classpath?
et si c'est le cas, je ne vois pas ou est exactement le pb
Bonjour,
J'ai eu le même problème que toi. Après une journée au dessus, j'ai trouvé la solution: il faut juste mettre ça dans l'onglet Argument:
Sinon, merci Djug pour le tuto.Citation:
-gui hello:firstAgent.HelloWorldAgent
J'ai essayé d'exécuter l'example HelloWorldAgent mais il génére des erreurs
"GRAVE: Error installing MTP"
avez vous une solution ou dois je réinstaller de nouveau jade et les jar(s)
merci, voila ce que donne --------------------------------------------
Code:
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 10 août 2010 11:34:14 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 <a href="http://jade.tilab.com/" target="_blank">http://jade.tilab.com/</a> ---------------------------------------- 10 août 2010 11:34:18 jade.core.BaseService init INFO: Service jade.core.management.AgentManagement initialized 10 août 2010 11:34:18 jade.core.BaseService init INFO: Service jade.core.messaging.Messaging initialized 10 août 2010 11:34:18 jade.core.BaseService init INFO: Service jade.core.mobility.AgentMobility initialized 10 août 2010 11:34:18 jade.core.BaseService init INFO: Service jade.core.event.Notification initialized 10 août 2010 11:34:18 jade.core.messaging.MessagingService clearCachedSlice INFO: Clearing cache 10 août 2010 11:34:18 jade.core.messaging.MessagingService boot GRAVE: Error installing MTP jade.mtp.MTPException: ERROR: The class jade.mtp.http.MessageTransportProtocol for the null MTP was not found at jade.core.messaging.MessagingService$CommandTargetSink.installMTP(MessagingService.java:897) at jade.core.messaging.MessagingService$CommandTargetSink.handleInstallMTP(MessagingService.java:722) at jade.core.messaging.MessagingService$CommandTargetSink.consume(MessagingService.java:668) at jade.core.CommandProcessor$SinksFilter.accept(CommandProcessor.java:253) at jade.core.Filter.filter(Filter.java:89) at jade.core.Filter.filter(Filter.java:90) at jade.core.Filter.filter(Filter.java:90) at jade.core.CommandProcessor.processIncoming(CommandProcessor.java:229) at jade.core.BaseNode.serveVerticalCommand(BaseNode.java:163) at jade.core.BaseNode.serveHorizontalCommand(BaseNode.java:111) at jade.imtp.rmi.NodeRMIImpl.accept(NodeRMIImpl.java:59) at jade.imtp.rmi.NodeAdapter.accept(NodeAdapter.java:60) at jade.core.messaging.MessagingProxy.installMTP(MessagingProxy.java:144) at jade.core.messaging.MessagingService.boot(MessagingService.java:279) at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:438) at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:481) at jade.core.Runtime.createMainContainer(Runtime.java:148) at jade.Boot.<init>(Boot.java:130) at jade.Boot.main(Boot.java:70) 10 août 2010 11:34:18 jade.core.AgentContainerImpl startBootstrapAgents GRAVE: Cannot create agent hag: Class pk4.HelloWorldAgent; for agent ( agent-identifier :name hag@wkname:1099/JADE ) not found [nested java.lang.ClassNotFoundException: pk4/HelloWorldAgent;] 10 août 2010 11:34:18 jade.core.AgentContainerImpl joinPlatform INFO: -------------------------------------- Agent container Main-Container@wkname is ready. --------------------------------------------
pour éviter tous problème avec JADE il faut:
1/ bien suivre toutes les étapes de l'installation (voir le tutoriel)
2/ ne pas lancer une 2em instance du même agent tant que le 1er n'est pas arrétée (il ne suffit pas de fermer l'interface graphique de la plateforme pour que JADE s'arrête )
merci djug pour la réponse
je suit comme il faut le tutoriel, ainsi l'example s'est bien exécuté dans quelques tentatives mais après non
l'interface affiche 3 agents dans le Main container:
RMA, ams, df
comment voir s'il y a d'autres agents en cours d' éxecution
les agents en cours d"exécution seront afficher sur les différents Container de la plateforme,
il suffit de parcourir tous les Container pour voir les agents en cours d'exécution
il y a qu'un seul container avec les 3 agents décrits ci dessus.
ainsi un message (!) s'affiche dans la ligne de code:
indiquantCode:public class HelloWorldAgent extends Agent {
pour executer mon code ; j'ai ajouté ,à travers Java BuildPath, les External JarsCitation:
"The serializable class HelloWorldAgent does not declare a static final serial version UID field of type long"
puisCitation:
http, iiop, jade et jadetools de c\jade\lib
l'interface se déclanche avec le message suivant:Code:
1
2 run->main class: jade.Boot "include librairies.." arguments: -gui jade.Boot hag:pk4.HelloWorldAgent;
Code:
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 10 août 2010 13:28:59 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 <a href="http://jade.tilab.com/" target="_blank">http://jade.tilab.com/</a> ---------------------------------------- 10 août 2010 13:29:02 jade.core.BaseService init INFO: Service jade.core.management.AgentManagement initialized 10 août 2010 13:29:02 jade.core.BaseService init INFO: Service jade.core.messaging.Messaging initialized 10 août 2010 13:29:02 jade.core.BaseService init INFO: Service jade.core.mobility.AgentMobility initialized 10 août 2010 13:29:02 jade.core.BaseService init INFO: Service jade.core.event.Notification initialized 10 août 2010 13:29:02 jade.core.messaging.MessagingService clearCachedSlice INFO: Clearing cache 10 août 2010 13:29:02 jade.core.messaging.MessagingService boot GRAVE: Error installing MTP jade.mtp.MTPException: ERROR: The class jade.mtp.http.MessageTransportProtocol for the null MTP was not found at jade.core.messaging.MessagingService$CommandTargetSink.installMTP(MessagingService.java:897) at jade.core.messaging.MessagingService$CommandTargetSink.handleInstallMTP(MessagingService.java:722) at jade.core.messaging.MessagingService$CommandTargetSink.consume(MessagingService.java:668) at jade.core.CommandProcessor$SinksFilter.accept(CommandProcessor.java:253) at jade.core.Filter.filter(Filter.java:89) at jade.core.Filter.filter(Filter.java:90) at jade.core.Filter.filter(Filter.java:90) at jade.core.CommandProcessor.processIncoming(CommandProcessor.java:229) at jade.core.BaseNode.serveVerticalCommand(BaseNode.java:163) at jade.core.BaseNode.serveHorizontalCommand(BaseNode.java:111) at jade.imtp.rmi.NodeRMIImpl.accept(NodeRMIImpl.java:59) at jade.imtp.rmi.NodeAdapter.accept(NodeAdapter.java:60) at jade.core.messaging.MessagingProxy.installMTP(MessagingProxy.java:144) at jade.core.messaging.MessagingService.boot(MessagingService.java:279) at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:438) at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:481) at jade.core.Runtime.createMainContainer(Runtime.java:148) at jade.Boot.<init>(Boot.java:130) at jade.Boot.main(Boot.java:70) 10 août 2010 13:29:02 jade.core.AgentContainerImpl startBootstrapAgents GRAVE: Cannot create agent hag: Class pk4.HelloWorldAgent; for agent ( agent-identifier :name hag@wkname:1099/JADE ) not found [nested java.lang.ClassNotFoundException: pk4/HelloWorldAgent;] 10 août 2010 13:29:02 jade.core.AgentContainerImpl joinPlatform INFO: -------------------------------------- Agent container Main-Container@wkname is ready. --------------------------------------------
mais pourquoi tu ne lance pas l'agent de la maniere expliquer dans le tutoriel:
A partir de Eclipse via la commande
, ou par la ligne de commande via la commandeCitation:
-gui jade.boot smith:firstAgent.HelloWorldAgent
il faut toujours se rappeler que les agents JADE ne sont pas des simples classe java qu'on peux lancer comme on lance d'habitude les application JAVACitation:
java jade.Boot -gui nomDeLagent:nomDeLaClassDeLagent
PS: merci d'utiliser les balise code et quote les prochaines fois
bonjour,
merci pour la qualité du tutoriel.
j'ai réussi à exécuter mon agent grâce à ce tutoriel. quelle méthodologie de conception vous utilisé pour la modélisation de votre système multi-agent?
merci
bonjour tout le monde.
quelle est la différence entre jade et jadex
merci
salut
es que jade permet le développement des agents cognitifs
merci
salut
je suis debutante,je veux installer le plate forme jade mais j'ai obetien ce pb
Exception in thread "main" java.long.noClassDeffounderror:jade/boot
s.v.p comment le faire :cry:
voici la procédure à suivre:
http://djug.developpez.com/java/jade/creation-agent/
Il faut faire attention
La commande pour lancer JADE c’est :
le B de Boot doit être en majusculeCode:java jade.Boot gui
Bonjour,
Je voudrais créer une application SMA avec JADE en réseau, chaque PC contient un agent avec son interface et se communique, à présent je l'ai essayé seulement sur deux machines, je sais pas comment ca fonctionne exactement. je veux par exemple: un agent dans un PC1 qui a une petite interface où on envoi un entier, arrive a l'autre agent qui est dans un PC2 pour faire des éventuels calcules.
Merci pour votre réponses
je ne sais pas si les mécanismes de communication offerts par JADE permet de faire communiquer des Agents sur des plateforme différentes (je ne l'ai jamais fait)
mais tu peux quand même les faire communiquer en échangeant des message via les sockets
sinon, la solution que je préfère, c'est de faire migrer l'agent d'une plateforme à une autre pour faire la communication
Re bonjour,
non j'ai pas hétérogénéité des plateformes, par contre j'ai deja essayé la migration, le problème c'est que l'agent se migre sans son interface!!!, c'est a dire : je suis dans PC1 je lance JADE je migre un agent dans un autre PC2 mais son interface ne se s'affiche pas dans le PC2. que doit je faire?
ton agent est composé de combien de classes ?
la migration est-elle assuré par le module IPMS ?
Bonjour,
je lance JADE à partir de JBuilder, ensuite je crée des container et depuis l'interface JADE je migre l'agent dans un container qui se trouve dans l'autre PC, mais ca marche pas. c'est comme ca que je le fait. sinon le module IPMS je le connais pas, il sert à quoi exactement?, et quels sont les étapes de migration? et si vous avez des documents sur ce sujet ca serai agréable.
Merci infiniment.
Pour le nombre de classes, mon agent contient une seule classe d'exécution mais il fait appel à une classe interface. mais pourquoi une seul classe? et dans le cas ou j'ai besoin d'une interface pour chaque agent comment doit je faire?
ce module IPMS on le télécharge est ce qu'il est intégré en JADE.?
et finalement comment créer des instances de JADE?
Merci bcp pour votre réponces.
voila, ton agent migre, mais quand il arrive à sa destination il ne trouve pas la classe de l'interface graphique
tu as deux solutions:
intégrer le code de l'interface dans le code de l'agent
ou bien compiler l'agent en JAR (mais il faut suivre une convention de nommage que tu peux trouver sur la documentation officielle)
pour IPMS
il est téléchargeable d'ici:
http://sourceforge.net/projects/jipm...7.zip/download
quand tu installe IPMS, tu peux lancer une instance de JADE sur chaque machine et l'agent aura la possibilité de se déplacer d'une plateforme à l'autre (c'est vraiment génial )
IPMS utilise un doMove() diffèrent du doMove() classique (tout est dans la documentation officielle)
PS: il se peux que cette version de IPMS ne soit pas compatible avec JADE 4
même avec cette solution il faut que le code de l'agent soit dans le même fichier .l'agent se sérialise avant de migrer d'une machine à l'autre et se dé-sérialise à son arrivée, et il dois tout apporter avec lui.
PS: l'agent peut même transporter avec lui des fichiers (mais il dois les charger dans des structure interne: tableaux, listes...)
Donc je pourrais écrire une seule classe de l'agent qui contient l'interface? comme faire cela? par-ce-que d'après ce que j'ai lu l'agent fait appel à la classe interface???,
Concernant l'IPMS j'ai du mal à l'installé si vous pouvez me donner une démarche à l'installer.
Je vous remercie infiniment.