|
Nested classes/interfaces inherited from class sajas.core.behaviours.Behaviour |
Behaviour.RunnableChangedEvent |
Fields inherited from class sajas.core.behaviours.Behaviour |
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING |
Constructor Summary | ||
WakerBehaviour(Agent a, Date wakeupDate) This method constructs the behaviour. |
||
WakerBehaviour(Agent a, long timeout) This method constructs the behaviour. |
Method Summary | ||
void |
action() Runs the behaviour. |
|
boolean |
done() Check if this behaviour is done. |
|
long |
getWakeupTime() | |
protected void |
handleElapsedTimeout() Deprecated. Use onWake() instead |
|
protected void |
onWake() This method is invoked when the deadline defined in the constructor is reached (or when the timeout specified in the constructor expires). |
|
void |
reset() This method must be called to reset the behaviour and starts again |
|
void |
reset(Date wakeupDate) This method must be called to reset the behaviour and starts again |
|
void |
reset(long timeout) This method must be called to reset the behaviour and starts again |
|
void |
stop() Make this WakerBehaviour terminate without calling the onWake() method. |
Methods inherited from class sajas.core.behaviours.Behaviour |
actionWrapper, block, block, getAgent, 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 |
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
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.
|