Using the Real-time Extension in CIAO

Abstract

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., 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:

CIAO's Real-time Extension

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:
  1. Priority Model Policy
  2. Threadpool Policy
  3. Banded Connection Policy
The kind of resources that are global to a RT component server that CIAO real-time extension specifies include:
  1. Threadpool
  2. Threadpool with lanes
  3. Connection bands

Using the CIAO Real-time Extension

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 file. 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:

  <processcollocation>
    .
    .
    .
   <extension class="RT-CAD-EXT" origin="CIAO">somefile.rtd</extension>
    .
  </processcollocation>
Each .RTD file contains the two major subelements: The <rtpolicyset>'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,
   <homeplacement>
     .
     .
     ,
    <extension class="RT-POLICY-SET"
                 origin="CIAO">A_POLICY_NAME</extension>
     .
   </homeplacement>

Future Addition

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.
Nanbor Wang
Last modified: Sun Nov 30 19:23:25 Mountain Standard Time 2003