de.uka.ipd.sdq.scheduler
Interface ISchedulableProcess

All Known Implementing Classes:
ClosedWorkloadUser, ForkedBehaviourProcess, OpenWorkload, OpenWorkloadUser, SimProcess, SimulatedPassiveResource

public interface ISchedulableProcess

Process that can be scheduled for execution on an active resource or can acquire and release passive resources.

Author:
jens

Method Summary
 void activate()
          Notifies the process to resume its execution.
 void addTerminatedObserver(IActiveResource o)
           
 void fireTerminated()
           
 String getId()
          Unique identifier of the process.
 ISchedulableProcess getRootProcess()
          Returns the root process that spawned this processes (directly or indirectly).
 boolean isFinished()
          Return whether this process is finished
 void passivate()
          Notifies the process to suspend its execution.
 void removeTerminatedObserver(IActiveResource o)
           
 

Method Detail

activate

void activate()
Notifies the process to resume its execution. Is only called if the process has been passivated before.


passivate

void passivate()
Notifies the process to suspend its execution.


getId

String getId()
Unique identifier of the process.

Returns:
A unique ID identifying this process

getRootProcess

ISchedulableProcess getRootProcess()
Returns the root process that spawned this processes (directly or indirectly). The root process is used to create this process' scheduling meta-data. The root process has to point to itself.

Returns:
ISchedulableProcess which is the root process

isFinished

boolean isFinished()
Return whether this process is finished

Returns:
true if the process has finished its execution

fireTerminated

void fireTerminated()

addTerminatedObserver

void addTerminatedObserver(IActiveResource o)

removeTerminatedObserver

void removeTerminatedObserver(IActiveResource o)