Package jason.environment
Class TimeSteppedEnvironment
java.lang.Object
jason.environment.Environment
jason.environment.TimeSteppedEnvironment
General environment class that "synchronise" all agents actions.
It waits one action for each agent and, when all actions is received,
executes them.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumPolicy used when a second action is requested and the agent still has another action pending execution -
Field Summary
Fields inherited from class jason.environment.Environment
executor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetActionInSchedule(String agName) intgetNbAgs()Returns the number of agents in the MAS (used to test the end of a cycle)getPercepts(String agName) stops perception while executing the step's actionsintgetStep()returns the current step countervoidResets step counter and scheduled action requests to neutral state, optionally sets a timeout for waiting on agent actions in a step.protected intrequiredStepsForAction(String agName, Structure action) voidscheduleAction(String agName, Structure action, Object infraData) Called by the agent infrastructure to schedule an action to be executed on the environmentvoidsetNbAgs(int n) Set the number of agentsvoidSets the policy used for the second ask for an action while another action is not finished yet.voidsetSleep(int s) defines the time for a pause between cyclesvoidsetTimeout(int to) protected voidstepFinished(int step, long elapsedTime, boolean byTimeout) to be overridden by the user classprotected voidstepStarted(int step) to be overridden by the user classvoidstop()Called just before the end of MAS execution, the user environment could override it.protected booleantestEndCycle(Set<String> finishedAgs) Returns true when a new cycle can start, it normally holds when all agents are in the finishedAgs set.protected voidThis method is called after the execution of the action and before to send 'continue' to the agentsprotected voidUpdates the number of agents using the environment, this default implementation, considers all agents in the MAS as actors in the environment.Methods inherited from class jason.environment.Environment
addPercept, addPercept, clearAllPercepts, clearPercepts, clearPercepts, consultPercepts, containsPercept, containsPercept, executeAction, getEnvironmentInfraTier, getLogger, informAgsEnvironmentChanged, informAgsEnvironmentChanged, isRunning, removePercept, removePercept, removePerceptsByUnif, removePerceptsByUnif, setEnvironmentInfraTier
-
Constructor Details
-
TimeSteppedEnvironment
public TimeSteppedEnvironment()
-
-
Method Details
-
init
Resets step counter and scheduled action requests to neutral state, optionally sets a timeout for waiting on agent actions in a step.- Overrides:
initin classEnvironment- Parameters:
args- either empty, or contains timeout in milliseconds at pos 0
-
setSleep
public void setSleep(int s) defines the time for a pause between cycles -
setTimeout
public void setTimeout(int to) -
stop
public void stop()Description copied from class:EnvironmentCalled just before the end of MAS execution, the user environment could override it.- Overrides:
stopin classEnvironment
-
updateNumberOfAgents
protected void updateNumberOfAgents()Updates the number of agents using the environment, this default implementation, considers all agents in the MAS as actors in the environment. -
getNbAgs
public int getNbAgs()Returns the number of agents in the MAS (used to test the end of a cycle) -
setNbAgs
public void setNbAgs(int n) Set the number of agents -
getStep
public int getStep()returns the current step counter -
setOverActionsPolicy
Sets the policy used for the second ask for an action while another action is not finished yet. If set as queue, the second action is added in a queue for future execution If set as failSecond, the second action fails. -
scheduleAction
Description copied from class:EnvironmentCalled by the agent infrastructure to schedule an action to be executed on the environment- Overrides:
scheduleActionin classEnvironment
-
getActionInSchedule
-
testEndCycle
Returns true when a new cycle can start, it normally holds when all agents are in the finishedAgs set.- Parameters:
finishedAgs- the set of agents' name that already finished the current cycle
-
updateAgsPercept
protected void updateAgsPercept()This method is called after the execution of the action and before to send 'continue' to the agents -
stepStarted
protected void stepStarted(int step) to be overridden by the user class -
stepFinished
protected void stepFinished(int step, long elapsedTime, boolean byTimeout) to be overridden by the user class -
requiredStepsForAction
-
getPercepts
stops perception while executing the step's actions- Overrides:
getPerceptsin classEnvironment
-