Soar Kernel
9.3.2 08-06-12
|
Go to the source code of this file.
Typedefs | |
typedef struct agent_struct | agent |
typedef char | Bool |
typedef unsigned char | byte |
typedef struct instantiation_struct | instantiation |
typedef struct preference_struct | preference |
typedef struct slot_struct | slot |
typedef union symbol_union | Symbol |
typedef struct wme_struct | wme |
typedef struct agent_struct agent |
typedef struct instantiation_struct instantiation |
typedef struct preference_struct preference |
typedef struct slot_struct slot |
typedef union symbol_union Symbol |
typedef struct wme_struct wme |
Definition at line 2432 of file decide.cpp.
References abort_with_fatal_error(), wme_struct::attr, agent_struct::attribute_symbol, BUFFER_MSG_SIZE, symbol_union::id, identifier_struct::impasse_wmes, identifier_struct::lower_goal, wme_struct::next, NIL, and wme_struct::value.
Referenced by decide_context_slot(), and decision_consistent_with_current_preferences().
void clear_goal_stack | ( | agent * | thisAgent | ) |
Definition at line 2791 of file decide.cpp.
References agent_struct::active_goal, do_buffered_wm_and_ownership_changes(), do_input_cycle(), do_output_cycle(), agent_struct::highest_goal_whose_context_changed, NIL, remove_existing_context_and_descendents(), agent_struct::top_goal, and agent_struct::top_state.
Referenced by reinitialize_soar().
unsigned int count_candidates | ( | preference * | candidates | ) |
Definition at line 3489 of file decide.cpp.
References identifier_struct::gds, agent_struct::gds_pool, gds_struct::goal, symbol_union::id, NIL, print_with_symbols(), and gds_struct::wmes_in_gds.
Referenced by decide_non_context_slot().
void create_top_goal | ( | agent * | thisAgent | ) |
Definition at line 2784 of file decide.cpp.
References create_new_context(), do_buffered_wm_and_ownership_changes(), agent_struct::highest_goal_whose_context_changed, NIL, and NONE_IMPASSE_TYPE.
Referenced by init_agent_memory().
void do_buffered_wm_and_ownership_changes | ( | agent * | thisAgent | ) |
Definition at line 2729 of file decide.cpp.
References do_buffered_acceptable_preference_wme_changes(), do_buffered_link_changes(), do_buffered_wm_changes(), and remove_garbage_slots().
Referenced by clear_goal_stack(), create_top_goal(), do_decision_phase(), do_input_cycle(), do_working_memory_phase(), and remove_current_decision().
void do_decision_phase | ( | agent * | thisAgent, |
bool | predict = false |
||
) |
Definition at line 2761 of file decide.cpp.
References decide_context_slots(), decide_non_context_slots(), do_buffered_wm_and_ownership_changes(), exploration_update_parameters(), and predict_srand_restore_snapshot().
Referenced by do_one_top_level_phase(), and predict_get().
void do_working_memory_phase | ( | agent * | thisAgent | ) |
Definition at line 2737 of file decide.cpp.
References APPLY_PHASE, agent_struct::current_phase, decide_non_context_slots(), do_buffered_wm_and_ownership_changes(), agent_struct::FIRING_TYPE, IE_PRODS, PE_PRODS, print(), agent_struct::sysparams, TRACE_PHASES_SYSPARAM, xml_att_val(), xml_begin_tag(), and xml_end_tag().
Referenced by do_one_top_level_phase(), epmem_respond_to_cmd(), smem_respond_to_cmd(), and wma_go().
void elaborate_gds | ( | agent * | thisAgent | ) |
Definition at line 2928 of file decide.cpp.
References ACCEPTABLE_PREFERENCE_TYPE, add_wme_to_gds(), preference_struct::attr, condition_struct::bt, elaborate_gds(), FALSE, fast_remove_from_dll, find_slot(), free_parent_list(), wme_struct::gds, identifier_struct::gds, instantiation_struct::GDS_evaluated_already, agent_struct::gds_pool, wme_struct::gds_prev, gds_struct::goal, preference_struct::id, symbol_union::id, pi_struct::inst, preference_struct::inst, identifier_struct::level, bt_info_struct::level, instantiation_struct::match_goal, instantiation_struct::match_goal_level, production_struct::name, pi_struct::next, preference_struct::next, condition_struct::next, NIL, preference_struct::o_supported, agent_struct::parent_list_head, POSITIVE_CONDITION, wme_struct::preference, slot_struct::preferences, pi_struct::prev, print(), print_instantiation_with_wmes(), print_preference(), print_with_symbols(), print_wme(), instantiation_struct::prod, TIMETAG_WME_TRACE, instantiation_struct::top_of_instantiated_conditions, TRUE, condition_struct::type, uniquely_add_to_head_of_dll(), wme_struct::value, preference_struct::value, bt_info_struct::wme_, and gds_struct::wmes_in_gds.
Referenced by decide_non_context_slot(), and elaborate_gds().
void free_parent_list | ( | agent * | thisAgent | ) |
Definition at line 3477 of file decide.cpp.
References pi_struct::next, NIL, and agent_struct::parent_list_head.
Referenced by decide_non_context_slot(), and elaborate_gds().
Definition at line 3386 of file decide.cpp.
clientData | ClientData* |
interp | Tcl_Interp* |
void init_decider | ( | agent * | thisAgent | ) |
Definition at line 2721 of file decide.cpp.
References init_memory_pool(), agent_struct::preference_pool, agent_struct::slot_pool, and agent_struct::wme_pool.
Referenced by init_soar_agent().
Definition at line 161 of file decide.cpp.
References slot_struct::acceptable_preference_changed, agent_struct::context_slots_with_changed_acceptable_preferences, agent_struct::dl_cons_pool, insert_at_head_of_dll, and dl_cons_struct::item.
Referenced by add_preference_to_tm(), and remove_preference_from_tm().
Definition at line 302 of file decide.cpp.
References identifier_struct::could_be_a_link_from_below, symbol_union::id, identifier_struct::isa_goal, identifier_struct::isa_impasse, identifier_struct::link_count, print(), print_with_symbols(), agent_struct::promoted_ids, identifier_struct::promotion_level, push(), symbol_add_ref(), and TRUE.
Referenced by add_preference_to_tm(), add_wme_to_wm(), and create_new_impasse().
Definition at line 438 of file decide.cpp.
References agent_struct::disconnected_ids, agent_struct::dl_cons_pool, symbol_union::id, agent_struct::ids_with_unknown_level, insert_at_head_of_dll, identifier_struct::isa_goal, identifier_struct::isa_impasse, dl_cons_struct::item, JUST_UPDATE_COUNT, identifier_struct::level, identifier_struct::link_count, agent_struct::link_update_mode, print(), print_with_symbols(), remove_from_dll, symbol_add_ref(), identifier_struct::unknown_level, and UPDATE_DISCONNECTED_IDS_LIST.
Referenced by remove_existing_attribute_impasse_for_slot(), remove_existing_context_and_descendents(), remove_preference_from_tm(), and remove_wme_from_wm().
void print_lowest_slot_in_context_stack | ( | agent * | thisAgent | ) |
Definition at line 2805 of file decide.cpp.
References agent_struct::bottom_goal, agent_struct::d_cycle_count, FOR_OPERATORS_TF, FOR_STATES_TF, identifier_struct::higher_goal, symbol_union::id, identifier_struct::operator_slot, print_stack_trace(), TRUE, wme_struct::value, and slot_struct::wmes.
Referenced by do_one_top_level_phase(), and init_agent_memory().
Definition at line 1534 of file decide.cpp.
References symbol_union::id, slot_struct::impasse_id, slot_struct::impasse_type, identifier_struct::impasse_wmes, NIL, NONE_IMPASSE_TYPE, post_link_removal(), REMOVE_ATTRIBUTE_IMPASSE_CALLBACK, remove_wme_list_from_wm(), soar_invoke_callbacks(), and symbol_remove_ref().
Referenced by decide_non_context_slot(), and garbage_collect_id().
Definition at line 2134 of file decide.cpp.
References preference_struct::all_of_goal_next, preference_struct::all_of_goal_prev, agent_struct::bottom_goal, agent_struct::chunk_free_problem_spaces, agent_struct::chunky_problem_spaces, cons_equality_fn(), rl_data_struct::eligibility_traces, identifier_struct::epmem_cmd_header, identifier_struct::epmem_header, identifier_struct::epmem_info, agent_struct::epmem_info_pool, epmem_reset(), identifier_struct::epmem_result_header, epmem_data_struct::epmem_wmes, agent_struct::epmem_wmes_pool, extract_list_elements(), FALSE, free_list(), identifier_struct::gds, gds_struct::goal, ms_change_struct::goal, identifier_struct::higher_goal, symbol_union::id, identifier_struct::impasse_wmes, preference_struct::in_tm, identifier_struct::level, identifier_struct::lower_goal, identifier_struct::ms_retractions, ms_change_struct::next_in_level, NIL, agent_struct::nil_goal_retractions, preference_struct::on_goal_list, identifier_struct::operator_slot, POP_CONTEXT_STACK_CALLBACK, post_link_removal(), identifier_struct::preferences_from_goal, ms_change_struct::prev_in_level, rl_data_struct::prev_op_rl_rules, agent_struct::reason_for_stopping, remove_existing_context_and_descendents(), remove_from_dll, remove_preference_from_clones(), remove_preference_from_tm(), remove_wme_list_from_wm(), remove_wmes_for_context_slot(), identifier_struct::reward_header, rl_clear_refs(), rl_enabled(), agent_struct::rl_et_pool, identifier_struct::rl_info, agent_struct::rl_info_pool, rl_perform_update(), agent_struct::rl_rule_pool, rl_tabulate_reward_value_for_goal(), identifier_struct::smem_cmd_header, identifier_struct::smem_header, identifier_struct::smem_info, agent_struct::smem_info_pool, smem_reset(), identifier_struct::smem_result_header, smem_data_struct::smem_wmes, agent_struct::smem_wmes_pool, soar_invoke_callbacks(), agent_struct::stop_soar, agent_struct::substate_break_level, symbol_remove_ref(), agent_struct::top_goal, and update_impasse_items().
Referenced by clear_goal_stack(), decide_context_slot(), gds_invalid_so_remove_goal(), remove_current_decision(), remove_existing_context_and_descendents(), and remove_operator_if_necessary().
Definition at line 41 of file consistency.cpp.
References agent_struct::current_phase, symbol_union::id, slot_struct::id, identifier_struct::lower_goal, print(), print_with_symbols(), print_wme(), remove_existing_context_and_descendents(), remove_wmes_for_context_slot(), agent_struct::soar_verbose_flag, agent_struct::sysparams, TRACE_OPERAND2_REMOVALS_SYSPARAM, TRACE_WM_CHANGES_SYSPARAM, wme_struct::value, and slot_struct::wmes.
Referenced by do_acceptable_preference_wme_changes_for_slot().
Definition at line 2114 of file decide.cpp.
References NIL, wme_struct::preference, preference_remove_ref(), remove_wme_from_wm(), and slot_struct::wmes.
Referenced by decide_context_slot(), remove_current_decision(), remove_existing_context_and_descendents(), and remove_operator_if_necessary().
byte run_preference_semantics_for_consistency_check | ( | agent * | thisAgent, |
slot * | s, | ||
preference ** | result_candidates | ||
) |
Definition at line 1404 of file decide.cpp.
References run_preference_semantics().
Referenced by decision_consistent_with_current_preferences().
Definition at line 2405 of file decide.cpp.
References abort_with_fatal_error(), wme_struct::attr, BUFFER_MSG_SIZE, CONFLICT_IMPASSE_TYPE, agent_struct::conflict_symbol, CONSTRAINT_FAILURE_IMPASSE_TYPE, agent_struct::constraint_failure_symbol, symbol_union::id, agent_struct::impasse_symbol, identifier_struct::impasse_wmes, identifier_struct::lower_goal, wme_struct::next, NIL, NO_CHANGE_IMPASSE_TYPE, agent_struct::no_change_symbol, NONE_IMPASSE_TYPE, agent_struct::none_symbol, TIE_IMPASSE_TYPE, agent_struct::tie_symbol, and wme_struct::value.
Referenced by decide_context_slot(), decision_consistent_with_current_preferences(), and generate_chunk_name_sym_constant().
void uniquely_add_to_head_of_dll | ( | agent * | thisAgent, |
instantiation * | inst | ||
) |
Definition at line 2862 of file decide.cpp.
References pi_struct::inst, production_struct::name, pi_struct::next, NIL, agent_struct::parent_list_head, pi_struct::prev, print_with_symbols(), and instantiation_struct::prod.
Referenced by decide_non_context_slot(), and elaborate_gds().