package Agents; import Agents.Behaviour.CompositeBehaviour; import java.io.Serializable; /** * Abstract class which must be extended by all agents * The class defines that an agent is unique and has a behaviour * associated with it. * @author bubby */ abstract public class Agent extends Thread implements Serializable { /** A unique identifier for each individual agent.*/ String AID; /** * The flag to indicate if the final objective for the agent is complete. */ public boolean objectiveFlag; /** The status of the agent for this particular run. */ public boolean statusFlag; /** The behaviour for this agent which is a composition of different * behaviours. */ public CompositeBehaviour behaviour = null; /** * returns an agent's unique identifier. * @return returns the agent id. */ public String getAID() { return AID; } // TODO Shift Agent attributes variable here }