public abstract class AbstractEnvironment extends java.lang.Object implements Environment, EnvironmentViewNotifier
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<Agent> |
agents |
protected java.util.Set<EnvironmentObject> |
envObjects |
protected java.util.Map<Agent,java.lang.Double> |
performanceMeasures |
protected java.util.Set<EnvironmentView> |
views |
Constructor and Description |
---|
AbstractEnvironment() |
Modifier and Type | Method and Description |
---|---|
void |
addAgent(Agent a)
Add an agent to the Environment.
|
void |
addEnvironmentObject(EnvironmentObject eo)
Add an EnvironmentObject to the Environment.
|
void |
addEnvironmentView(EnvironmentView ev)
Add a view on the Environment.
|
void |
createExogenousChange()
Method for implementing dynamic environments in which not all changes are
directly caused by agent action execution.
|
abstract void |
executeAction(Agent agent,
Action action) |
java.util.List<Agent> |
getAgents()
Returns the Agents belonging to this Environment.
|
java.util.List<EnvironmentObject> |
getEnvironmentObjects()
Returns the EnvironmentObjects that exist in this Environment.
|
abstract Percept |
getPerceptSeenBy(Agent anAgent) |
double |
getPerformanceMeasure(Agent forAgent)
Retrieve the performance measure associated with an Agent.
|
boolean |
isDone()
Returns
true if the Environment is finished with its current
task(s). |
protected void |
notifyEnvironmentViews(Agent agent) |
protected void |
notifyEnvironmentViews(Agent agent,
Action action) |
void |
notifyViews(java.lang.String msg)
Notify all registered EnvironmentViews of a message.
|
void |
removeAgent(Agent a)
Remove an agent from the environment.
|
void |
removeEnvironmentObject(EnvironmentObject eo)
Remove an EnvironmentObject from the Environment.
|
void |
removeEnvironmentView(EnvironmentView ev)
Remove a view on the Environment.
|
void |
step()
Central template method for controlling agent simulation.
|
void |
step(int n)
Move the Environment n time steps forward.
|
void |
stepUntilDone()
Step through time steps until the Environment has no more tasks.
|
protected void |
updatePerformanceMeasure(Agent forAgent,
double addTo) |
protected java.util.Set<EnvironmentObject> envObjects
protected java.util.Set<Agent> agents
protected java.util.Set<EnvironmentView> views
protected java.util.Map<Agent,java.lang.Double> performanceMeasures
public void createExogenousChange()
public java.util.List<Agent> getAgents()
Environment
getAgents
in interface Environment
public void addAgent(Agent a)
Environment
addAgent
in interface Environment
a
- the agent to be added.public void removeAgent(Agent a)
Environment
removeAgent
in interface Environment
a
- the agent to be removed.public java.util.List<EnvironmentObject> getEnvironmentObjects()
Environment
getEnvironmentObjects
in interface Environment
public void addEnvironmentObject(EnvironmentObject eo)
Environment
addEnvironmentObject
in interface Environment
eo
- the EnvironmentObject to be added.public void removeEnvironmentObject(EnvironmentObject eo)
Environment
removeEnvironmentObject
in interface Environment
eo
- the EnvironmentObject to be removed.public void step()
getPerceptSeenBy(Agent)
, executeAction(Agent, Action)
,
and createExogenousChange()
.step
in interface Environment
public void step(int n)
Environment
step
in interface Environment
n
- the number of time steps to move the Environment forward.public void stepUntilDone()
Environment
stepUntilDone
in interface Environment
public boolean isDone()
Environment
true
if the Environment is finished with its current
task(s).isDone
in interface Environment
true
if the Environment is finished with its current
task(s).public double getPerformanceMeasure(Agent forAgent)
Environment
getPerformanceMeasure
in interface Environment
forAgent
- the Agent for which a performance measure is to be retrieved.public void addEnvironmentView(EnvironmentView ev)
Environment
addEnvironmentView
in interface Environment
ev
- the EnvironmentView to be added.public void removeEnvironmentView(EnvironmentView ev)
Environment
removeEnvironmentView
in interface Environment
ev
- the EnvironmentView to be removed.public void notifyViews(java.lang.String msg)
Environment
notifyViews
in interface Environment
notifyViews
in interface EnvironmentViewNotifier
msg
- the message to notify the registered EnvironmentViews with.protected void updatePerformanceMeasure(Agent forAgent, double addTo)
protected void notifyEnvironmentViews(Agent agent)