turtlekit.kernel
Class TurtleScheduler

java.lang.Object
  extended by madkit.kernel.AbstractAgent
      extended by madkit.kernel.Agent
          extended by madkit.kernel.Scheduler
              extended by turtlekit.kernel.TurtleScheduler
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

public class TurtleScheduler
extends Scheduler

The TurtleKit scheduler

Version:
2.1 10/04/2004
Author:
Fabien MICHEL
See Also:
Serialized Form

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 madkit.kernel.AbstractAgent
broadcastMessage, broadcastMessage, connectedWithCommunity, createGroup, createGroup, debug, destroyGroup, disposeMyGUI, foundGroup, getAddress, getAgentsWithRole, getAgentsWithRole, getAgentWithRole, getAgentWithRole, getAvailableCommunities, getBean, getController, getCurrentKernelAddress, getDebug, getExistingGroups, getExistingGroups, getExistingRoles, getExistingRoles, getGroups, getGUIObject, getMessageBoxSize, getMyGroups, getMyGroups, getMyRoles, getMyRoles, getName, getRoles, hasGUI, hashCode, hideMyGUI, initGUI, isBelongingToGroup, isBelongingToGroup, isCommunity, isGroup, isGroup, isMemberOf, isMemberOf, isMessageBoxEmpty, isRole, isRole, joinGroup, killAgent, launchAgent, launchAgent, leaveGroup, leaveGroup, leaveRole, leaveRole, nextMessage, print, println, redisplayMyGUI, requestRole, requestRole, requestRole, restoreAgent, sendMessage, sendMessage, sendMessage, setBean, setController, setDebug, setGUIObject, setName, setOutput, setOutputWriter, toString, windowClosing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TurtleScheduler

public TurtleScheduler(java.lang.String group)
Method Detail

activate

public final void activate()
Description copied from class: AbstractAgent
This method is initially called when the micro-kernel registers the agent. Usually a good place to set up some initial groups and roles.

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);
}
 

Overrides:
activate in class AbstractAgent

live

public final void live()
Description copied from class: Agent
This method defines the main behavior of threaded agents.

Overrides:
live in class Agent

end

public void end()
Description copied from class: Scheduler
the end method will remove all the activators which have been used by the scheduler. Overriding this method, one should use 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

Overrides:
end in class Scheduler
See Also:
AbstractAgent.end()

executeTurtles

protected final void executeTurtles()

executeDiffusion

protected final void executeDiffusion()

executeEvaporation

protected final void executeEvaporation()

executeObservers

protected final void executeObservers()

executeDisplay

protected final void executeDisplay()

incrementeIteration

protected final void incrementeIteration()

scheduleWorld

public 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(); }



Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.