|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--jade.core.behaviours.Behaviour | +--jade.core.behaviours.SimpleBehaviour | +--jade.proto.SimpleAchieveREResponder
This is a single homogeneous and effective implementation of
all the FIPA-Request-like interaction protocols defined by FIPA,
that is all those protocols where the initiator sends a single message
(i.e. it performs a single communicative act) within the scope
of an interaction protocol in order to verify if the RE (Rational
Effect) of the communicative act has been achieved or not.
Note that this is a simple implementation of the AchieveREResponder
.
that does not allow to register Behaviour for the Prepare Response
and Prepare Result Notification states of the protocol
SimpleAchieveREInitiator
,
AchieveREInitiator
,
AchieveREResponder
,
Serialized FormField Summary | |
java.lang.String |
REQUEST_KEY
|
java.lang.String |
RESPONSE_KEY
|
java.lang.String |
RESULT_NOTIFICATION_KEY
|
Fields inherited from class jade.core.behaviours.Behaviour |
myAgent |
Fields inherited from interface jade.domain.FIPANames.InteractionProtocol |
FIPA_BROKERING, FIPA_CONTRACT_NET, FIPA_DUTCH_AUCTION, FIPA_ENGLISH_AUCTION, FIPA_ITERATED_CONTRACT_NET, FIPA_PROPOSE, FIPA_QUERY, FIPA_RECRUITING, FIPA_REQUEST, FIPA_REQUEST_WHEN, FIPA_SUBSCRIBE, ITERATED_FIPA_REQUEST |
Constructor Summary | |
SimpleAchieveREResponder(Agent a,
MessageTemplate mt)
Constructor of the behaviour that creates a new empty DataStore |
|
SimpleAchieveREResponder(Agent a,
MessageTemplate mt,
DataStore store)
Constructor. |
Method Summary | |
static MessageTemplate |
createMessageTemplate(java.lang.String iprotocol)
This static method can be used to set the proper message Template (based on the interaction protocol and the performative) into the constructor of this behaviour. |
boolean |
done()
This method checks whether this behaviour has finished or not. |
protected ACLMessage |
prepareResponse(ACLMessage request)
This method is called when the initiator's message is received that matches the message template passed in the constructor. |
protected ACLMessage |
prepareResultNotification(ACLMessage request,
ACLMessage response)
This method is called after the response has been sent and only when one of the folliwing two cases arise: the response was an agree message OR no response
message was sent.
|
void |
reset()
Reset this behaviour using the same MessageTemplate. |
void |
reset(MessageTemplate mt)
This method allows to change the MessageTemplate
that defines what messages this FIPARequestResponder will react to and reset the protocol. |
Methods inherited from class jade.core.behaviours.Behaviour |
action, block, block, getBehaviourName, getDataStore, getParent, isRunnable, onEnd, onStart, restart, root, setAgent, setBehaviourName, setDataStore |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public final java.lang.String REQUEST_KEY
AchieveREResponder.REQUEST_KEY
public final java.lang.String RESPONSE_KEY
AchieveREResponder.RESPONSE_KEY
public final java.lang.String RESULT_NOTIFICATION_KEY
AchieveREResponder.RESULT_NOTIFICATION_KEY
Constructor Detail |
public SimpleAchieveREResponder(Agent a, MessageTemplate mt)
public SimpleAchieveREResponder(Agent a, MessageTemplate mt, DataStore store)
a
- is the reference to the Agent objectmt
- is the MessageTemplate that must be used to match
the initiator message. Take care that
if mt is null every message is consumed by this protocol.store
- the DataStore for this protocolMethod Detail |
public static MessageTemplate createMessageTemplate(java.lang.String iprotocol)
FIPANames.InteractionProtocol
protected ACLMessage prepareResponse(ACLMessage request) throws NotUnderstoodException, RefuseException
request
- the received message
agree, refuse, not-understood, inform
. Remind to
use the method createReply of the class ACLMessage in order
to create a good reply message
NotUnderstoodException
RefuseException
ACLMessage.createReply()
protected ACLMessage prepareResultNotification(ACLMessage request, ACLMessage response) throws FailureException
agree
message OR no response
message was sent.
This default implementation return null which has
the effect of sending no result notification. Programmers should
override the method in case they need to react to this event.
request
- the received messageresponse
- the previously sent response message
inform, failure
. Remind to
use the method createReply of the class ACLMessage in order
to create a good reply message
FailureException
ACLMessage.createReply()
,
prepareResponse(ACLMessage)
public void reset()
reset
in class SimpleBehaviour
public void reset(MessageTemplate mt)
MessageTemplate
that defines what messages this FIPARequestResponder will react to and reset the protocol.
public boolean done()
done
in class Behaviour
true
if this behaviour has completed its
task, false
otherwise.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |