### Release Information for the Component Integrated ACE ORB (CIAO)

This document contains information on the following topics related to the current release of CIAO:

Introduction Current Status of CIAO Status of DAnCE TODO list

## Current Status

1. The first cut of the new DnC specification implementation, which we call DAnCE is available in this distribution. DAnCE is housed under `$CIAO_ROOT` . We plan to enhance DAnCE in the next few months. We believe DAnCE will replace existing tool sets in `$CIAO_ROOT/tools`. There are a few features in `$CIAO_ROOT/tools` that are missing in the DAnCE implementation. Please see TODO file for more details. We plan to implement them soon and use DAnCE continuously.
2. The first cut of DAnCE includes two parts:
   - A modeling tool chain , CoSMIC, which is capable of describing the Assembly/Component using GME as the development bed. The artifacts generated from the CoSMIC are a set of XML descriptors.
   - This run-time infrastructure that performs the actual deployment and configuration, with a superset of the capabilities described in OMG DnC specification with CIAO extension.

.

In the new DnC run-time framework we have migrated all the functionalities present in the old CIAO runtime except the Real-Time configuration and Static Configuration, which are developed by Washington University in St. Louis. Currently, the two CIAO runtime co-exist in our source and the component implementation could be used with both framework without much change. (For the change that one has to go through please read this.)

- Two operations `ciao_preactivate ()` and `ciao_postactivate ()` have been added to the `SessionComponent` interface. This implies that component developers have to implement those operations within the executor. We plan to get around this, i.e., users having to implement these two operations, in the next month or so.

- Here is a set of updates in the CIDL Compiler.

  - Fixed bugs in generation of inherited: home operations, attribute operations, port operations, home factory operations, supported operations.

  - Added support for multiplex uses ports. This implies that users could use "uses multiple" in their component definitions.

  - Added automatic registration of value factories for event consumers. This has been long outstanding. This change alleviates component developers need to register the valuetype factory of their eventtypes with the ORB.

  - Added support for emits keyword and we now generate navigation code for this.

  - Fixed bug with multiple facets in a build that provide the same interface.

  - Added option `--gen-exec-impl` to generate executor impl classes, with no-op versions of each IDL operation.

  - Implemented get_all_facets() and get_all_consumers() navigation methods.

  - Added support for the IDL keywords `setraises` and `getraises`, associated with attributes in IDL3.

  - Added support for both subscription and event push of event types that are a base class of the IDL-specified port type. A check is performed during the subscribe call to make sure the eventtype is actually an ancestor of the declared port type.

  - Problems with generated code when the composition declaration is nested inside one or more IDL modules has prompted a change. The 'CIAO_GLUE_' prefix has been eliminated. The composition name is now mapped to a C++ namespace, prefixed with 'CIDL_'. This new namespace (as well as namespaces generated from IDL modules enclosing the composition name, if any) encloses
    - the component servant class
    - the home servant class
    - all facet servant classes, if any
    - the *_Exec interface in the *E.idl file
    - all executor impl classes, if automatically generated

- CIAO doesn't yet support features that help integrating CORBA components with Enterprise Java Beans (EJB).

- Test to demonstrate composition of applications with real-time behavior using CIAO's real-time extension was added. Please see ACE_wrappers/TAO/CIAO/tests/RTCCM/Priority_Test.

- The CIAO static configurator tool has been enhanced to support processing of RTCORBA policy related information. Please see ACE_wrappers/TAO/CIAO/docs/static_ciao_index.html.

- To further interoperability with non-component-aware clients, there are files in the $CIAO_ROOT/tools/IDL3_to_IDL2 directory that can be compiled into an executable called tao_idl3_to_idl2. This executable takes an IDL file (on the command line) containing IDL3 declarations and outputs an IDL file with the IDL3 declarations converted to equivalent IDL2. IDL2 declarations in the input file are unchanged. See the README file in that directory for more information.

  Email: ciao-users@cse.wustl.edu