|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjade.core.behaviours.Behaviour
jade.core.behaviours.SimpleBehaviour
jade.proto.SimpleAchieveREResponder
public class 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 Form| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class jade.core.behaviours.Behaviour |
|---|
Behaviour.RunnableChangedEvent |
| Field 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, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING |
| 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 | |
|---|---|
void |
action()
Runs the behaviour. |
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 |
|---|
actionWrapper, block, block, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, handle, handleBlockEvent, handleRestartEvent, isRunnable, onEnd, onStart, restart, root, setAgent, setBehaviourName, setDataStore, setExecutionState |
| 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_KEYpublic final java.lang.String RESPONSE_KEY
AchieveREResponder.RESPONSE_KEYpublic 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 protocol| Method Detail |
|---|
public static MessageTemplate createMessageTemplate(java.lang.String iprotocol)
FIPANames.InteractionProtocolpublic final void action()
BehaviourBehavioursubclasses to perform ordinary behaviour
duty. An agent schedules its behaviours calling their
action() method; since all the behaviours belonging
to the same agent are scheduled cooperatively, this method
must not enter in an endless loop and should return as
soon as possible to preserve agent responsiveness. To split a
long and slow task into smaller section, recursive behaviour
aggregation may be used.
action in class BehaviourCompositeBehaviour
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
RefuseExceptionACLMessage.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
FailureExceptionACLMessage.createReply(),
prepareResponse(ACLMessage)public void reset()
reset in class SimpleBehaviourpublic void reset(MessageTemplate mt)
MessageTemplate
that defines what messages this FIPARequestResponder will react to and reset the protocol.
public boolean done()
done in class Behaviourtrue 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 | |||||||||