Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ProgramFiniteStateMachineB

Program Finite State Machine

as per part 10 : Program Specification

A standard set of base states is defined for Programs as part of the Program Finite State Machine. These states represent the stages in which a Program can exist at an instance in time as viewed by a Client. This state is the Program’s current state. All Programs shall support this base set. A Program may or may not require a Client action to cause the state to change. The states are formally defined in Table 2.

Table 2 – Program states | State | Description |-----------|-------------------------------------------------------------------------------------| | Ready | The Program is properly initialized and may be started. | | Running | The Program is executing making progress towards completion. | | Suspended | The Program has been stopped prior to reaching a terminal state but may be resumed. | | Halted | The Program is in a terminal or failed state, and it cannot be started or resumed without being reset|

The set of states defined to describe a Program can be expanded. Program sub states can be defined for the base states to provide more resolution of a process and to describe the cause and effect(s) of additional stimuli and transitions. Standards bodies and industry groups may extend the base Program Finite State Model to conform to various industry models. For example, the Halted state can include the sub states “Aborted” and “Completed” to indicate if the function achieved a successful conclusion prior to the transition to Halted. Transitiona

Hierarchy

Index

Properties

currentState

currentState: FiniteStateVariable

currentStateNode

currentStateNode: State

halt

halt: UAMethod

Halt Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.

halted

halted: State

haltedToReady

haltedToReady: Transition

initialState

initialState: InitialState | null

Optional lastTransition

lastTransition: FiniteTransitionVariable

ready

ready: State

readyToHalted

readyToHalted: Transition

readyToRunning

readyToRunning: Transition

reset

reset: UAMethod

Reset Causes the Program to transition from the Halted state to the Ready state

resume

resume: UAMethod

Resume Causes the Program to transition from the Suspended state to the Running state.

running

running: State

runningToHalted

runningToHalted: Transition

runningToReady

runningToReady: Transition

runningToSuspended

runningToSuspended: Transition

start

start: UAMethod

Start Causes the Program to transition from the Ready state to the Running state.

states

states: State[]

suspend

suspend: UAMethod

Suspend Causes the Program to transition from the Running state to the Suspended state.

suspended

suspended: State

suspendedToHalted

suspendedToHalted: Transition

suspendedToReady

suspendedToReady: Transition

suspendedToRunning

suspendedToRunning: Transition

transitions

transitions: Transition[]

Methods

findTransitionNode

getCurrentState

  • getCurrentState(): string | null

getStateByName

  • getStateByName(name: string): State | null

getStates

getTransitions

isValidTransition

  • isValidTransition(toStateNode: State | string): boolean

setState

  • setState(toStateNode: State | string | null): void

Generated using TypeDoc