public void step() {
foreach (IAgent agent in agents) {
if (agent.isAlive()) {
Action anAction = agent.execute(getPerceptSeenBy(agent));
EnvironmentState es = executeAction(agent, anAction);
updateEnvironmentViewsAgentActed(agent, anAction, es);
}
}
createExogenousChange();
}