C# Class ExternalDelayingExplorer.CustomDelayingScheduler

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

Méthodes publiques

Méthode Description
CustomDelayingScheduler ( ) : System
Delay ( ZingerSchedulerState ZSchedulerState ) : void

remove the process at the start of the sortedList and push it at the end.

Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void

Remove process from the list if completed

MaxDelayReached ( ZingerSchedulerState ZSchedulerState ) : 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 ZSchedulerState ) : 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

OtherOperations ( ZingerSchedulerState ZSchedulerState ) : void
Start ( ZingerSchedulerState ZSchedulerState, int processId ) : void

This function is called by Zinger whenever a new process is created. Add the new created process to the enabledProcesses List and also assign random priority.

ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void

Method Details

CustomDelayingScheduler() public méthode

public CustomDelayingScheduler ( ) : System
Résultat System

Delay() public méthode

remove the process at the start of the sortedList and push it at the end.
public Delay ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
Résultat void

Finish() public méthode

Remove process from the list if completed
public Finish ( ZingerSchedulerState ZSchedulerState, int processId ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
processId int
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 ZSchedulerState ) : bool
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
Résultat bool

Next() public méthode

Returns the first element in the list.
public Next ( ZingerSchedulerState ZSchedulerState ) : int
ZSchedulerState 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

OtherOperations() public méthode

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

Start() public méthode

This function is called by Zinger whenever a new process is created. Add the new created process to the enabledProcesses List and also assign random priority.
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