C# 클래스 ExternalDelayingExplorer.RunToCompletionDelayingScheduler

상속: Microsoft.Zing.ZingerDelayingScheduler
파일 보기 프로젝트 열기: ZingModelChecker/Zing

공개 메소드들

메소드 설명
Delay ( ZingerSchedulerState zSchedState ) : void

Move the process on top of stack to the bottom of the stack. Moving the process to the bottom of the stack deviates the scheduler from following the casual order of events (RTC strategy).

Finish ( ZingerSchedulerState zSchedState, int processId ) : void

Remove the completed process from Stack so that it is never scheduled again.

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

Return process at the top of stack. This process is executed next and follows the deterministic schedule.

OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void

This function is called when a process is blocked. In the context of asynchronous message passing programs, a process is blocked when its queue is empty and the process is waiting for an event. The process that gets blocked is poped off the stack.

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

This function is called when an enqueue is performed on a process, hence it has a pending event to be serviced.

RunToCompletionDelayingScheduler ( ) : System
Start ( ZingerSchedulerState zSchedState, int processId ) : void

Push newly created process on top of Stack

ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void

This function is provided for extending or customizing the delayingExplorer.

메소드 상세

Delay() 공개 메소드

Move the process on top of stack to the bottom of the stack. Moving the process to the bottom of the stack deviates the scheduler from following the casual order of events (RTC strategy).
public Delay ( ZingerSchedulerState zSchedState ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
리턴 void

Finish() 공개 메소드

Remove the completed process from Stack so that it is never scheduled again.
public Finish ( ZingerSchedulerState zSchedState, int processId ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
processId int Process id to be removed from the stack
리턴 void

MaxDelayReached() 공개 메소드

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
리턴 bool

Next() 공개 메소드

Return process at the top of stack. This process is executed next and follows the deterministic schedule.
public Next ( ZingerSchedulerState zSchedState ) : int
zSchedState Microsoft.Zing.ZingerSchedulerState
리턴 int

OnBlocked() 공개 메소드

This function is called when a process is blocked. In the context of asynchronous message passing programs, a process is blocked when its queue is empty and the process is waiting for an event. The process that gets blocked is poped off the stack.
public OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
sourceSM int This parameter is passed for debugging purposes
리턴 void

OnEnabled() 공개 메소드

This function is called when an enqueue is performed on a process, hence it has a pending event to be serviced.
public OnEnabled ( ZingerSchedulerState ZSchedulerState, int targetSM, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
targetSM int targetSM is the target process in which the event was enqueued. /// This process is pushed on top of the stack to follow event enqueue order.
sourceSM int This parameter is passed for debugging purposes
리턴 void

RunToCompletionDelayingScheduler() 공개 메소드

public RunToCompletionDelayingScheduler ( ) : System
리턴 System

Start() 공개 메소드

Push newly created process on top of Stack
public Start ( ZingerSchedulerState zSchedState, int processId ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
processId int process Id of the newly created process
리턴 void

ZingerOperation() 공개 메소드

This function is provided for extending or customizing the delayingExplorer.
public ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
리턴 void