summaryrefslogtreecommitdiff
path: root/CIAO/docs/RT-Extension.html
blob: 3414a30b78e353e9adfc45b9f924197374b8d636 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<!-- $Id$ -->
<html> <head>
<title>Using the Real-time Extension in CIAO</title>
</head>

<body>
<h1>Using the Real-time Extension in CIAO</h1>

<!-- ============================================================ -->
<h3>Abstract</H3>

The real-time extension support in CIAO enables application developers
to deploy real-time applications by specifying real-time
configurations as XML descriptors without modifying the component
implementation.  In fact, embedding the real-time configuration
policies in component implementations decrease the reusability of the
software components.

Different types of real-time policy can be applied at different
stage of the component development lifecycle, e.g.,
<ul>
  <li>Component implementation
  <li>Component packaging
  <li>Application composition
  <li>Target platform configuration
  <li>Deployment configuration
</ul>

Real-time policies can also be applied to various scope in an
applications, e.g., many real-time policies can be associate with some
or all of the following ORB mechanisms:
<ul>
  <li>ORBs
  <li>POAs
  <li>Threads
  <li>Object references
</ul>

<!-- ============================================================ -->
<h3>CIAO's Real-time Extension</h3>

CIAO extends CCM's assembly descriptor to support the specifications
of real-time policies.  This mechanism allows you to allocate
resources that are global to a RTComponentServer and to define real-time
policies required by a component installation.  Currently, CIAO
support configuration of certain real-time policies at the POA level,
i.e., in CCM's terminology, the container level.  These policies
include:

<ol>
  <li>Priority Model Policy
  <li>Threadpool Policy
  <li>Banded Connection Policy
</ol>

The kind of resources that are global to a RT component server that CIAO
real-time extension specifies include:

<ol>
  <li>Threadpool
  <li>Threadpool with lanes
  <li>Connection bands
</ol>

<!-- ============================================================ -->
<h3>Using the CIAO Real-time Extension</h3>

Application developers can define the aforementioned Real-Time
extension Descriptor (.rtd file) that CIAO defines to allocate
resources and specify real-time policies.  The Document Type
Definition (DTD) for the real-time extension description is defined in
this <a href="XML/ciao_rt_cad_ext.dtd">file</a>.  Each .RTD file
specifies the required resources and the policy definitions within a
RTComponentServer.

A RTComponentServer can be associated to a .RTD file.  This is done by
using the "extension" element with "class" attributed set to
"RT-CAD-EXT", within a processcollocation or hostcollocation element.
Here is an example:
<code><pre>

  &lt;processcollocation&gt;
    .
    .
    .
   &lt;extension class="RT-CAD-EXT" origin="CIAO"&gt;somefile.rtd&lt;/extension&gt;
    .
  &lt;/processcollocation&gt;
</pre></code>

Each .RTD file contains the two major subelements:
<ul>
  <li>&lt;rtresources&gt;: defines all the RT resources the assciating
      RTComponentServer should provide.
  <li>&lt;rtpolicysets&gt;: defines named collections of policies
      (&lt;rtpolicyset&gt;) that apply to component installations in
      the RTComponentServer.
</ul>

The &lt;rtpolicyset&gt;'s defined in the .RTD file can be associated
to a component installation, i.e., a component placement within the
RTComponentServer to which the .RTD file is associated.  For example,

<code><pre>
   &lt;homeplacement&gt;
     .
     .
     ,
    &lt;extension class="RT-POLICY-SET"
                 origin="CIAO"&gt;A_POLICY_NAME&lt;/extension&gt;
     .
   &lt;/homeplacement&gt;
</pre></code>

<h3>Future Addition</h3>

As mentioned earlier, RT policies can be applied at various stages of
component-based deployment lifecycle and at different scope.  For
example, applying RTpolicies at the ORB level, or at the object
reference level of a component receptacle.  These extensions involve
at least, extending the "appropriate" XML descriptor definition and
extending the CIAO runtime, including core and/or the CIDL generated
code to configure the policies.  How other RT-related policies can be
added will be reviewed in my thesis available shortly.

<hr>
<address>Nanbor Wang</address>
<!-- hhmts start -->
Last modified: Sun Nov 30 19:23:25 Mountain Standard Time 2003
<!-- hhmts end -->
</body> </html>