Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

scheduler.h

Go to the documentation of this file.
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);

Generated on Thu Dec 11 13:00:20 2003 for Soar Kernel by doxygen 1.3.5