C# Class ExternalDelayingExplorer.RoundRobinDBSched

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

Public Methods

Method Description
Delay ( ZingerSchedulerState zSchedState ) : void

Perform the delay operation. Move process at the start of the list to the end.

Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void

This function is called by Zinger whenever a process has finished execution. Remove the process from list of enabled processes.

MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool

This function is used internally by the ZING explorer. It checks if we have applied the maximum number of delays in the current state. Applying any more delay operations will not lead to new transitions/states being explored. Maximum delay operations for a state is always (totalEnabledProcesses - 1).

Next ( ZingerSchedulerState zSchedState ) : int

Returns the first element in the list.

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

RoundRobinDBSched ( ) : System
Start ( ZingerSchedulerState ZSchedulerState, int processId ) : void

This function is called by Zinger whenever a new process is created. Add the new created process at the end of RR list.

ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void

This function is provided for extending or customizing the delayingExplorer.

Method Details

Delay() public method

Perform the delay operation. Move process at the start of the list to the end.
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. Remove the process from list of enabled processes.
public Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
processId int process Id of the completed process
return void

MaxDelayReached() public method

This function is used internally by the ZING explorer. It checks if we have applied the maximum number of delays in the current state. Applying any more delay operations will not lead to new transitions/states being explored. Maximum delay operations for a state is always (totalEnabledProcesses - 1).
public MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool
zSchedState Microsoft.Zing.ZingerSchedulerState
return bool

Next() public method

Returns the first element in the list.
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 The process that is enabled because of an enqueue
sourceSM int This parameter is passed for debugging purposes
return void

RoundRobinDBSched() public method

public RoundRobinDBSched ( ) : System
return System

Start() public method

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

ZingerOperation() public method

This function is provided for extending or customizing the delayingExplorer.
public ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState ZingerSchedulerState
return void