org.micropsi.comp.agent.aaa
Interface AgentWorldAdapterIF

All Known Implementing Classes:
BraitenbergWorldAdapter, IslandWorldAdapter, OmnidriveWorldAdapter

public interface AgentWorldAdapterIF

An AgentWorldAdapter describes the interface between one specific type of agent (eg "micropsi") and one specific type of world implementation (eg "island world"). You can add any number of world adapters to an agent as long their sets of percept and action names are disjunct. WorldAdapters are a flexible way to make some type of agent work within different environments. Embedding agents in environments requires the definition of things that can be received from the environment (percepts) and the definition of things that can be done to the environment (actions). WorldAdapters are also the means of choice when using some type of agent within other contexts than simulated environments. Possible "real" environments could be the WWW, a text document or, of course, a real robot's environment. Depending on the architecture of your agent, you will probably also have to do some adaption within the agent itself to make it use the actions and percepts you define in the WorldAdapter. The same holds true for the world - the WorldAdapter doesn't do any sophisticated magic. A WorldAdapter is simply the place where you translate the "language" of the world into that of the agent. So there will need to be an adapter for each pair of world/agent types.


Method Summary
 ActionTranslatorIF[] createActionTranslators()
          Creates (or returns) the action translator objects of this adapter.
 AgentControllerIF createController()
          Creates (or simply returns) the agent controller object.
 PerceptTranslatorIF[] createPerceptTranslators()
          Creates (or returns) the percept translator objects of this adapter.
 UrgeCreatorIF[] createUrgeCreators()
          Creates (or returns) the urge creators of this adapter.
 void initialize(AgentIF agent, Logger logger)
          Initializes the adapter and provides some basic things the other methods will probably need.
 

Method Detail

initialize

public void initialize(AgentIF agent,
                       Logger logger)
                throws MicropsiException
Initializes the adapter and provides some basic things the other methods will probably need. The agent object itself - cast it to your agent's implementation of the interface and the agent's logger.

This method is called once, directly after instantiating the WorldAdapter and before the create-methods are called.

Parameters:
agent - the agent
logger - the agent's logger
Throws:
MicropsiException - if the world adapter can't be initialized for some reason

createController

public AgentControllerIF createController()
Creates (or simply returns) the agent controller object.

This method is called once, directly after the initialize method was called.

Returns:
the AgentController object of the adapter

createActionTranslators

public ActionTranslatorIF[] createActionTranslators()
Creates (or returns) the action translator objects of this adapter.

This method is called once, directly after the createController method.

Returns:
the action translators of the world adapter.

createPerceptTranslators

public PerceptTranslatorIF[] createPerceptTranslators()
Creates (or returns) the percept translator objects of this adapter.

This method is called once, directly after the createTranslators method.

Returns:
the percept translators of the world adapter.

createUrgeCreators

public UrgeCreatorIF[] createUrgeCreators()
Creates (or returns) the urge creators of this adapter.

Returns:
the urge creator

(c) by Micropsi Project: http://www.cognitive-agents.org

.