Source: emel/model/loader/sm.hpp
stateDiagram-v2
direction TB
[*] --> ready
ready --> request_decision : load_runtime [always] / begin_load_
request_decision --> parsing : completion_load_runtime_ [valid_request_] / none
request_decision --> errored : completion_load_runtime_ [invalid_request_] / mark_invalid_request_
parsing --> parse_decision : completion_load_runtime_ [always] / run_parse_
parse_decision --> parse_phase_decision : completion_load_runtime_ [always] / none
parse_phase_decision --> parse_load_weights_policy_decision : completion_load_runtime_ [error_none_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_invalid_request_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_parse_failed_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_backend_error_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_model_invalid_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_internal_error_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_untracked_] / none
parse_phase_decision --> errored : completion_load_runtime_ [error_unclassified_code_] / none
parse_load_weights_policy_decision --> parse_load_weights_handler_decision : completion_load_runtime_ [should_load_weights_] / none
parse_load_weights_policy_decision --> structure_decision : completion_load_runtime_ [skip_load_weights_] / none
parse_load_weights_policy_decision --> errored : completion_load_runtime_ [always] / mark_internal_error_
parse_load_weights_handler_decision --> loading_weights : completion_load_runtime_ [can_load_weights_] / none
parse_load_weights_handler_decision --> errored : completion_load_runtime_ [cannot_load_weights_] / mark_invalid_request_
parse_load_weights_handler_decision --> errored : completion_load_runtime_ [always] / mark_internal_error_
loading_weights --> load_decision : completion_load_runtime_ [always] / run_load_weights_
load_decision --> load_phase_decision : completion_load_runtime_ [always] / none
load_phase_decision --> load_map_policy_decision : completion_load_runtime_ [error_none_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_invalid_request_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_parse_failed_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_backend_error_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_model_invalid_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_internal_error_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_untracked_] / none
load_phase_decision --> errored : completion_load_runtime_ [error_unclassified_code_] / none
load_map_policy_decision --> mapping_layers : completion_load_runtime_ [can_map_layers_] / none
load_map_policy_decision --> errored : completion_load_runtime_ [cannot_map_layers_] / mark_invalid_request_
load_map_policy_decision --> errored : completion_load_runtime_ [always] / mark_internal_error_
mapping_layers --> map_layers_decision : completion_load_runtime_ [always] / run_map_layers_
map_layers_decision --> structure_decision : completion_load_runtime_ [error_none_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_invalid_request_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_parse_failed_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_backend_error_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_model_invalid_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_internal_error_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_untracked_] / none
map_layers_decision --> errored : completion_load_runtime_ [error_unclassified_code_] / none
structure_decision --> structure_policy_decision : completion_load_runtime_ [always] / none
structure_policy_decision --> architecture_decision : completion_load_runtime_ [skip_validate_structure_] / none
structure_policy_decision --> validating_structure : completion_load_runtime_ [can_validate_structure_] / none
structure_policy_decision --> errored : completion_load_runtime_ [cannot_validate_structure_] / mark_invalid_request_
structure_policy_decision --> errored : completion_load_runtime_ [always] / mark_internal_error_
validating_structure --> structure_validation_decision : completion_load_runtime_ [always] / run_validate_structure_
structure_validation_decision --> architecture_decision : completion_load_runtime_ [error_none_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_invalid_request_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_parse_failed_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_backend_error_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_model_invalid_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_internal_error_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_untracked_] / none
structure_validation_decision --> errored : completion_load_runtime_ [error_unclassified_code_] / none
architecture_decision --> architecture_policy_decision : completion_load_runtime_ [always] / none
architecture_policy_decision --> done : completion_load_runtime_ [skip_validate_architecture_] / none
architecture_policy_decision --> validating_architecture : completion_load_runtime_ [can_validate_architecture_] / none
architecture_policy_decision --> errored : completion_load_runtime_ [cannot_validate_architecture_] / mark_invalid_request_
architecture_policy_decision --> errored : completion_load_runtime_ [always] / mark_internal_error_
validating_architecture --> architecture_validation_decision : completion_load_runtime_ [always] / run_validate_architecture_
architecture_validation_decision --> done : completion_load_runtime_ [error_none_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_invalid_request_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_parse_failed_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_backend_error_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_model_invalid_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_internal_error_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_untracked_] / none
architecture_validation_decision --> errored : completion_load_runtime_ [error_unclassified_code_] / none
done --> ready : completion_load_runtime_ [done_callback_present_] / publish_done_
done --> ready : completion_load_runtime_ [done_callback_absent_] / publish_done_noop_
errored --> ready : completion_load_runtime_ [error_callback_present_] / publish_error_
errored --> ready : completion_load_runtime_ [error_callback_absent_] / publish_error_noop_
ready --> ready : _ [always] / on_unexpected_
request_decision --> ready : _ [always] / on_unexpected_
parsing --> ready : _ [always] / on_unexpected_
parse_decision --> ready : _ [always] / on_unexpected_
parse_phase_decision --> ready : _ [always] / on_unexpected_
parse_load_weights_policy_decision --> ready : _ [always] / on_unexpected_
parse_load_weights_handler_decision --> ready : _ [always] / on_unexpected_
loading_weights --> ready : _ [always] / on_unexpected_
load_decision --> ready : _ [always] / on_unexpected_
load_phase_decision --> ready : _ [always] / on_unexpected_
load_map_policy_decision --> ready : _ [always] / on_unexpected_
mapping_layers --> ready : _ [always] / on_unexpected_
map_layers_decision --> ready : _ [always] / on_unexpected_
structure_decision --> ready : _ [always] / on_unexpected_
structure_policy_decision --> ready : _ [always] / on_unexpected_
validating_structure --> ready : _ [always] / on_unexpected_
structure_validation_decision --> ready : _ [always] / on_unexpected_
architecture_decision --> ready : _ [always] / on_unexpected_
architecture_policy_decision --> ready : _ [always] / on_unexpected_
validating_architecture --> ready : _ [always] / on_unexpected_
architecture_validation_decision --> ready : _ [always] / on_unexpected_
done --> ready : _ [always] / on_unexpected_
errored --> ready : _ [always] / on_unexpected_