C# Class ExternalDelayingExplorer.RandomDelayingScheduler

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

Méthodes publiques

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

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

Finish() public méthode

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

MaxDelayReached() public méthode

public MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool
zSchedState Microsoft.Zing.ZingerSchedulerState
Résultat bool

Next() public méthode

Randomly return a process from the set of processes SetOfProcesses not yet delayed.
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 process is added to the set of enabled processes
sourceSM int
Résultat void

Start() public méthode

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

ZingerOperation() public méthode

public ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
Résultat void