docs: def get_default_input_values_for_state(self, state):
          """ Computes the default input values for a state
  
          :param State state: the state to get the default input values for
  
          """
          from rafcon.core.states.library_state import LibraryState
          result_dict = {}
          for input_port_key, value in state.input_data_ports.items():
              if isinstance(state, LibraryState):
                  if state.use_runtime_value_input_data_ports[input_port_key]:
                      default = state.input_data_port_runtime_values[input_port_key]
                  else:
                      default = value.default_value
              else:
                  default = value.default_value
              # if the user sets the default value to a string starting with $, try to retrieve the value
              # from the global variable manager
              if isinstance(default, string_types) and len(default) > 0 and default[0] == '$':
                  from rafcon.core.singleton import global_variable_manager as gvm
                  var_name = default[1:]
                  if not gvm.variable_exist(var_name):
                      logger.error("The global variable '{0}' does not exist".format(var_name))
                      global_value = None
                  else:
                      global_value = gvm.get_variable(var_name)
                  result_dict[value.name] = global_value
              else:
                  # set input to its default value
                  result_dict[value.name] = copy.copy(default)
          return result_dict