View Javadoc

1   package cz.cuni.amis.pogamut.base.agent;
2   
3   import javax.management.MXBean;
4   
5   import cz.cuni.amis.pogamut.base.communication.command.IAct;
6   import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
7   
8   /**
9    * Interface of the agent that may observe the world and can even act inside it
10   * but does not have the body (notice that in case that the world contains agents-ghosts, that are
11   * "physically" being somewhere, they would be {@link IEmbodiedAgent} not this {@link IGhostAgent}).
12   * <p><p>
13   * This would typically be "world's simulator controller".
14   * 
15   * @author ik
16   */
17  @MXBean
18  @AgentScoped
19  public interface IGhostAgent extends IObservingAgent {
20  
21      /**
22       * Returns an object through which we may communicate with the world. Represents
23       * the agent effectors providing a low-level act() method. You have to instantiate
24       * CommandObject for yourself.
25       * @return
26       */
27      public IAct getAct();
28  }