C# Class ExternalDelayingExplorer.RandomDelayingScheduler

Inheritance: Microsoft.Zing.ZingerDelayingScheduler
Mostra file Open project: ZingModelChecker/Zing

Public Methods

Method Description
Delay ( ZingerSchedulerState zSchedState ) : void

The Delay operation drops the last scheduled process such that it is never scheduled again for that state.

Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void

This function is called by Zinger whenever a process has finished execution (terminated).

MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool
Next ( ZingerSchedulerState zSchedState ) : int

Randomly return a process from the set of processes SetOfProcesses not yet delayed.

OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void

This function is called when a process is blocked on dequeue. There are no more events to be serviced and the queue is empty.

OnEnabled ( ZingerSchedulerState ZSchedulerState, int targetSM, int sourceSM ) : void

This function is called on a enqueue operation. A process is enabled if it has messages in its queue to be serviced

Start ( ZingerSchedulerState ZSchedulerState, int processId ) : void

This function is called by Zinger whenever a new process is created.

ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void

Method Details

Delay() public method

The Delay operation drops the last scheduled process such that it is never scheduled again for that state.
public Delay ( ZingerSchedulerState zSchedState ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
return void

Finish() public method

This function is called by Zinger whenever a process has finished execution (terminated).
public Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
processId int process Id of the completed process
return void

MaxDelayReached() public method

public MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool
zSchedState Microsoft.Zing.ZingerSchedulerState
return bool

Next() public method

Randomly return a process from the set of processes SetOfProcesses not yet delayed.
public Next ( ZingerSchedulerState zSchedState ) : int
zSchedState Microsoft.Zing.ZingerSchedulerState
return int

OnBlocked() public method

This function is called when a process is blocked on dequeue. There are no more events to be serviced and the queue is empty.
public OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
sourceSM int Process that is blocked
return void

OnEnabled() public method

This function is called on a enqueue operation. A process is enabled if it has messages in its queue to be serviced
public OnEnabled ( ZingerSchedulerState ZSchedulerState, int targetSM, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
targetSM int process is added to the set of enabled processes
sourceSM int
return void

Start() public method

This function is called by Zinger whenever a new process is created.
public Start ( ZingerSchedulerState ZSchedulerState, int processId ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
processId int process Id of the newly created process
return void

ZingerOperation() public method

public ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
return void