2017-11-21 5 views
0

Ich mache ein Projekt MAS-Projekt auf Jade. Ich habe 2 Agenten eins zu senden und eins zu erhalten. Wie kann ich Agent 1 eine Nachricht an Agent 2 senden, zum Beispiel "1000", und nur wenn Agent 2 die "1000" empfängt, antwortet Agent 2 mit zum Beispiel "Ausschalten"?Jade Agent Kommunikation: Antwort des Agenten

+0

Das zweite Tag ist JADE nicht Mops. Pug ist eine node.js HTML Template Engine, die früher Jade hieß. – cdaiga

+0

Ich tippte Jade, aber es kam als Mops. – newtojade

+0

Das richtige Tag ist 'Agenten-Jade'. – cdaiga

Antwort

1

Meine Absicht ist, Agent1 mit einem RequestPerformer-Verhalten und Agent2 mit einem CyclicBehaviour zum Abhören von Nachrichten zu erstellen.

agent1 Verhalten Inhalte wie das sein kann:

ACLMessage cfp = new ACLMessage(ACLMessage.CFP); 
cfp.addReceiver(/*agent2AID*/); 

cfp.setContent("1000"); 
cfp.setConversationId(1000); 
cfp.setReplyWith("cfp" + System.currentTimeMillis()); // Unique value 
myAgent.send(cfp); 
mt = MessageTemplate.and(MessageTemplate.MatchConversationId(targetProduct), 
        MessageTemplate.MatchInReplyTo(cfp.getReplyWith())); 

agent2 Verhalten wie das sein kann:

private Klasse CFPServer erstreckt CyclicBehaviour { private static final lange serialVersionUID = 1L;

public void action() { 
    MessageTemplate mt = MessageTemplate.MatchPerformative(ACLMessage.CFP); 
    ACLMessage msg = myAgent.receive(mt); 
    if (msg != null) { 
     // CFP Message received. Process it 
     String title = msg.getContent(); 
     ACLMessage reply = msg.createReply(); 

     // The requested fruit is NOT available for sale. 
     reply.setPerformative(ACLMessage.INFORM); 
     reply.setContent("turn off"); 

     myAgent.send(reply); 

    } else { 
     block(); 
    } 
} 

}

Das damit verbundene Problem ist sehr gut diskutiert und in vielerlei Hinsicht gelöst, können Sie die folgende Implementierung eines einfachen Contract Net überprüfen, wo Sie senden und Antwortfunktionen finden:

Sehen Sie, dass der Agent-Initiator wie agent1 ist und Teilnehmer und Abweiser wie Ihr agent2 sind

Verwandte Themen