MaDKit forum

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

You are not logged in.

#1 Re: HowTo » je n'arrive pas à créer un nouveau projet!!!! » 2010-05-05 20:03:19

Bsr,
La réponse se trouve dans le forum "- Project management - BUILD FAILED Unable to find a javac compiler",
consultez :http://www.madkit.net/forum/viewtopic.php?id=7
bon courage

#2 Re: HowTo » Mécanisme de commuction dans Madkit » 2009-06-02 21:31:34

bonsoir, cette fois ci je pense que j'ai trouvé une réponse à ma question en lisant bien java et essayant d'implémenter mon mécanisme de communication entre les agents.
premièrement  ma solutionne ne marche pas, car manipuler directement la référence (java automatiquement faire passer des copies à cette référence) fait un gros risque si un des agents modifie le message donc tous les autres qui manipulent cette référence du message vont travailler avec la version modifié, donc il faut transférer une copie de msg pour chaque agent qui va recevoir ce message ou bien faire une seul copie immutabe et la transférer à tous les agents désirés.
bon dans madkit il transfère une copie de référence (c'est ce que la méthode clone faire) mais je pense que le problème que je l'ai constaté dans ma solution reste valide avec Madkit????!!!!!!!
exemple : un agent A crée un objet de StringMessage(msq = new StringMessage("hello")), puis envoi ce message à un autre agent B, puis il décide d'envoyer un autre message du même type mais il choisit de ne pas créer un nouvel instance de StringMessage mais utiliser la même instance , donc il modifie juste le contenu (msg.setString("message modifié")). si l'agent B ne retire pas le message avant que l'agent A le modifié donc l'agent B va lire "message modifié"  et pas "hello".
bon moi j'ai pas essayer de tester ça en Madkit (si quelqu'un le fait ou bien il a déjà fait il me contacte).
merci à tous
et à la prochaine

#3 Re: HowTo » Mécanisme de commuction dans Madkit » 2009-05-15 23:08:52

merci ferber de m'avoir répondu.
bon je voulais dire quand j'ai lu le code source du sendMessage :
public void sendMessage(AgentAddress a, Message m)
{
    if(a != null)
    {
        m.setReceiver(a);
        m.setSender(getAddress());
        currentKernel.sendMessage(m);
    }
}
le kernel intercepte le message, ensuite ce dernier fais appelle à sendLocalMessage((Message)m.clone()); si le message est local, ensuite cette dernière méthode appelle a.receiveMessage(m); enfin receiveMessage faire ajouter le message à la boite au lettre du recepteur.
ma question était pourquoi dans la méthode sendLoclMessage on fait "(Message)m.clone()" (on copie une référence du message) au lieu de faire passer directement le message . i.e faire directement sendLocalmessage((Message)m) ; Qui peut me dire l'inconvénient de ma proposition?
merci

#4 HowTo » Mécanisme de commuction dans Madkit » 2009-05-06 15:03:58

aroussi_sanaa
Replies: 3

bonjour, je suis entrain d'implémenter mon plateforme multi-agent (c'est mon PFE : Projet Final d'Etude). Pour établir la communication entre les agents j'ai choisi le mode direct asynchrone. Essentiel, en essayant de comprendre comment Madkit implémente son mécanisme de communication, j'ai trouvé un peu de difficulté :

- Premièrement :  "Le passage de message au plus bas niveau revient à de simples échanges de copies références" et c'est ce que j'ai adopté dans ma plateforme mais ma solutions est d'échanger directement la référence et pas une copie? Est ce  quelqu'un peut me dire l'inconvénient de ma solution? et pourquoi madkit échange des copies de références et non pas la référence elle même????? 

- Deuxièment , je sais que les agents du même groupe parle le même langage,  Mais comment faire cette vérification (les deux agents utilisent le même langage de communication)? en effet dans le prototype de ma plateforme j'ai pas utilisé un modèle organisationnel donc j'ai un problème comment vérifier que les agents se comprennent????!!!!

- troisièment en voyant un exemple de fonctionnement du Madkit (dans le RAPPORT DE STAGE du AMBLARD Frédéric) j'ai trouver la méthode HandleMessage qui traite le message reçu. Ma question est la suivante : cette méthode n'a pas été hérité de la classe Agent comme activate ou live? c'est une méthode que l'utilisateur doit définir?

merci

#6 HowTo » je n'arrive pas à créer un nouveau projet!!!! » 2009-04-19 18:11:30

aroussi_sanaa
Replies: 2

salut, bon c la première fois que j'utilise Madkit et je n'arrive pas à créer un nouveau plugins (projet). il m'affiche dans la fenêtre output :
BUILD FAILED
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK

comment faire pour résoudre ce pb?!!!!!!!!!!!!!!!!!!!!!!!!!!
merci

Board footer