|
Nested classes/interfaces inherited from class sajas.core.behaviours.Behaviour |
Behaviour.RunnableChangedEvent |
Field Summary | ||
String |
ALL_RESPONSES_KEY key to retrive all the responses received. |
|
String |
ALL_RESULT_NOTIFICATIONS_KEY key to retrive the result notification received. |
|
String |
REQUEST_KEY key to retrive from the datastore the ACLMessage passed in the constructor |
|
String |
REQUEST_SENT_KEY key to retrive from the datastore the ACLMessage that has been sent. |
|
String |
SECOND_REPLY_KEY key to retrive the second reply received. |
Fields inherited from class sajas.core.behaviours.Behaviour |
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING |
Constructor Summary | ||
SimpleAchieveREInitiator(Agent a, jade.lang.acl.ACLMessage msg) Construct for the class by creating a new empty DataStore |
||
SimpleAchieveREInitiator(Agent a, jade.lang.acl.ACLMessage msg, DataStore store) Constructs a SimpleAchieveREInitiator behaviour |
Method Summary | ||
void |
action() Runs the behaviour. |
|
boolean |
done() Check if this behaviour is done. |
|
protected void |
handleAgree(jade.lang.acl.ACLMessage msg) This method is called every time an agree message is received, which is not out-of-sequence according to the protocol rules. |
|
protected void |
handleAllResponses(Vector msgs) This method is called when all the responses have been collected or when the timeout is expired. |
|
protected void |
handleAllResultNotifications(Vector msgs) This method is called when all the result notification messages have been collected. |
|
protected void |
handleFailure(jade.lang.acl.ACLMessage msg) This method is called every time a failure message is received, which is not out-of-sequence according to the protocol rules. |
|
protected void |
handleInform(jade.lang.acl.ACLMessage msg) This method is called every time a inform message is received, which is not out-of-sequence according to the protocol rules. |
|
protected void |
handleNotUnderstood(jade.lang.acl.ACLMessage msg) This method is called every time a not-understood message is received, which is not out-of-sequence according to the protocol rules. |
|
protected void |
handleOutOfSequence(jade.lang.acl.ACLMessage msg) This method is called every time a message is received, which is out-of-sequence according to the protocol rules. |
|
protected void |
handleRefuse(jade.lang.acl.ACLMessage msg) This method is called every time a refuse message is received, which is not out-of-sequence according to the protocol rules. |
|
void |
onStart() This method is just an empty placeholders for subclasses. |
|
protected jade.lang.acl.ACLMessage |
prepareRequest(jade.lang.acl.ACLMessage msg) This method must return the ACLMessage to be sent. |
|
void |
reset() This method resets this behaviour so that it restarts from the initial state of the protocol with a null message. |
|
void |
reset(jade.lang.acl.ACLMessage msg) This method resets this behaviour so that it restarts the protocol with another request message. |
Methods inherited from class sajas.core.behaviours.Behaviour |
actionWrapper, block, block, getAgent, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, handle, handleBlockEvent, handleRestartEvent, isRunnable, onEnd, restart, root, setAgent, setBehaviourName, setDataStore, setExecutionState |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SimpleAchieveREInitiator
behaviourprepareMessage
method returns a single message.Behaviour
subclasses 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.Behaviour
.Behaviour
still need to be
run or it has completed its task. Concrete behaviours must
implement this method to return their completion state. Finished
behaviours are removed from the scheduling queue, while others
are kept within to be run again when their turn comes again.true
if the behaviour has completely executed.agree
message is received, which is not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event.refuse
message is received, which is not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event.not-understood
message is received, which is not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event.inform
message is received, which is not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event.failure
message is received, which is not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event.agree, not-understood,
refuse
received messages, which are not
not out-of-sequence according
to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event
by analysing all the messages in just one call.inform,
failure
received messages, which are not
not out-of-sequence according to the protocol rules.
This default implementation does nothing; programmers might
wish to override the method in case they need to react to this event
by analysing all the messages in just one call.
|