summaryrefslogtreecommitdiff
path: root/TAO/CIAO/tests/RTCCM/Priority_Test/README
blob: 1da8a82ff3ed4558318674522ccc3a5fd86d8ae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

This directory containing the component implementations that we use to
demonstrate how real-time behaviors can be composed into an
application using CIAO's real-time extension.  Under the "descriptors"
subdirectory, you can find several example applications that consist
of different number of components, with different real-time behaviors
specifications.  Component implementations used in these examples
are organized  by component types under subdirectories as:

* Controller:

  Subdirectory Controller contains definition for component type
  Controller.  A controller trigger the connecting worker receptacle
  interface to perform some amount of work.  Each controller component
  implementation implements a different strategy of invoking the
  "worker" receptacle.  For example,

  * The Controller_exec.* files contain the implementation of a
  controller component that requests the "worker" to perform certain
  amount of work (specified via the "start" method) continuously for
  1000 times and print out the performance statistics (throughput,
  latency, etc.)  of making these 1000 requests.

  * The Rate_Controller.* files contain the implementation of a
  rate-based controller.  When the "start" method of its supported
  interface is invoked, the component start requsting the connecting
  "worker" to perform specified amount of work at certain
  predetermined rate (the rate is predetermined and is generated using
  the timer in ACE_Ractor.)  When the "stop" method of its supported
  interface is called, the component stop the fix-rate requests and
  print out the performance of the requests made between start and
  stop methods are called.  This will show the actual rate the
  controller are able to sustain.  The Rate_Controller.* files define
  the homes for 3 Rate_Controllers that try to request the worker to
  perform work at 25, 50, and 75 hertz.

* Worker: A worker component performs some amount of "work".  Two
  Worker component implementations are provided.  Only CB_Worker is
  used in the tests.

  * CB_Worker.* files contain a compute-bound worker implementation.
  Upon request, it tries to find a large prime number a certain number
  of times (i.e., the amount of work.)

  * IOB_Wroker.* files contain an I/O-bound worker implementation that
  simply print out the requested amount of work upon request.


Several application assemblies are used to demonstrate how the
real-time extension in CIAO enforces the composed real-time behaviors.
The following document "NOTE.txt" under the "descriptors" subdirectory
explains how to run these examples.