Skip to content

Latest commit

 

History

History
90 lines (85 loc) · 22.4 KB

File metadata and controls

90 lines (85 loc) · 22.4 KB

graph_processor

Source: emel/graph/processor/sm.hpp

Mermaid

stateDiagram-v2
  direction TB
  [*] --> ready
  ready --> model__ : execute_step [valid_execute_] / begin_execute_
  ready --> ready : execute_step [invalid_execute_with_dispatchable_output_] / reject_invalid_execute_with_dispatch_
  ready --> ready : execute_step [invalid_execute_with_output_only_] / reject_invalid_execute_with_output_only_
  ready --> ready : execute_step [invalid_execute_without_output_] / reject_invalid_execute_without_output_
  model__ --> validate_decision : completion_execute_step_ [always] / none
  validate_decision --> model__ : completion_execute_step_ [validate_done_] / none
  validate_decision --> execution_decision : completion_execute_step_ [validate_failed_] / none
  model__ --> prepare_decision : completion_execute_step_ [always] / none
  prepare_decision --> model__ : completion_execute_step_ [prepare_done_reused_] / none
  prepare_decision --> model__ : completion_execute_step_ [prepare_done_needs_allocation_] / none
  prepare_decision --> execution_decision : completion_execute_step_ [prepare_failed_] / none
  model__ --> alloc_decision : completion_execute_step_ [always] / none
  alloc_decision --> model__ : completion_execute_step_ [alloc_done_] / none
  alloc_decision --> execution_decision : completion_execute_step_ [alloc_failed_] / none
  model__ --> bind_decision : completion_execute_step_ [always] / none
  bind_decision --> model__ : completion_execute_step_ [bind_done_] / none
  bind_decision --> execution_decision : completion_execute_step_ [bind_failed_] / none
  model__ --> kernel_decision : completion_execute_step_ [always] / none
  kernel_decision --> model__ : completion_execute_step_ [kernel_done_] / none
  kernel_decision --> execution_decision : completion_execute_step_ [kernel_failed_] / none
  model__ --> extract_decision : completion_execute_step_ [always] / none
  extract_decision --> execution_decision : completion_execute_step_ [extract_done_] / commit_output_
  extract_decision --> execution_decision : completion_execute_step_ [extract_failed_] / none
  execution_decision --> ready : completion_execute_step_ [execution_error_none_] / dispatch_done_
  execution_decision --> ready : completion_execute_step_ [execution_error_invalid_request_] / dispatch_error_
  execution_decision --> ready : completion_execute_step_ [execution_error_kernel_failed_] / dispatch_error_
  execution_decision --> ready : completion_execute_step_ [execution_error_internal_error_] / dispatch_error_
  execution_decision --> ready : completion_execute_step_ [execution_error_untracked_] / dispatch_error_
  execution_decision --> ready : completion_execute_step_ [execution_error_unknown_] / dispatch_error_
  ready --> ready : _ [always] / on_unexpected_
  validate_decision --> execution_decision : _ [always] / on_unexpected_
  prepare_decision --> execution_decision : _ [always] / on_unexpected_
  alloc_decision --> execution_decision : _ [always] / on_unexpected_
  bind_decision --> execution_decision : _ [always] / on_unexpected_
  kernel_decision --> execution_decision : _ [always] / on_unexpected_
  extract_decision --> execution_decision : _ [always] / on_unexpected_
  execution_decision --> ready : _ [always] / on_unexpected_
Loading

Transitions

Source Event Guard Action Target
ready execute_step valid_execute> begin_execute> model>>
ready execute_step invalid_execute_with_dispatchable_output> reject_invalid_execute_with_dispatch> ready
ready execute_step invalid_execute_with_output_only> reject_invalid_execute_with_output_only> ready
ready execute_step invalid_execute_without_output> reject_invalid_execute_without_output> ready
model>> completion<execute_step> always none validate_decision
validate_decision completion<execute_step> validate_done> none model>>
validate_decision completion<execute_step> validate_failed> none execution_decision
model>> completion<execute_step> always none prepare_decision
prepare_decision completion<execute_step> prepare_done_reused> none model>>
prepare_decision completion<execute_step> prepare_done_needs_allocation> none model>>
prepare_decision completion<execute_step> prepare_failed> none execution_decision
model>> completion<execute_step> always none alloc_decision
alloc_decision completion<execute_step> alloc_done> none model>>
alloc_decision completion<execute_step> alloc_failed> none execution_decision
model>> completion<execute_step> always none bind_decision
bind_decision completion<execute_step> bind_done> none model>>
bind_decision completion<execute_step> bind_failed> none execution_decision
model>> completion<execute_step> always none kernel_decision
kernel_decision completion<execute_step> kernel_done> none model>>
kernel_decision completion<execute_step> kernel_failed> none execution_decision
model>> completion<execute_step> always none extract_decision
extract_decision completion<execute_step> extract_done> commit_output> execution_decision
extract_decision completion<execute_step> extract_failed> none execution_decision
execution_decision completion<execute_step> execution_error_none> dispatch_done> ready
execution_decision completion<execute_step> execution_error_invalid_request> dispatch_error> ready
execution_decision completion<execute_step> execution_error_kernel_failed> dispatch_error> ready
execution_decision completion<execute_step> execution_error_internal_error> dispatch_error> ready
execution_decision completion<execute_step> execution_error_untracked> dispatch_error> ready
execution_decision completion<execute_step> execution_error_unknown> dispatch_error> ready
ready _ always on_unexpected> ready
validate_decision _ always on_unexpected> execution_decision
prepare_decision _ always on_unexpected> execution_decision
alloc_decision _ always on_unexpected> execution_decision
bind_decision _ always on_unexpected> execution_decision
kernel_decision _ always on_unexpected> execution_decision
extract_decision _ always on_unexpected> execution_decision
execution_decision _ always on_unexpected> ready