yasmine
sxy::model Namespace Reference

Classes

class  choice_model
 
interface  composite_state_model
 Interface for a composite state in the model. More...
 
interface  deep_history_model
 Interface for a deep history pseudostate in the model. More...
 
interface  entry_point_model
 Interface for an entry point pseudostate in the model. More...
 
struct  event_model
 An event in the model. More...
 
interface  exit_point_model
 Interface for an exit point pseudostate in the model. More...
 
interface  final_state_model
 Interface for a final state in the model. More...
 
interface  fork_model
 Interface for a fork pseudostate in the model. More...
 
interface  initial_pseudostate_model
 Interface for an initial pseudostate int the model. More...
 
interface  join_model
 Interface for a join pseudostate in the model. More...
 
interface  junction_model
 Interface for a junction pseudostate in the model. More...
 
class  model_vertex_visitor
 
interface  pseudostate_model
 Interface for a pseudostate in the model. More...
 
class  pseudostate_model_impl
 A pseudostate in the model. More...
 
interface  region_model
 Interface for a region in the model. More...
 
interface  shallow_history_model
 Interface for a shallow history pseudostate in the model. More...
 
interface  simple_state_model
 Interface for a simple state in the model. More...
 
interface  state_machine_element_model
 Interface for an element in the state machine model. More...
 
class  state_machine_element_model_impl
 An element of the state machine in the model. More...
 
class  state_machine_model
 Class representing a model of a complete state machine. More...
 
interface  state_model
 Interface for a state in the model. More...
 
class  state_model_impl
 A state in the model. More...
 
class  SX_FINAL
 
interface  terminate_pseudostate_model
 Interface for a terminate pseudostate in the model. More...
 
class  transition_model
 Interface for a transition in the model. More...
 
class  transition_model_impl
 

Typedefs

typedef sxe::SX_UNIQUE_PTR< choice_modelchoice_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< composite_state_model_implcomposite_state_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< deep_history_modeldeep_history_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< entry_point_modelentry_point_model_uptr
 
typedef sxe::uint32_t event_id
 The type alias for yasmine model's event IDs. More...
 
typedef std::vector< event_idevent_ids
 The type alias for yasmine model's event ID list. More...
 
typedef sxe::shared_ptr< event_modelevent_sptr
 
typedef sxe::int8_t event_priority
 The type alias for yasmine model's event priorities. More...
 
typedef sxe::SX_UNIQUE_PTR< exit_point_modelexit_point_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< final_state_modelfinal_state_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< fork_modelfork_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< initial_pseudostate_modelinitial_pseudostate_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< join_modeljoin_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< junction_modeljunction_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< pseudostate_modelpseudostate_model_uptr
 
typedef std::vector< pseudostate_model_uptrpseudostate_models_uptr
 
typedef std::vector< const pseudostate_model * > raw_const_pseduostate_models
 
typedef sxe::SX_UNIQUE_PTR< region_modelregion_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< region_model_implregion_model_impl_uptr
 
typedef std::vector< region_model_uptrregion_models_uptr
 
typedef std::vector< const region_model * > raw_const_region_models
 
typedef sxe::SX_UNIQUE_PTR< shallow_history_modelshallow_history_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< simple_state_modelsimple_state_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< state_machine_modelstate_machine_model_ptr
 
typedef sxe::SX_UNIQUE_PTR< state_modelstate_model_uptr
 
typedef std::vector< state_model_uptrstate_models_uptr
 
typedef std::vector< const state_model * > row_const_state_models
 
typedef sxe::SX_UNIQUE_PTR< terminate_pseudostate_modelterminate_pseudostate_model_uptr
 
typedef sxe::SX_UNIQUE_PTR< transition_modeltransition_model_uptr
 
typedef std::vector< transition_model_uptrtransition_models
 
typedef std::vector< const transition_model * > raw_const_transition_models
 

Enumerations

enum  model_element_type {
  TYE_UNKNOWN = -1, TYE_TRANSITION = 0, TYE_SIMPLE_STATE = 1, TYE_COMPOSITE_STATE = 2,
  TYE_FINAL_STATE = 3, TYE_INITIAL_PSEUDOSTATE = 4, TYE_TERMINATE_PSEUDOSTATE = 5, TYE_ENTRY_POINT = 6,
  TYE_EXIT_POINT = 7, TYE_DEEP_HISTORY = 8, TYE_SHALLOW_HISTORY = 9, TYE_JOIN = 10,
  TYE_JUNCTION = 11, TYE_FORK = 12, TYE_CHOICE = 13, TYE_REGION = 14,
  TYE_ASYNC_SIMPLE_STATE = 15
}
 
enum  transition_model_kind { transition_model_kind::EXTERNAL = 0, transition_model_kind::INTERNAL = 1, transition_model_kind::LOCAL = 2 }
 

Functions

model_element_type model_element_type_from_string (const std::string &_type_as_string)
 
const std::string model_element_type_to_string (const model_element_type &_type)
 
std::string to_string (const transition_model_kind _kind)
 

Variables

const char *const JSON_STATE_MACHINE_NODE = "state_machine"
 
const char *const JSON_ROOT_NODE = "root"
 
const char *const JSON_TRANSITIONS_NODE = "transitions"
 
const char *const JSON_NAME_NODE = "name"
 
const char *const JSON_TYPE_NODE = "type"
 
const char *const JSON_ENTER_BEHAVIOR_NODE = "enter_behavior"
 
const char *const JSON_DO_BEHAVIOR_NODE = "do_behavior"
 
const char *const JSON_EXIT_BEHAVIOR_NODE = "exit_behavior"
 
const char *const JSON_REGIONS_NODE = "regions"
 
const char *const JSON_VERTICES_NODE = "vertices"
 
const char *const JSON_STATE_PSEUDOSTATES_NODE = "pseudostates"
 
const char *const JSON_PSEUDOSTATES_NODE = "pseudostates"
 
const char *const JSON_TRANSITION_KIND_NODE = "kind"
 
const char *const JSON_TRANSITION_SOURCE_NODE = "source"
 
const char *const JSON_TRANSITION_TARGET_NODE = "target"
 
const char *const JSON_TRANSITION_GUARD_NODE = "guard"
 
const char *const JSON_TRANSITION_BEHAVIOR_NODE = "behavior"
 
const char *const JSON_TRANSITION_EVENTS_NODE = "event_name"
 
const char *const JSON_DEFERRED_EVENTS = "deferred_event_name"
 
const char *const JSON_ERROR_EVENT = "error_event"
 
const char *const JSON_EVENT_ID = "ID"
 
const char *const JSON_EVENT_NAME = "name"
 
const char *const JSON_EVENT_LIST_NODE = "event_list"
 
const char *const JSON_EVENT_PRIORITY = "priority"
 
const char *const JSON_VERSION = "version"
 
const char *const JSON_CURRENT_VERSION_VALUE = "2.0"
 
const char *const JSON_VERSION_1 = "1.0"
 
const std::string TYPE_TRANSITION = "transition"
 
const std::string TYPE_SIMPLE_STATE = "simple_state"
 
const std::string TYPE_ASYNC_SIMPLE_STATE = "async_simple_state"
 
const std::string TYPE_COMPOSITE_STATE = "composite_state"
 
const std::string TYPE_FINAL_STATE = "final_state"
 
const std::string TYPE_INITIAL_PSEUDOSTATE = "initial_pseudostate"
 
const std::string TYPE_TERMINATE_PSEUDOSTATE = "terminate_pseudostate"
 
const std::string TYPE_ENTRY_POINT = "entry_point"
 
const std::string TYPE_EXIT_POINT = "exit_point"
 
const std::string TYPE_DEEP_HISTORY = "deep_history"
 
const std::string TYPE_SHALLOW_HISTORY = "shallow_history"
 
const std::string TYPE_JOIN = "join"
 
const std::string TYPE_JUNCTION = "junction"
 
const std::string TYPE_FORK = "fork"
 
const std::string TYPE_CHOICE = "choice"
 
const std::string TYPE_REGION = "region"
 
const std::string TYPE_UNKNOWN = "unknown"
 
const std::string CONFIG_FILE_IS_CORRUPTED = "Config file is corrupted!"
 
const std::string CHOOSE_FILE_TEXT = "Select log file"
 
const std::string FILE_CANNOT_BE_OPENED = "File cannot be opened!"
 
const std::string PATH_CONFIG_JSON_FILE = "path_config.json"
 
const std::string CHOOSE_FILE_TYPE = "file (*.*);;"
 
const std::string CHOOSE_FILE_TEXT_SAVE = "Select file to save data"
 
const std::string CHOOSE_FILE_DEFAULT_SAVING_NAME = "state_machine.json"
 
const std::string CHOOSE_FILE_TYPE_SAVE = "all files (*.*);;"
 
const char *const TRANSITION_MUST_BE_IN_JSON_ARRAY = "Transitions from the json file are not in an array!"
 
const event_id Y_MODEL_COMPLETION_EVENT_ID = std::numeric_limits<sxy::model::event_id>::max()
 
constexpr event_priority DEFAULT_EVENT_PRIORITY = 0
 yasmine model's predefined default event priority. More...
 

Typedef Documentation

◆ choice_model_uptr

typedef sxe::SX_UNIQUE_PTR<choice_model> sxy::model::choice_model_uptr

◆ composite_state_model_uptr

◆ deep_history_model_uptr

◆ entry_point_model_uptr

◆ event_id

typedef sxe::uint32_t sxy::model::event_id

The type alias for yasmine model's event IDs.

◆ event_ids

typedef std::vector< event_id > sxy::model::event_ids

The type alias for yasmine model's event ID list.

◆ event_priority

typedef sxe::int8_t sxy::model::event_priority

The type alias for yasmine model's event priorities.

◆ event_sptr

typedef sxe::shared_ptr< event_model > sxy::model::event_sptr

◆ exit_point_model_uptr

◆ final_state_model_uptr

◆ fork_model_uptr

typedef sxe::SX_UNIQUE_PTR<fork_model> sxy::model::fork_model_uptr

◆ initial_pseudostate_model_uptr

◆ join_model_uptr

typedef sxe::SX_UNIQUE_PTR<join_model> sxy::model::join_model_uptr

◆ junction_model_uptr

typedef sxe::SX_UNIQUE_PTR<junction_model> sxy::model::junction_model_uptr

◆ pseudostate_model_uptr

◆ pseudostate_models_uptr

◆ raw_const_pseduostate_models

◆ raw_const_region_models

◆ raw_const_transition_models

◆ region_model_impl_uptr

◆ region_model_uptr

typedef sxe::SX_UNIQUE_PTR<region_model> sxy::model::region_model_uptr

◆ region_models_uptr

◆ row_const_state_models

typedef std::vector<const state_model*> sxy::model::row_const_state_models

◆ shallow_history_model_uptr

◆ simple_state_model_uptr

◆ state_machine_model_ptr

◆ state_model_uptr

typedef sxe::SX_UNIQUE_PTR<state_model> sxy::model::state_model_uptr

◆ state_models_uptr

◆ terminate_pseudostate_model_uptr

◆ transition_model_uptr

◆ transition_models

Enumeration Type Documentation

◆ model_element_type

Enumerator
TYE_UNKNOWN 
TYE_TRANSITION 
TYE_SIMPLE_STATE 
TYE_COMPOSITE_STATE 
TYE_FINAL_STATE 
TYE_INITIAL_PSEUDOSTATE 
TYE_TERMINATE_PSEUDOSTATE 
TYE_ENTRY_POINT 
TYE_EXIT_POINT 
TYE_DEEP_HISTORY 
TYE_SHALLOW_HISTORY 
TYE_JOIN 
TYE_JUNCTION 
TYE_FORK 
TYE_CHOICE 
TYE_REGION 
TYE_ASYNC_SIMPLE_STATE 

◆ transition_model_kind

Enumerator
EXTERNAL 
INTERNAL 
LOCAL 

Function Documentation

◆ model_element_type_from_string()

model_element_type sxy::model::model_element_type_from_string ( const std::string &  _type_as_string)

◆ model_element_type_to_string()

const std::string sxy::model::model_element_type_to_string ( const model_element_type _type)

◆ to_string()

std::string sxy::model::to_string ( const transition_model_kind  _kind)

Variable Documentation

◆ CHOOSE_FILE_DEFAULT_SAVING_NAME

const std::string sxy::model::CHOOSE_FILE_DEFAULT_SAVING_NAME = "state_machine.json"

◆ CHOOSE_FILE_TEXT

const std::string sxy::model::CHOOSE_FILE_TEXT = "Select log file"

◆ CHOOSE_FILE_TEXT_SAVE

const std::string sxy::model::CHOOSE_FILE_TEXT_SAVE = "Select file to save data"

◆ CHOOSE_FILE_TYPE

const std::string sxy::model::CHOOSE_FILE_TYPE = "file (*.*);;"

◆ CHOOSE_FILE_TYPE_SAVE

const std::string sxy::model::CHOOSE_FILE_TYPE_SAVE = "all files (*.*);;"

◆ CONFIG_FILE_IS_CORRUPTED

const std::string sxy::model::CONFIG_FILE_IS_CORRUPTED = "Config file is corrupted!"

◆ DEFAULT_EVENT_PRIORITY

constexpr event_priority sxy::model::DEFAULT_EVENT_PRIORITY = 0

yasmine model's predefined default event priority.

◆ FILE_CANNOT_BE_OPENED

const std::string sxy::model::FILE_CANNOT_BE_OPENED = "File cannot be opened!"

◆ JSON_CURRENT_VERSION_VALUE

const char *const sxy::model::JSON_CURRENT_VERSION_VALUE = "2.0"

◆ JSON_DEFERRED_EVENTS

const char *const sxy::model::JSON_DEFERRED_EVENTS = "deferred_event_name"

◆ JSON_DO_BEHAVIOR_NODE

const char *const sxy::model::JSON_DO_BEHAVIOR_NODE = "do_behavior"

◆ JSON_ENTER_BEHAVIOR_NODE

const char *const sxy::model::JSON_ENTER_BEHAVIOR_NODE = "enter_behavior"

◆ JSON_ERROR_EVENT

const char *const sxy::model::JSON_ERROR_EVENT = "error_event"

◆ JSON_EVENT_ID

const char *const sxy::model::JSON_EVENT_ID = "ID"

◆ JSON_EVENT_LIST_NODE

const char *const sxy::model::JSON_EVENT_LIST_NODE = "event_list"

◆ JSON_EVENT_NAME

const char *const sxy::model::JSON_EVENT_NAME = "name"

◆ JSON_EVENT_PRIORITY

const char *const sxy::model::JSON_EVENT_PRIORITY = "priority"

◆ JSON_EXIT_BEHAVIOR_NODE

const char *const sxy::model::JSON_EXIT_BEHAVIOR_NODE = "exit_behavior"

◆ JSON_NAME_NODE

const char *const sxy::model::JSON_NAME_NODE = "name"

◆ JSON_PSEUDOSTATES_NODE

const char *const sxy::model::JSON_PSEUDOSTATES_NODE = "pseudostates"

◆ JSON_REGIONS_NODE

const char *const sxy::model::JSON_REGIONS_NODE = "regions"

◆ JSON_ROOT_NODE

const char *const sxy::model::JSON_ROOT_NODE = "root"

◆ JSON_STATE_MACHINE_NODE

const char *const sxy::model::JSON_STATE_MACHINE_NODE = "state_machine"

◆ JSON_STATE_PSEUDOSTATES_NODE

const char *const sxy::model::JSON_STATE_PSEUDOSTATES_NODE = "pseudostates"

◆ JSON_TRANSITION_BEHAVIOR_NODE

const char *const sxy::model::JSON_TRANSITION_BEHAVIOR_NODE = "behavior"

◆ JSON_TRANSITION_EVENTS_NODE

const char *const sxy::model::JSON_TRANSITION_EVENTS_NODE = "event_name"

◆ JSON_TRANSITION_GUARD_NODE

const char *const sxy::model::JSON_TRANSITION_GUARD_NODE = "guard"

◆ JSON_TRANSITION_KIND_NODE

const char *const sxy::model::JSON_TRANSITION_KIND_NODE = "kind"

◆ JSON_TRANSITION_SOURCE_NODE

const char *const sxy::model::JSON_TRANSITION_SOURCE_NODE = "source"

◆ JSON_TRANSITION_TARGET_NODE

const char *const sxy::model::JSON_TRANSITION_TARGET_NODE = "target"

◆ JSON_TRANSITIONS_NODE

const char *const sxy::model::JSON_TRANSITIONS_NODE = "transitions"

◆ JSON_TYPE_NODE

const char *const sxy::model::JSON_TYPE_NODE = "type"

◆ JSON_VERSION

const char *const sxy::model::JSON_VERSION = "version"

◆ JSON_VERSION_1

const char *const sxy::model::JSON_VERSION_1 = "1.0"

◆ JSON_VERTICES_NODE

const char *const sxy::model::JSON_VERTICES_NODE = "vertices"

◆ PATH_CONFIG_JSON_FILE

const std::string sxy::model::PATH_CONFIG_JSON_FILE = "path_config.json"

◆ TRANSITION_MUST_BE_IN_JSON_ARRAY

const char *const sxy::model::TRANSITION_MUST_BE_IN_JSON_ARRAY = "Transitions from the json file are not in an array!"

◆ TYPE_ASYNC_SIMPLE_STATE

const std::string sxy::model::TYPE_ASYNC_SIMPLE_STATE = "async_simple_state"

◆ TYPE_CHOICE

const std::string sxy::model::TYPE_CHOICE = "choice"

◆ TYPE_COMPOSITE_STATE

const std::string sxy::model::TYPE_COMPOSITE_STATE = "composite_state"

◆ TYPE_DEEP_HISTORY

const std::string sxy::model::TYPE_DEEP_HISTORY = "deep_history"

◆ TYPE_ENTRY_POINT

const std::string sxy::model::TYPE_ENTRY_POINT = "entry_point"

◆ TYPE_EXIT_POINT

const std::string sxy::model::TYPE_EXIT_POINT = "exit_point"

◆ TYPE_FINAL_STATE

const std::string sxy::model::TYPE_FINAL_STATE = "final_state"

◆ TYPE_FORK

const std::string sxy::model::TYPE_FORK = "fork"

◆ TYPE_INITIAL_PSEUDOSTATE

const std::string sxy::model::TYPE_INITIAL_PSEUDOSTATE = "initial_pseudostate"

◆ TYPE_JOIN

const std::string sxy::model::TYPE_JOIN = "join"

◆ TYPE_JUNCTION

const std::string sxy::model::TYPE_JUNCTION = "junction"

◆ TYPE_REGION

const std::string sxy::model::TYPE_REGION = "region"

◆ TYPE_SHALLOW_HISTORY

const std::string sxy::model::TYPE_SHALLOW_HISTORY = "shallow_history"

◆ TYPE_SIMPLE_STATE

const std::string sxy::model::TYPE_SIMPLE_STATE = "simple_state"

◆ TYPE_TERMINATE_PSEUDOSTATE

const std::string sxy::model::TYPE_TERMINATE_PSEUDOSTATE = "terminate_pseudostate"

◆ TYPE_TRANSITION

const std::string sxy::model::TYPE_TRANSITION = "transition"

◆ TYPE_UNKNOWN

const std::string sxy::model::TYPE_UNKNOWN = "unknown"

◆ Y_MODEL_COMPLETION_EVENT_ID

const event_id sxy::model::Y_MODEL_COMPLETION_EVENT_ID = std::numeric_limits<sxy::model::event_id>::max()