Class SimulatedProcess
- java.lang.Object
-
- de.uka.ipd.sdq.simulation.abstractsimengine.processes.SimulatedProcess
-
- All Implemented Interfaces:
IEntity
,ISimProcess
- Direct Known Subclasses:
DesmoJSimProcess
,SSJSimProcess
public abstract class SimulatedProcess extends Object implements ISimProcess
-
-
Field Summary
Fields Modifier and Type Field Description protected List<ISimProcessListener>
listeners
A list of process listeners getting notifications on resume and suspendstatic org.apache.log4j.Logger
LOGGER
ProcessState
myProcessState
Current state of this processISimProcessStrategy
processStrategy
Strategy used to suspend threads if requested
-
Constructor Summary
Constructors Constructor Description SimulatedProcess(ISimProcessStrategy processStrategy)
Default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
actions()
void
addProcessListener(ISimProcessListener l)
protected abstract AbstractSimProcessDelegator
getAbstractProcess()
boolean
isTerminated()
Returns whether this process has finished its execution.protected void
notifyListeners(ISimProcess process, ProcessState oldState, ProcessState newState)
Notifies registered listeners that the given process is about to be suspended or resumed again.void
passivate()
Passivates this process.void
preempt()
void
removeProcessListener(ISimProcessListener l)
protected void
resume()
void
startProcess(ISimProcessStrategy processStrategy)
void
suspend()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
isScheduled, reschedule
-
Methods inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.ISimProcess
passivate, scheduleAt
-
-
-
-
Field Detail
-
LOGGER
public static final org.apache.log4j.Logger LOGGER
-
myProcessState
public ProcessState myProcessState
Current state of this process
-
listeners
protected final List<ISimProcessListener> listeners
A list of process listeners getting notifications on resume and suspend
-
processStrategy
public final ISimProcessStrategy processStrategy
Strategy used to suspend threads if requested
-
-
Constructor Detail
-
SimulatedProcess
public SimulatedProcess(ISimProcessStrategy processStrategy)
Default constructor.- Parameters:
processStrategy
-
-
-
Method Detail
-
startProcess
public void startProcess(ISimProcessStrategy processStrategy)
-
actions
public void actions()
-
isTerminated
public boolean isTerminated()
Description copied from interface:ISimProcess
Returns whether this process has finished its execution.- Specified by:
isTerminated
in interfaceISimProcess
-
passivate
public void passivate()
Description copied from interface:ISimProcess
Passivates this process. This will suspend the simulation of the process until it is resumed again using thescheduleAt
method.- Specified by:
passivate
in interfaceISimProcess
-
getAbstractProcess
protected abstract AbstractSimProcessDelegator getAbstractProcess()
-
suspend
public void suspend()
-
resume
protected void resume()
-
addProcessListener
public void addProcessListener(ISimProcessListener l)
- Specified by:
addProcessListener
in interfaceISimProcess
-
removeProcessListener
public void removeProcessListener(ISimProcessListener l)
- Specified by:
removeProcessListener
in interfaceISimProcess
-
notifyListeners
protected void notifyListeners(ISimProcess process, ProcessState oldState, ProcessState newState)
Notifies registered listeners that the given process is about to be suspended or resumed again.- Parameters:
process
- the process which is being resumed or suspendedisSuspending
- true, if the process is about to be suspended; false, if the process is about to be resumed
-
preempt
public void preempt()
- Specified by:
preempt
in interfaceISimProcess
-
-