|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmadkit.kernel.AbstractAgent
madkit.kernel.Agent
madkit.kernel.Scheduler
turtlekit.kernel.TurtleScheduler
public class TurtleScheduler
The TurtleKit scheduler
Constructor Summary | |
---|---|
TurtleScheduler(java.lang.String group)
|
Method Summary | |
---|---|
void |
activate()
This method is initially called when the micro-kernel registers the agent. |
void |
end()
the end method will remove all the activators which have been used by the scheduler. |
protected void |
executeDiffusion()
|
protected void |
executeDisplay()
|
protected void |
executeEvaporation()
|
protected void |
executeObservers()
|
protected void |
executeTurtles()
|
protected void |
incrementeIteration()
|
void |
live()
This method defines the main behavior of threaded agents. |
void |
scheduleWorld()
This method can be overriden to define a special kind of schedule Default schedule is : public void scheduleWorld()
{
executeTurtles();
executeDiffusion();
executeEvaporation();
executeObservers();
executeDisplay();
incrementeIteration();
} |
Methods inherited from class madkit.kernel.Scheduler |
---|
addActivator, addActivator, getActivators, removeActivator, removeAllActivators |
Methods inherited from class madkit.kernel.Agent |
---|
connectAgencyToAgency, createPlace, createPlace, enableMobility, enableMobility, exitImmediatlyOnKill, getAgencyNamed, joinPlace, joinPlace, joinPlace, pause, receiveMessage, run, waitNextMessage, waitNextMessage |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TurtleScheduler(java.lang.String group)
Method Detail |
---|
public final void activate()
AbstractAgent
Here is a typical example (taken from the PingPong
agent of MadKit (plugin demos)) :
public void activate() { try { createGroup(true,"ping-pong",null,null); println ("No ping-pong group : I created one"); creator=true; } catch (OrganizationRequestException e) { // the group already exists creator=false; println ("A ping-pong group already exists : I will join"); } requestRole("ping-pong","player",null); }
activate
in class AbstractAgent
public final void live()
Agent
live
in class Agent
public void end()
Scheduler
super.end()
first in order to ease the removal of simulated agents which will be killed.
Doing so can greatly improved the "killing time" of simulation engines
end
in class Scheduler
AbstractAgent.end()
protected final void executeTurtles()
protected final void executeDiffusion()
protected final void executeEvaporation()
protected final void executeObservers()
protected final void executeDisplay()
protected final void incrementeIteration()
public void scheduleWorld()
public void scheduleWorld()
{
executeTurtles();
executeDiffusion();
executeEvaporation();
executeObservers();
executeDisplay();
incrementeIteration();
}
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |