|
||||||||||
| 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.core.behaviours.TickerBehaviour
This abstract class implements a Behaviour that
periodically executes a user-defined piece of code.
The user is expected to extend this class re-defining the method
onTick() and including the piece of code that
must be periodically executed into it.
| Field Summary |
| Fields inherited from class jade.core.behaviours.Behaviour |
myAgent, parent |
| Constructor Summary | |
TickerBehaviour(Agent a,
long period)
Construct a TickerBehaviour that call its
onTick() method every period ms. |
|
| Method Summary | |
void |
action()
Runs the behaviour. |
boolean |
done()
Check if this behaviour is done. |
int |
getTickCount()
Retrieve how many ticks were done (i.e. |
void |
onStart()
This method is just an empty placeholders for subclasses. |
protected abstract void |
onTick()
Subclasses are expected to define this method specifying the action that must be performed at every tick |
void |
reset()
This method must be called to reset the behaviour and starts again |
void |
reset(long period)
This method must be called to reset the behaviour and starts again |
void |
stop()
This method makes this TickerBehaviour terminate |
| Methods inherited from class jade.core.behaviours.Behaviour |
block, block, getBehaviourName, getDataStore, isRunnable, onEnd, restart, root, setAgent, setBehaviourName, setDataStore |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public TickerBehaviour(Agent a,
long period)
TickerBehaviour that call its
onTick() method every period ms.
a - is the pointer to the agentperiod - the tick period in ms| Method Detail |
public final void onStart()
BehaviourBehaviour.
onStart in class Behaviourpublic 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 BehaviourCompositeBehaviourpublic final boolean done()
BehaviourBehaviour 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.
done in class Behaviourtrue if the behaviour has completely executed.protected abstract void onTick()
true the
TickerBehaviour terminatespublic void reset(long period)
period - the new tick timepublic void reset()
reset in class SimpleBehaviourpublic void stop()
TickerBehaviour terminate
public final int getTickCount()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||