MaDKit forum

Welcome All !
Please, use explicit topic names when creating new threads. Thanks.

You are not logged in.

#1 HowTo » new Message() Envoi de messages entre agents autre qu'un String » 2013-09-07 21:23:08

hiba
Replies: 1

Bonsoir,
Je veux que les agents échangent des messages contenant des chaines de caractères et aussi des entiers ou des réels ,mais le problème c'est que le new StringMessage() comme son nom l'indique ne permet d'envoyer que des messages de type String.

Exemple de message qu'un agent veut envoyer à ses voisins : broadcastMessage("Communauté","Groupe","Rôle", new StringMessage("A, B", X ));
sachant que A et B sont de type String alors que X est de type entier.
La syntaxe décrite si-dessus ne fonctionne pas ,il m'affiche ce message : 'required: String
  found: String,String
  reason: actual and formal argument lists differ in length'


Help please!!

#2 Re: HowTo » Echange de messages entre deux agents » 2013-07-12 17:32:20

Bonjour ,

En fait l'interface de l'agent récepteur affiche tous les messages reçus suivis des adresses de tous les  émetteurs mais le fichier excel stocke uniquement le dernier message et l'adresse de son émetteur  20 fois.!!!

#3 Re: HowTo » Echange de messages entre deux agents » 2013-07-10 18:01:46

Est-ce qu'il y a une autre méthode permettant le parcours de la messagerie à pars nextMessage() parce que celle-là me retourne toujours un seul message!!
Le fichier excel stocke le même message plusieurs fois donc ça se voit qu'il fait pas le parcours de toute la boîte.
Merci pour votre aide.

#4 Re: HowTo » Echange de messages entre deux agents » 2013-07-10 17:42:17

Le problème d'ouverture de fichier est résolu mais ce dernier affiche toujours un seul message et non pas la totalité des messages reçus.
Help please

#5 Re: HowTo » Echange de messages entre deux agents » 2013-07-10 16:49:26

Bonjour ,
j'ai fait ce que vous m'avez dit mais cette fois-ci ,l'interface de l'agent n'affiche qu'un seul message ce qui n'était pas le cas avant d'introduire le nextMessage() . Mise à part le fichier de stockage(excel) qui ne s'ouvre plus (il m'affichait un message d'erreur disant que ce fichier est peut être endommagé ou son extension n'est plus la même d'ou c'est impossible de l'ouvrir).
Sachant que je suis entrain de créer  une copie 'Copy' sur le fichier dejà crée 'workbook' pour que je puisse le modifier par la suite et ajouter de nouvelles cellules.
Voilà le code de la fonction :


void Read(StringMessage m)
{

   
WritableWorkbook copy=null ;
try {



        try
//           
     Workbook workbook= Workbook.getWorkbook(new File("C:\\madkit4.2.0\\CarnetOrdres.xls"));
Sheet sheet = workbook.getSheet(0);

        copy = Workbook.createWorkbook(new File("C:\\madkit4.2.0\\Copy.xls"), workbook);
WritableSheet sheet4 = copy.getSheet(0);
String IdInvest= (m.getSender().toString());

String Prix =m.getString(); 

Label label = new Label(0,0, "Prix");
sheet4.addCell(label);
Label id = new Label(1, 1, "IDinvest");
sheet4.addCell(id);

while(m!=null)
{

for(int j=0; j < 20; j++){

Label label2 = new Label(0,j,Prix);
sheet4.addCell(label2);
Label address = new Label(1, j,IdInvest);
sheet4.addCell(address);
       






}


}






copy.write();


m = (StringMessage)nextMessage();






}







/* On ecrit le classeur */
catch (IOException e) {
        e.printStackTrace();
    }
catch (BiffException e) {
     e.printStackTrace();
   }
catch (WriteException e) {
e.printStackTrace();
}


}

#6 Re: HowTo » Echange de messages entre deux agents » 2013-07-09 15:04:33

Est-ce qu'il y a une méthode qui permet de traiter tous les messages reçus ,et non seulement le dernier message?
une boucle ou une méthode qui permet de parcourir la boîte de message de l'agent?

#7 HowTo » Echange de messages entre deux agents » 2013-07-08 15:23:04

hiba
Replies: 8

Bonjour,
Je suis entrain de faire communiquer deux agents via ce scénario :
-L'agent A va demander le prix d'un article au prés de l'agent B (le 1er message)
-L'agent B va envoyer ce prix là stocké dans un fichier excel à l'agent A
-L'agent A va envoyer un 2ème message à l'agent B ( le deuxiéme message)
-L'agent B doit enregistrer les données que contient le deuxième message reçu de l'agent A.
Le problème c'est que chacun de ces messages reçus par l'agent B nécessite un traitement spécifique,je sais pas qu'est ce que je dois écrire au niveau de handleMessage.
Ci-dessous vous trouverez le code du handle de l'agent B:
void handleMessage(StringMessage m)

{

println("message: " + m.getString() + " from " + m.getSender());


Reply(m); // réponse pour le premier message//
Read(m); // traitement du deuxième message//

}
Je sais pas qu'est ce je dois définir exactement au niveau du handle pour assurer le bon traitement des messages sachant que l'interface de l'agent B disparaît ( l'agent se tue) dès que je lance la simulation.

#8 HowTo » madkit 4.2.0 Vs madkit5 » 2013-06-12 15:41:16

hiba
Replies: 0

Bonjour,
j'ai installé la version 4 du madkit ,et je veux savoir c'est quoi la différence entre le .4 et la version 5.
Laquelle trouvez vous plus facile et plus interprétable?

#9 Re: Projets MaDKit » Communication entre agents de classes différentes » 2013-05-29 01:44:38

comment peut on créer des attributs pour une classe sous madkit SVP?

#10 Re: Projets MaDKit » Compilation : création d'éxecutable » 2013-05-29 01:41:47

Salut,
Je suis encore débutante en Madkit et je veux savoir comment créer des attributs pour une classe quelconque

Board footer