00001 /************************************************************************* 00002 * 00003 * file: scheduler.h 00004 * 00005 * ======================================================================= 00006 */ 00007 /* This code is now obsolete, replaced by code in the Tcl interface. 00008 00009 The schedule_agents function is the entry point to the multi-agent 00010 soar scheduler. A round robin scheduling protocol is used for now. 00011 00012 In a cycle all agents are run for their specified "agent-go" duration 00013 and the X-window event queue is processed (if applicable). The allowed 00014 values for input are some nuber of cycles. With an input of -1, the 00015 scheduler continues until all agents are stopped. This may happen 00016 in normal agent processing termination or through a user interrupt. 00017 */ 00018 /* ======================================================================= 00019 * 00020 * Copyright 1995-2003 Carnegie Mellon University, 00021 * University of Michigan, 00022 * University of Southern California/Information 00023 * Sciences Institute. All rights reserved. 00024 * 00025 * Redistribution and use in source and binary forms, with or without 00026 * modification, are permitted provided that the following conditions are met: 00027 * 00028 * 1. Redistributions of source code must retain the above copyright notice, 00029 * this list of conditions and the following disclaimer. 00030 * 2. Redistributions in binary form must reproduce the above copyright notice, 00031 * this list of conditions and the following disclaimer in the documentation 00032 * and/or other materials provided with the distribution. 00033 * 00034 * THIS SOFTWARE IS PROVIDED BY THE SOAR CONSORTIUM ``AS IS'' AND ANY EXPRESS OR 00035 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00036 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 00037 * EVENT SHALL THE SOAR CONSORTIUM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 00038 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00039 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00040 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00041 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00042 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00043 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00044 * The views and conclusions contained in the software and documentation are 00045 * those of the authors and should not be interpreted as representing official 00046 * policies, either expressed or implied, of Carnegie Mellon University, the 00047 * University of Michigan, the University of Southern California/Information 00048 * Sciences Institute, or the Soar consortium. 00049 * ======================================================================= 00050 */ 00051 00052 #include "soarkernel.h" 00053 00054 extern long scheduler_cycle_count; 00055 00056 extern void run_all_agents(long go_number, enum go_type_enum go_type, 00057 Symbol * go_slot_attr, goal_stack_level go_slot_level); 00058 00059 extern void run_current_agent(long go_number, enum go_type_enum go_type, 00060 Symbol * go_slot_attr, goal_stack_level go_slot_level);
1.3.5