# Table of Contents

- State Machine Editor
  - [State Machines - Overview](markdown/SM_overview.md)
  - Basics
    - Definitions
      - [States](markdown/SM_states.md)
      - [Transitions](markdown/SM_transitions.md)
        - [Transitions Between Base States](markdown/SM_Transitions_between_base_states.md)
        - [Transitions from and to Hierarchy States](markdown/SM_Transitions_from_and_to_hierarchy_states.md)
        - [Transitions between Substates of different Hierarchies](markdown/SM_Transitions_between_substates_of_different_hierarchies.md)
        - [Loops](markdown/SM_Loops.md)
        - [Transitions with Junctions](markdown/SM_Transitions_with_junction.md)
      - [Junctions](markdown/sm_junctions.md)
      - [Triggers](markdown/SM_triggers.md)
      - [Hierarchy](markdown/SM_hierarchy.md)
      - [Start State](markdown/SM_start_state.md)
      - [History](markdown/SM_History.md)
      - [Conditions](markdown/SM_conditions.md)
      - [Actions](markdown/SM_actions.md)
      - [Data](markdown/SM_data.md)
      - [State Variables](markdown/SM_StateVariables.md)
      - Examples
        - [Example: Actions](markdown/SM_Example__Actions.md)
        - [Example: Condition](markdown/SM_Example__Condition.md)
        - [Example: Hierarchy State](markdown/SM_Example__Hierarchy_State.md)
        - [Example: History](markdown/SM_Example__History.md)
        - [Example: Start State](markdown/SM_Example__Start_State.md)
    - [Conditions and Actions](markdown/specifying_conditions.md)
      - [Actions/Conditions in Separate Diagrams](markdown/SM_conditions_actions.md)
      - [Using Conditions and Actions](markdown/using_conditions_actions.md)
      - [Conditions and Actions in the State Diagram](markdown/conditions_actions_state.md)
      - [Communication with Other Components](markdown/communications_components.md)
    - [Hierarchy States](markdown/SM_hierarchystates.md)
    - [Semantics of State Machines](markdown/SM_Semantics_of_State_Machines.md)
      - [Semantics: Simple State Machines](markdown/sm_semanticssimplestatemachines.md)
        - [Example 1: Transition Between States](markdown/SM_Example_1__Transition_Between_States.md)
        - [Example 2: Transitions from One State](markdown/SM_Example_2__Transitions_from_One_State.md)
        - [Example 3: Loop](markdown/SM_Example_3__Loop.md)
      - [Semantics: Junctions in State Machines](markdown/SM_Junctions_in_State_Machines.md)
        - [Example 4: If…Then…Else Construction](markdown/SM_Example_4_If_Then_Else_Construction.md)
        - [Example 5: No transition](markdown/SM_Example_5__No_transition.md)
        - [Example 6: Loop construction](markdown/SM_Example_6__Loop_construction.md)
        - [Example 7: Transitions from Multiple Start States to a Destination State (One Trigger)](markdown/SM_Example_7__Transitions_from_Multiple_Start_States_to_a_Destination_State_(One_Trigger).md)
        - [Example 8: Transitions from a Start State to Different Destination States (Multiple Triggers)](markdown/SM_Example_8__Transitions_from_a_Start_State_to_Different_Destination_States_(Multiple_Triggers).md)
        - [Example 9: Transitions from Different Start States to the Same Destination State (Multiple Triggers)](markdown/SM_Example_9__Transitions_from_Different_Start_States_to_the_Same_Destination_State_(Multiple_Triggers).md)
      - [Semantics: Hierarchical State Machines](markdown/SM_Hierarchical_State.md)
        - [Example 10: Transition to a Hierarchy State Without History](markdown/SM_Example_10__Transition_to_a_Hierarchy_State_Without_History.md)
        - [Example 11: Transition to a Hierarchy State With History](markdown/SM_Example_11__Transition_to_a_Hierarchy_State_With_History.md)
        - [Example 12: Transition Within a Hierarchy State](markdown/SM_Example_12__Transition_Within_a_Hierarchy_State.md)
        - [Example 13: Transition Between Hierarchy States](markdown/SM_Example_13__Transition_Between_Hierarchy_States.md)
        - [Example 14: Loop](markdown/SM_Example_14__Loop.md)
        - [Example 15: Transition Between Substates of Different Hierarchies](markdown/SM_Example_15__Transition_Between_Substates_of_Different_Hierarchies.md)
        - [Example 16: Transition From a Substate to a Hierarchy State](markdown/SM_Example_16__Transition_From_a_Substate_to_a_Hierarchy_State.md)
        - [Example 17: No Transition](markdown/SM_Example_17__No_Transition.md)
      - Semantics: Summary
        - [Initialization of the State Diagram](markdown/SM_Initialization_of_the_State_Diagram.md)
        - [Entering a State](markdown/SM_Entering_a_State.md)
        - [Executing a (Basis) State](markdown/SM_ExecuteBasisState.md)
        - [Leaving a State](markdown/SM_Leaving_a_State.md)
        - [Executing a Transition](markdown/SM_Executing_a_Transition.md)
    - [Experimenting with State Machines](markdown/SM_experiment_with_state_machines.md)
    - [State Machines as Classes](markdown/SM_State_Machines_as_Classes.md)
      - [Trigger Arguments for External Communication](markdown/SM_Trigger_Arguments_for_Communication.md)
      - [Rules for Trigger Arguments](markdown/SM_Rules_for_Trigger_Arguments.md)
    - [Public Methods](markdown/SM_public_methods.md)
    - Optimizing the State Machine
      - [Optimizing the State Machine](markdown/SM_Optimizing_the_State_Machine.md)
      - [Optimized for Response Time](markdown/SM_Optimized_for_Response_Time.md)
      - [Optimized for Run Time](markdown/SM_Optimized_for_Run_Time.md)
        - [Actions or Conditions](markdown/SM_Actions_or_Conditions.md)
        - [Junctions](markdown/SM_Junctions_1.md)
      - [Optimized for Code Size](markdown/SM_Optimized_for_Code_Size.md)
        - [Actions or Conditions](markdown/SM_Actions_or_Conditions1.md)
        - [Static Actions of Hierarchy States](markdown/Static_actions_of_hierarchy_states_1.md)
        - [Example 1: Code Generation](markdown/SM_Example_1_CodeGeneration.md)
        - [Example 2: Error Generation](markdown/SM_Example_2_Static_action_of_Hierarchy_States.md)
        - [Hierarchical Code Generation](markdown/SM_Hierarchical_Code_Generation.md)
        - [Hierarchical Code Generation - Example](markdown/SM_Hierarchical_Code_Generation_Exapmle_1.md)
        - [Triggers and Trigger Arguments](markdown/SM_Triggers_and_trigger_arguments.md)
  - Instructions
    - [Creating a State Machine](markdown/SM_creating_new.md)
    - [Specifying a Reinitialization Method for State Variables](markdown/sm_specifyresetmethod_statevariables.md)
    - [Filtering the Tree Pane](markdown/sm_filtering_the_component_pane.md)
    - Searching the Tree Pane
    - [Searching/Deleting Unused Elements](markdown/sm_unusedelements.md)
    - [Searching/Deleting Unused Methods/Triggers](markdown/za_searchdel_unused_methodstriggers.md)
    - [Viewing all Occurrences of an Element](markdown/sm_showoccurrences.md)
      - [Example: Show Occurrences](markdown/ZA_Example_ShowOccurrence.md)
    - Copying Elements in the Outline Tab
    - Configuring a Toolbar
    - Drawing the State Diagram
      - [Laying Out the States for the Diagram](markdown/layout_states.md)
      - [Defining the Starting State](markdown/SM_Define_StartState.md)
      - [Editing a State](markdown/editing_state.md)
      - [Renaming States](markdown/renaming_state.md)
      - [Representing States in Color](markdown/SM_representing_colors.md)
      - [Copying a State Layout](markdown/copy_statelayout.md)
      - [Creating Junctions](markdown/creating_junctions.md)
      - [Editing Junctions](markdown/editing_junctions.md)
      - [Creating a Transition](markdown/create_transition.md)
      - [Changing the Path of a Transition](markdown/change_path_transition.md)
      - [Changing the Appearance of a Transition](markdown/change_appearance_transition.md)
      - [Inserting a Trigger](markdown/SM_insert_trigger.md)
    - Hierarchy States
      - [Adding a Closed Hierarchy State](markdown/SM_ClosedHierarchy.md)
      - [Moving Between Hierarchy Levels](markdown/SM_Move_between_hierarchies.md)
      - [Setting up a Hierarchy State with a History](markdown/SetupHierarchy.md)
      - [Adding a Pin to a Hierarchy State](markdown/addpin.md)
      - [Resolving a Hierarchy State](markdown/ResolveHirearchy.md)
      - [Adding an Open Hierarchy State](markdown/addopenhierarchy.md)
      - [Activating/Deactivating Hierarchical Code Generation](markdown/SM_To_Activate_Deactivate_Hierarchical_Code_Generation.md)
    - Specifying Conditions and Actions
      - [Editing Actions/Conditions in Separate Diagrams](markdown/SM_ActionsConditions_SeparateDiagrams.md)
        - [Creating a BDE Diagram for Actions/Conditions](markdown/SM_blockDiagram.md)
        - [Creating an ESDL Diagram for Actions/Conditions](markdown/SM_Create_ESDL_Diagram_for_ActionsConditions.md)
        - [Adding an Action or Condition](markdown/SM_add_condition.md)
        - [Opening a Diagram for Actions/Conditions](markdown/SM_opening_diagram.md)
        - [Activating/Deactivating Optimization of Static Actions](markdown/To_Activate_Deactivate_Optimization_of_Static_Actions.md)
        - [Activating/Deactivating Auto-Inlining](markdown/SM_To_Activate_Deactivate_Auto-Inlining.md)
      - Using Conditions and Actions
        - [Assigning Triggers, Priorities, Conditions and Actions to a Transition](markdown/SM_AssignTriggers.md)
        - [Assigning Actions to a State](markdown/SM_AssignActions.md)
        - [Editing Actions/Conditions](markdown/SM_edit_actions_conditions.md)
      - [Actions/Conditions in the State Diagram](markdown/SM_ActionsConditions_StateDiagram.md)
        - [Specifying Actions in the State Editor](markdown/specifying_actions.md)
        - [Cutting, Copying and Pasting ESDL Code](markdown/cut_copyand%20paste.md)
        - [Specifying Conditions and Transition Actions in the Transition Editor](markdown/specifying_conditions_transition.md)
        - [Automatic Insertion of Comment Lines](markdown/automatic_insertion.md)
        - [Activating/Deactivating Outlining of Actions/Conditions](markdown/SM_activate_deactivate_outlining_of_actions_conditions_.md)
      - Communication with Other Components
        - [Adding Inputs and Outputs to the State Machine](markdown/adding_inputs.md)
        - [Adding a Trigger Argument](markdown/adding_triggerargument.md)
        - [Adding Arguments to Conditions/Actions](markdown/adding_arguments.md)
    - Public Methods
      - [Creating a Public Diagram](markdown/SM_create_public_diagram.md)
      - [Adding a Public Method](markdown/add_public_method.md)
      - [Using a Public Method for External Communication](markdown/using_pm_external.md)
      - [Using Public Methods in Actions and Conditions](markdown/use_pm_actions.md)
    - Experimenting with State Machines
      - [Analyzing a Diagram](markdown/analyze_diagram.md)
      - [Using the State Machine Animation Feature](markdown/using-statemachine.md)
      - [Changing the Animation Color](markdown/animation_color.md)
      - [Displaying Information about States or Transitions](markdown/SM_display_info.md)
      - [Resetting the State Machine](markdown/SM_resetting.md)
  - Reference to User Interface
    - [State Machine Editor - Window Elements](markdown/SM_description_of_window_elements.md)
    - [Menus](markdown/SM_menubar.md)
      - [File Menu](markdown/SM_File_Menu.md)
      - [Edit Menu](markdown/SM_Edit_Menu.md)
      - [View Menu](markdown/SM_View_Menu.md)
      - [Insert Menu](markdown/SM_Insert_Menu.md)
      - [Build Menu](markdown/SM_Build_Menu.md)
      - [Extras Menu](markdown/SM_Extras_Menu.md)
      - [Tools Menu](markdown/SM_Tools_Menu.md)
      - [Window Menu](markdown/SM_Window_Menu.md)
      - [Help Menu](markdown/SM_Help_Menu.md)
    - [Toolbars](markdown/SM_Toolbar.md)
      - [Toolbar General](markdown/SM_Toolbar_General.md)
      - [Toolbar Elements](markdown/SM_Toolbar_Elements.md)
      - [Toolbar Basic Blocks](markdown/SM_Toolbar_Basic_Blocks.md)
    - [Tree Pane](markdown/SM_TreePane.md)
      - [Context Menu for Components and Elements](markdown/sm_contextmenu_componentelement.md)
      - [Context Menu for Diagrams and Methods](markdown/sm_contextmenu_diagrammethod.md)
    - [Palettes](markdown/SM_Palettes.md)
      - [Elements Palette](markdown/SM_Elements_Palette.md)
      - [Basic Blocks Palette](markdown/SM_Basic_Blocks.md)
    - Views
      - [Specification View](markdown/SM_Specification_View.md)
      - [Context Menu Specification View](markdown/SM_ContextMenu_SpecificationView.md)
      - [Search Results View](markdown/SM_SearchResultsView.md)
      - [Browse View](markdown/SM_browse_view.md)
      - [Context Menus Browse View and Search Results View](markdown/sm_contextmenubrowseview.md)
    - [State Editor](markdown/SM_State_Editor_Window.md)
      - [Edit Menu (State + Transition Editor)](markdown/SM_EditMenuStateTransitionEditor.md)
      - [<Action> Tab](markdown/SM_Action_Tab.md)
    - [Transition Editor](markdown/SM_Transition_Editor_Window.md)
      - [Edit Menu (State + Transition Editor)](markdown/SM_EditMenuStateTransitionEditor.md)
      - [Condition Tab](markdown/SM_Condition_Tab.md)
      - [Action Tab](markdown/SM_ActionTrans_Tab.md)
    - Toolbar Configuration Window
