Bonsoir djug,
tout d'abord, un grand merci à tous ceux qui ont participé à réaliser ce tuto!
S'il vous plait, mon thème de projet est "un sma pour un probleme d'ordonnancement conjoint production/maintenance dans un atelier de production" donc il s'agit d'avoir un planning pour chaque machine, specifiant le debut et la fin de chaque tache de production ou une tache de maintenance,sachant que chaque tache a une durée; donc je vais utiliser jade et eclipse!
et je sais pas par quoi commencer, comment réaliser l'interface, comment integrer les agents? j'ai pas compris le fonctionnement de jade avec eclipse? aidez moi svp!! je sais pas par quoi entamer!
Sachant que j'ai réussi a créer l'agent grace à votre tuto!
avant de se lancer dans la réalisation de ton projet il faut faire une bonne conception de ton système et apprendre en parallèle la programmation avec JADE (les différents aspects des agents)et je sais pas par quoi commencer
il faut également lire des livres/articles sur la programmation orienté agent
quand tu feras tous ça , le réalisation du système deviendra très simple
Bonsoir,
Svp, j'ai terminé la conception de mon projet"un sma pour un pbm d'ordonnancement conjoint production maintenance", et j'ai définie le rôle de chaque agent,est ce que je peux commencer à programmer mes agents?
Par exemple, j'ai un agent production qui représente une tâche de production qui possède les propriétés suivantes: durée opératoire, date de début au plus tôt, date de début au plus tard, et il doit communiquer avec l'agent machine, agent maintenance, agent superviseur production?
sachant que dans ma conception j'ai fait un agent utilisateur qui lui va faire entrer les données, c'est à dire, les propriétés de l'agent production par exemple.......................
Comment je vais commencer, comment réaliser mon interface, comment faire le lien eclipse-jade?
Merci de m'aider, je suis bloquée!!
Bonsoir;
tout d'abord pour réalisé la connexion JADE-Eclipse, tu doit ajouter les librairies de JADE dans eclipse, pour cela : tu copie JADE dans C:/ par exemple, après dans tu crée un projet dans eclipse; tu met propriété du projet, ensuite tu ajoute les fichier ".jar" qui se trouve dans le dossier "C:JADE/JADEbin/JADE/lib/". comme ca tu poura utilisé les différents méthodes de jade.
chaque rôle de ton agent signifie un comportement. rensigne toi sur les différents type de comportements OneShotBehaviour ou bien parallèle behaviour ect...
Pour les interface d'après ce que je sais tu les crées séparément et tu les lance dans le code de l'agent. pour Eclipse tu doit installer des plugins d'edition d'interfaces comme JCréator pour facilier leurs création. c'est pour cela je prèfère le duo JADE-JbuilderX. car il possède par défaut un éditeur d'interface.
Voila brièvement quelques informations.
Bon courage
salut djug
j'ai installe JADE mais quand je essaye d'exécuté le premier agent j'ai trouve un problème (INFO: JADE is closing down now.)
comment le faire svp;
merci d'avance
Slt à tous,
je suis en train de faire un projet d'un SMA en utilisant jade et éclipse, j'ai utilisé plusieurs tutoriels pour cela
Mais lors de l'exécution, j'ai trouvé que certains messages n'arrivent pas au bon destinataire(agent) que j'ai implémenté
j'ai utilisé le syntaxe suivant pour l'envoie des messages;
au niveau d'agent sender: ACLMessage msg= new ACLMessage(ACLMessage.INFORM);
msg.setContentObject((Serializable) part);
msg.addReceiver(new AID( "Agent2", AID.ISLOCALNAME));
send(msg);
au niveau de l'agent receiver:
ACLMessage msg= receive() ;
if (msg!=null)
{méthodes}
else block();
Est ce que vous pouvez m'aider en précisant pourquoi les messages ne sont pas bien distribués entre les agents sachant que j'ai 11agents qui s'échangent plusieurs messages?Aussi je me suis étonné parce que le console d'éclipse me donne des résultats différentes à chaque exécution, j'ai installé plusieurs versions et le même problème reste.
Merci d'avance
[Salut
merci j'ai lus ce pdf + tuto (Djug)et tout ça marche Bien ,Mais mon soucé mnt est les agents mobile car je trouve pas les docs qui concerne cette sujet
- je veux qu'un agent A migre de la plateforme 1 à la plateforme 2 qui situe dans la meme PC (just je donnera 2 port)
1- Quelle version de JADE qui support la mobilite entre plateforme(meme PC) ?
2- Code pour le faire si possible ... pour je commence
c'est urgent ,Merci d'avance & Bon chance à tous ;
Bonsoir,
j'ai réussi à faire la mobilité inter container ;
et j'ai créer une class qui permet de faire la connexion à la BDD MySql et de récupéré les donnes;
Mais lorsque j'ai essayé de faire que mon agent mobile récupérer ces donnes j'ai trouve une erreur même la mobilité ne marche pas(pas de trace) !!!!
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135 import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import jade.core.AID; import jade.core.Agent; import jade.core.behaviours.*; import jade.core.ContainerID; import java.sql.*; import javax.swing.table.DefaultTableModel; import com.mysql.jdbc.Driver; import com.mysql.jdbc.RowData; public class AgentProj extends Agent{ Connection connection; Record[][] dc = new Record [3][4]; // donnes recupere String prod; public void setup(){ addBehaviour(new B()); } private class B extends SimpleBehaviour{ private boolean _done; private int step=0; public void action(){ System.out.println("My name is "+ getLocalName()); System.out.println(" I'm in Main container "); Object[] args = getArguments(); if (args != null){ for (int i = 0; i < args.length; i++) { System.out.println(" I'm try to buy "+(String)args[i]); prod=(String)args[i]; } }else{ System.out.println("No arguments"); } //************************************Migration 1************************************* switch(step){ case 0: System.out.println("\n Moving1 ..."); // on déclare la variable qui va contenir le nom du Container String containerName = "Container-1"; ContainerID destination = new ContainerID(); // on déclare la variable qui represente la destination destination.setName(containerName); // et on fait la migration myAgent.doMove(destination); System.out.println("Hello, I'm in container-1 "); try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("com.mysql.jdbc.Driver found"); connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/agent","root","root"); System.out.println("Connexion Ok"); Statement instruction = connection.createStatement(); ResultSet resultat = instruction.executeQuery("SELECT * FROM tab1 where nom_prod LIKE'"+prod+"'"); while(resultat.next()){ if (resultat!= null){ System.out.println(resultat.getString("prix_prod")); } } } catch(Exception cnfe) { System.out.println("Error:"+cnfe.getMessage()); } step++; break; //***************************** Migration 2*********************************************** case 1: System.out.println("\n Moving2 ..."); // on déclare la variable qui va contenir le nom du Container String containerName2 = "Container-2"; ContainerID destination2 = new ContainerID(); // on déclare la variable qui represente la destination destination2.setName(containerName2); // et on fait la migration myAgent.doMove(destination2); System.out.println("Hello I'm in container-2 "); try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("com.mysql.jdbc.Driver found"); connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/agent2","root","root"); System.out.println("Connexion Ok"); Statement instruction = connection.createStatement(); ResultSet resultat2 = instruction.executeQuery("SELECT * FROM tab2 where nom_prod LIKE'"+prod+"'"); while(resultat2.next()){ if (resultat2!= null){ System.out.println(resultat2.getString("prix_prod")); } } } catch(Exception cnfe) { System.out.println("Error:"+cnfe.getMessage()); } step++; break; //******************************** Retour à Main container ******************************* case 2: System.out.println("\n\nMoving3 ..."); String containerName3 = "Main-Container"; ContainerID destination3 = new ContainerID(); // on déclare la variable qui represente la destination destination3.setName(containerName3); System.out.println("je vais retourner ..."); // et on fait la migration myAgent.doMove(destination3); System.out.println(" Les donnes recuperer :"); step++; break; //********************************** Finich************************************************ case 3: _done=true; System.out.println(" I'm finiche My work :The agent has terminated its itinirary"); }//end switch }//end action public boolean done() { return _done; } } // end setup } // end AgentProjvos réponses , Merci d'avance ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 l'erreur est 17 avr. 2011 23:01:28 jade.core.mobility.AgentMobilityService$CommandSourceSink handleInformMoved GRAVE: Error in agent serialization. Abort transfer. java.io.NotSerializableException: java.lang.Object
Bonjour, tout d'abord je vous remercie pour ce tuto, ca ma beaucoup aidé
cependant j'ai un petit souci, j'arrive pas a creer un agent avec plus d'un seul argument
la commande suivante marche bien :
mais cette commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part -gui test:HelloAgent(1)
donne l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part -gui test:HelloAgent(1 2)
j'ai essaier avec des ; entre les arguments mais le probleme persiste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ATTENTION: Note that agent arguments specifications must not contain spaces jade.core.ProfileException: Error parsing specifier list test:HelloAgent(1. [nested java.lang.Exception: Incorrect specifier "test:HelloAgent(1". Missing final parenthesis] at jade.core.ProfileImpl.getSpecifiers(ProfileImpl.java:399) at jade.core.ProfileImpl.init(ProfileImpl.java:270) at jade.core.ProfileImpl.<init>(ProfileImpl.java:86) at jade.Boot.main(Boot.java:67)
merci
^
j'ai trouvé la solution, il faut mettre , entre les arguments (source)
je comprend pas pourquoi certain tuto disent qu'il faut mettre des espaces ou des ; entre les args, peut etre ca depend du systeme ou de la version du JADE
Monsieur, Vraiment vous avez fait de bon travail,bon courage
Bonjour, j'ai lu votre exemple de JADE_Agent(Les communications des agents JADE) (ce lien:
http://djug.developpez.com/java/jade/communication/
la configuration: -gui jade.boot agent1:AgentsPackage.AgentA
et j'ai rencontré un problème, il ne s’exécute qu'un seule agent (Agent A).
comme illustre
---------------------------------------
----------------agent A----------------
---------------------------------------
en attente de l agent B
sachant que j'ai rien modifié le code, j'ai besoin d’exécuter deux agents en même temps qui ont communiqués entre eux,et afficher les échanges des messages. Merci b1
tu dois lancer le 2e agent dans une autre fenêtre (invite de commande)
je me souviens pas bien de la commande mais je crois que c'est celle la
java jade.Boot -container agent2:AgentsPackage.AgentB
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager