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.
42 build Sched_Conf_Runtime
43 run Sched_Conf_Runtime