Skip to content

Latest commit

 

History

History
64 lines (59 loc) · 15.1 KB

File metadata and controls

64 lines (59 loc) · 15.1 KB

graph_allocator

Source: emel/graph/allocator/sm.hpp

Mermaid

stateDiagram-v2
  direction TB
  [*] --> ready
  ready --> model__ : allocate_graph_plan [valid_allocate_] / begin_allocate_
  ready --> ready : allocate_graph_plan [invalid_allocate_with_dispatchable_output_] / reject_invalid_allocate_with_dispatch_
  ready --> ready : allocate_graph_plan [invalid_allocate_with_output_only_] / reject_invalid_allocate_with_output_only_
  ready --> ready : allocate_graph_plan [invalid_allocate_without_output_] / reject_invalid_allocate_without_output_
  model__ --> liveness_decision : completion_allocate_graph_plan_ [always] / none
  liveness_decision --> model__ : completion_allocate_graph_plan_ [liveness_done_] / none
  liveness_decision --> allocation_decision : completion_allocate_graph_plan_ [liveness_failed_] / none
  model__ --> ordering_decision : completion_allocate_graph_plan_ [always] / none
  ordering_decision --> model__ : completion_allocate_graph_plan_ [ordering_done_] / none
  ordering_decision --> allocation_decision : completion_allocate_graph_plan_ [ordering_failed_] / none
  model__ --> placement_decision : completion_allocate_graph_plan_ [always] / none
  placement_decision --> allocation_decision : completion_allocate_graph_plan_ [placement_done_] / commit_plan_
  placement_decision --> allocation_decision : completion_allocate_graph_plan_ [placement_failed_] / none
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_none_] / dispatch_done_
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_invalid_request_] / dispatch_error_
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_capacity_] / dispatch_error_
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_internal_error_] / dispatch_error_
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_untracked_] / dispatch_error_
  allocation_decision --> ready : completion_allocate_graph_plan_ [allocation_error_unknown_] / dispatch_error_
  ready --> ready : _ [always] / on_unexpected_
  liveness_decision --> allocation_decision : _ [always] / on_unexpected_
  ordering_decision --> allocation_decision : _ [always] / on_unexpected_
  placement_decision --> allocation_decision : _ [always] / on_unexpected_
  allocation_decision --> ready : _ [always] / on_unexpected_
Loading

Transitions

Source Event Guard Action Target
ready allocate_graph_plan valid_allocate> begin_allocate> model>>
ready allocate_graph_plan invalid_allocate_with_dispatchable_output> reject_invalid_allocate_with_dispatch> ready
ready allocate_graph_plan invalid_allocate_with_output_only> reject_invalid_allocate_with_output_only> ready
ready allocate_graph_plan invalid_allocate_without_output> reject_invalid_allocate_without_output> ready
model>> completion<allocate_graph_plan> always none liveness_decision
liveness_decision completion<allocate_graph_plan> liveness_done> none model>>
liveness_decision completion<allocate_graph_plan> liveness_failed> none allocation_decision
model>> completion<allocate_graph_plan> always none ordering_decision
ordering_decision completion<allocate_graph_plan> ordering_done> none model>>
ordering_decision completion<allocate_graph_plan> ordering_failed> none allocation_decision
model>> completion<allocate_graph_plan> always none placement_decision
placement_decision completion<allocate_graph_plan> placement_done> commit_plan> allocation_decision
placement_decision completion<allocate_graph_plan> placement_failed> none allocation_decision
allocation_decision completion<allocate_graph_plan> allocation_error_none> dispatch_done> ready
allocation_decision completion<allocate_graph_plan> allocation_error_invalid_request> dispatch_error> ready
allocation_decision completion<allocate_graph_plan> allocation_error_capacity> dispatch_error> ready
allocation_decision completion<allocate_graph_plan> allocation_error_internal_error> dispatch_error> ready
allocation_decision completion<allocate_graph_plan> allocation_error_untracked> dispatch_error> ready
allocation_decision completion<allocate_graph_plan> allocation_error_unknown> dispatch_error> ready
ready _ always on_unexpected> ready
liveness_decision _ always on_unexpected> allocation_decision
ordering_decision _ always on_unexpected> allocation_decision
placement_decision _ always on_unexpected> allocation_decision
allocation_decision _ always on_unexpected> ready