001 package aima.search.map; 002 003 /** 004 * The AIMA framework uses dynamic attributes to make implementations of agents 005 * and environments completely independent of each other. The disadvantage of 006 * this concept is, that it's error-prone. This set of constants is designed to 007 * make information exchange more reliable for map agents. Two kinds of 008 * attributes are distinguished. Percept attributes are attached to percepts. 009 * They are generated by the environment and read by by the agent. Agent 010 * attributes are attached to agents. They are also in general generated 011 * by the environment but the agents are not allowed to read them. 012 * 013 * @author R. Lunde 014 */ 015 public class DynAttributeNames { 016 /** 017 * Name of a dynamic attribute, which contains the current location of the 018 * agent. Expected value type: String. 019 */ 020 public static final String AGENT_LOCATION = "location"; 021 /** 022 * Name of a dynamic attribute, which maintains the total traveling distance 023 * of the agent since birth. Expected value type: Integer. 024 */ 025 public static final String AGENT_TRAVEL_DISTANCE = "travelDistance"; 026 /** 027 * Name of a dynamic attribute, which indicates the current status of the 028 * agent, such as traveling, completed or aborted. Expected value type: 029 * String. 030 */ 031 public static final String AGENT_STATUS = "status"; 032 033 /** 034 * Name of a dynamic attribute, which tells the agent where it is. Expected 035 * value type: String. 036 */ 037 public static final String PERCEPT_IN = "In"; 038 /** 039 * Name of a dynamic attribute, which tells the agent which actions are 040 * possible at the current location of the agent. Expected value type: List 041 * of alternating Strings and Integers. 042 */ 043 public static final String PERCEPT_POSSIBLE_ACTIONS = "PossibleActions"; 044 /** 045 * Name of a dynamic attribute. It provides access to informations which are 046 * available at the current location of the agent. 047 */ 048 public static final String PERCEPT_INFOS = "Infos"; 049 /** 050 * Name of a dynamic attribute. It provides access to objects, which are 051 * visible at the current location of the agent. 052 */ 053 public static final String PERCEPT_OBJECTS = "Objects"; 054 }