Merge pull request #2303 from jwillemsen/jwi-803
[ACE_TAO.git] / TAO / orbsvcs / tests / Sched_Conf / README
blobd28deee51ca84d24c9ca1d515af0613c883ae6cc
3 Overview:
5  The scheduling service can run in one of two different modes of
6  operation, an off-line configuration mode, and a run-time execution mode.
7  The application uses the Scheduler_Factory to specify in which mode
8  it would like to use the scheduling service.
10  In the configuration mode, the application registers RT_Infos containing
11  operation characteristics with the off-line scheduler, and also specifies
12  operation dependencies. The Event Channel also registers RT_Infos for its
13  own operations, and specifies any additional dependencies introduced by
14  subscription or event correllation.
16  Once all operations are registered, the  application invokes the
17  scheduler's compute_scheduling method.  The scheduler generates a
18  "schedule" consisting of operation priorities and sub-priorities, and
19  determines whether or not the schedule is feasible.  The scheduler also
20  produces queue specification information that can be used to configure
21  the dispatching module's number and kinds of queues (this
22  automatic dispatching module configuration will appear in a TAO release
23  *very* soon). The application then may ask the config scheduler to dump
24  it's schedule to a header file.
26  The Sched_Conf.cpp file in this directory is an example of how this is done.
27  Building and running the Sched_Conf executable will produce a header file
28  called Sched_Conf_Runtime.h, which is included by Sched_Conf_Runtime.cpp.
30  The dumped header file contains tables with the static scheduling and
31  configuration information. The Sched_Conf_Runtime application passes this
32  information to the run-time scheduler at start-up.  The application may also
33  re-register its operations to verify the correct operations were loaded. The
34  Sched_Conf_Runtime does this, and in fact exercises a number of methods
35  of the run-time scheduler to ensure it gives correct responses for the
36  table of operations with which it was instantiated.
38 Program operation:
40  build Sched_Conf
41  run Sched_Conf
42  build Sched_Conf_Runtime
43  run Sched_Conf_Runtime