Package jadex.simulation.impl
Class MasterSimulationFeature
java.lang.Object
jadex.execution.impl.ExecutionFeature
jadex.simulation.impl.MasterSimulationFeature
- All Implemented Interfaces:
jadex.execution.IExecutionFeature,jadex.execution.impl.IInternalExecutionFeature,ISimulationFeature
public class MasterSimulationFeature
extends jadex.execution.impl.ExecutionFeature
implements ISimulationFeature
The master simulation feature does the actual work
and holds the step queue and timer entries for all
components of a simulation.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class jadex.execution.impl.ExecutionFeature
jadex.execution.impl.ExecutionFeature.ComponentSuspendable, jadex.execution.impl.ExecutionFeature.ThreadRunner -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intCount busy components when in parallel mode.protected longprotected booleanFlag indicating that the simulation is active.protected jadex.future.Future<Void>Inform stop() callers when simulation stops (if any).protected Queue<MasterSimulationFeature.TimerEntry>Fields inherited from class jadex.execution.impl.ExecutionFeature
do_switch, endfuture, endstep, entries, executing, listeners, LOCAL, runner, self, steps, terminated, threads -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidlonggetTime()protected voididle()voidscheduleStep(jadex.execution.impl.ExecutionFeature exe, Runnable r) voidsetTime(long millis) Set the current time.voidstart()Start the simulation.jadex.future.IFuture<Void>stop()Stop the simulation.jadex.future.ITerminableFuture<Void>waitForDelay(long millis) Methods inherited from class jadex.execution.impl.ExecutionFeature
addStepListener, afterBlock, afterStep, beforeBlock, beforeStep, busy, doRun, executeEndStep, getComponent, isComponentThread, removeStepListener, restart, saveEndStep, scheduleStep, scheduleStep, scheduleStep, scheduleStep, terminateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jadex.execution.IExecutionFeature
getComponent, isComponentThread, scheduleStep, scheduleStep, scheduleStep, scheduleStep
-
Field Details
-
simulating
protected boolean simulatingFlag indicating that the simulation is active. -
stopping
Inform stop() callers when simulation stops (if any). -
timer_entries
-
current_time
protected long current_time -
busy
protected volatile int busyCount busy components when in parallel mode.
-
-
Constructor Details
-
MasterSimulationFeature
public MasterSimulationFeature()
-
-
Method Details
-
scheduleStep
-
waitForDelay
- Specified by:
waitForDelayin interfacejadex.execution.IExecutionFeature- Overrides:
waitForDelayin classjadex.execution.impl.ExecutionFeature
-
getTime
public long getTime()- Specified by:
getTimein interfacejadex.execution.IExecutionFeature- Overrides:
getTimein classjadex.execution.impl.ExecutionFeature
-
setTime
public void setTime(long millis) Description copied from interface:ISimulationFeatureSet the current time. Time entries older than the given time will be executed when the simulation is running, but receive the new current time inIExecutionFeature.getTime()- Specified by:
setTimein interfaceISimulationFeature- Parameters:
millis- The time in milliseconds.
-
start
public void start()Description copied from interface:ISimulationFeatureStart the simulation. Used to resume a simulation after it was stopped.- Specified by:
startin interfaceISimulationFeature
-
stop
Description copied from interface:ISimulationFeatureStop the simulation. Stops scheduling of due time entries, i.e., the time will no longer advance. Note, that components will continue to execute as long as they have activities for the current time.- Specified by:
stopin interfaceISimulationFeature- Returns:
- A future to indicate that simulation has stopped, i.e., all components have finished their activities.
-
idle
protected void idle()- Overrides:
idlein classjadex.execution.impl.ExecutionFeature
-
componentBusy
protected void componentBusy() -
componentIdle
protected void componentIdle()
-