| 68 | =================================================================== */ |
| 69 | |
| 70 | void init_soar_agent(agent* thisAgent) |
| 71 | { |
| 72 | |
| 73 | /* JC ADDED: initialize the rhs function linked list */ |
| 74 | thisAgent->rhs_functions = NIL; |
| 75 | |
| 76 | /* --- initialize everything --- */ |
| 77 | init_symbol_tables(thisAgent); |
| 78 | create_predefined_symbols(thisAgent); |
| 79 | init_production_utilities(thisAgent); |
| 80 | init_built_in_rhs_functions(thisAgent); |
| 81 | init_rete(thisAgent); |
| 82 | init_lexer(thisAgent); |
| 83 | init_firer(thisAgent); |
| 84 | init_decider(thisAgent); |
| 85 | init_soar_io(thisAgent); |
| 86 | init_chunker(thisAgent); |
| 87 | init_tracing(thisAgent); |
| 88 | init_explain(thisAgent); /* AGR 564 */ |
| 89 | select_init(thisAgent); |
| 90 | predict_init(thisAgent); |
| 91 | |
| 92 | init_memory_pool(thisAgent, &(thisAgent->gds_pool), sizeof(goal_dependency_set), "gds"); |
| 93 | |
| 94 | init_memory_pool(thisAgent, &(thisAgent->rl_info_pool), sizeof(rl_data), "rl_id_data"); |
| 95 | init_memory_pool(thisAgent, &(thisAgent->rl_et_pool), sizeof(rl_et_map), "rl_et"); |
| 96 | init_memory_pool(thisAgent, &(thisAgent->rl_rule_pool), sizeof(rl_rule_list), "rl_rules"); |
| 97 | |
| 98 | init_memory_pool(thisAgent, &(thisAgent->wma_decay_element_pool), sizeof(wma_decay_element), "wma_decay"); |
| 99 | init_memory_pool(thisAgent, &(thisAgent->wma_decay_set_pool), sizeof(wma_decay_set), "wma_decay_set"); |
| 100 | init_memory_pool(thisAgent, &(thisAgent->wma_wme_oset_pool), sizeof(wma_pooled_wme_set), "wma_oset"); |
| 101 | init_memory_pool(thisAgent, &(thisAgent->wma_slot_refs_pool), sizeof(wma_sym_reference_map), "wma_slot_ref"); |
| 102 | |
| 103 | init_memory_pool(thisAgent, &(thisAgent->epmem_wmes_pool), sizeof(epmem_wme_stack), "epmem_wmes"); |
| 104 | init_memory_pool(thisAgent, &(thisAgent->epmem_info_pool), sizeof(epmem_data), "epmem_id_data"); |
| 105 | init_memory_pool(thisAgent, &(thisAgent->smem_wmes_pool), sizeof(smem_wme_stack), "smem_wmes"); |
| 106 | init_memory_pool(thisAgent, &(thisAgent->smem_info_pool), sizeof(smem_data), "smem_id_data"); |
| 107 | |
| 108 | init_memory_pool(thisAgent, &(thisAgent->epmem_literal_pool), sizeof(epmem_literal), "epmem_literals"); |
| 109 | init_memory_pool(thisAgent, &(thisAgent->epmem_pedge_pool), sizeof(epmem_pedge), "epmem_pedges"); |
| 110 | init_memory_pool(thisAgent, &(thisAgent->epmem_uedge_pool), sizeof(epmem_uedge), "epmem_uedges"); |
| 111 | init_memory_pool(thisAgent, &(thisAgent->epmem_interval_pool), sizeof(epmem_interval), "epmem_intervals"); |
| 112 | |
| 113 | thisAgent->epmem_params->exclusions->set_value("epmem"); |
| 114 | thisAgent->epmem_params->exclusions->set_value("smem"); |
| 115 | |
| 116 | thisAgent->smem_params->base_incremental_threshes->set_string("10"); |
| 117 | |
| 118 | #ifdef REAL_TIME_BEHAVIOR |
| 119 | /* RMJ */ |
| 120 | init_real_time(thisAgent); |
| 121 | #endif |
| 122 | |
| 123 | |
| 124 | /* --- add default object trace formats --- */ |
| 125 | add_trace_format(thisAgent, false, FOR_ANYTHING_TF, NIL, |
| 126 | "%id %ifdef[(%v[name])]"); |
| 127 | add_trace_format(thisAgent, false, FOR_STATES_TF, NIL, |
no test coverage detected