C# Class ExternalDelayingExplorer.RoundRobinDBSched

Inheritance: Microsoft.Zing.ZingerDelayingScheduler
Afficher le fichier Open project: ZingModelChecker/Zing

Méthodes publiques

Méthode 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 méthode

Perform the delay operation. Move process at the start of the list to the end.
public Delay ( ZingerSchedulerState zSchedState ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
Résultat void

Finish() public méthode

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
Résultat void

MaxDelayReached() public méthode

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
Résultat bool

Next() public méthode

Returns the first element in the list.
public Next ( ZingerSchedulerState zSchedState ) : int
zSchedState Microsoft.Zing.ZingerSchedulerState
Résultat int

OnBlocked() public méthode

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
Résultat void

OnEnabled() public méthode

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
Résultat void

RoundRobinDBSched() public méthode

public RoundRobinDBSched ( ) : System
Résultat System

Start() public méthode

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
Résultat void

ZingerOperation() public méthode

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