AgentLifeCycle.java ![]() |
package helloworld.ex02; import madkit.kernel.Agent; /** The default life cycle of a threaded agent is composed of three methods which are automatically called sequentially, and each of which being optional: 1. activate(): The first behavior in the life cycle of an agent. It could be considered as a constructor which is called once the agent is launched. The agent cannot use agent primitives before that (e.g. in its constructor). Activate is a good place to initialize the agent's position in the artificial society. (Artificial society is a notion that will be explained later in the tutorials) 2. live(): This behavior is automatically called when the agent exits activate. It usually implements an infinite loop wherein the agent send and receive messages: It corresponds to the life of the agent. Here the agent lives 10 seconds and quits. 3. end() this behavior is automatically called when live exits or when the agent is killed, e.g. by the user when closing the agent's GUI. It is usually used to release resources and log the end of life event. * */ public class AgentLifeCycle extends Agent { @Override protected void activate() { getLogger().info("\tHello World!!\n\n\tI am activating..."); pause(2000); } @Override protected void live() { int nb = 10; while (nb-- > 0) { getLogger().info("Living... I will quit in " + nb + " seconds"); pause(1000); } } @Override protected void end() { getLogger().info("Bye bye !"); pause(2000); } public static void main(String[] args) { executeThisAgent(); } }
AgentLifeCycle.java ![]() |