CIAO - Component-Integrated ACE ORB
The most exciting project (to me at least :) that I'm currently
working on is architecting the Component-Integrated ACE
ORB (CIAO) which is a CORBA Component
Model (CCM) implementation built on top of TAO.
Component middleware is gaining popularity in the past few
year as it addresses several
limitations of object-oriented middleware by defining a higher
leverl of abstraction. Through this abstraction, component model
defines exactly the virtual boundary of a component and how a
component advertise how it interacts with other components/clients.
Component middleware also defines the supporting runtime environment,
packaging and deployment mechanisms and standards. All these
mechanisms and standards make reusing software component much easier.
Using component middleware, systems can be developed thruough
"assembly" instead of the conventional "engineering" approach. We
can, therefore, distinguish the software developers' roles in a
system's lifecycle. These roles include:
- Component Designer: They define the capability of components by
defining the interfaces they expose to/depend on other
- Component Implementer: They provide the actual implementations
based on the component defintions defined by component
- Component Packager: They package component and their default
properties into software packages.
- Component Assembler: They define how a system can be composed by
selecting components implementations from component repositories
and connect them together declaratively to form a
- System Deployer: They determine how system assemblies should be
deployed, e.g., the distribution of component servers
that consisting a system.
CIAO is currently aiming to provide component-oriented paradigm
to the distributed, real-time, embedded (DRE) system developers by
abstracting DRE-critical systemic aspects, such as QoS
requirements, RT policies, as installable/configurable units supported
by the component framework. Promoting these DRE-critical aspects as
first-class metadata disentangles code for controlling these
non-function aspects from application logic and makes DRE system
development more flexible. Since mechanisms to support various
DRE-critical non-functional aspects can be easily verified, CIAO will
also make configuring and managing these aspects easier.
CIAO will be the default platform-specific model supported by
CoSMIC which is a
set of tools for supporting model-integrated computing (MIC) and OMG's
Model-Drivern Architecture (MDA). As many of the non-functional
aspects can be configured and "programmed" by specifying them in the
component composition metadata (or, "component assembly descriptors" in
CCM nomenclature,) it allows CoSMIC to realize the non-functional
aspects of an application easily and correctly without worrying about
verifying the correctness of synthesized code that managed multiple
The combination of CoSMIC and CIAO will offer the next-generation
software development paradigm.
CIAO Related Info
CCM and QoS realted OMG documents:
Various component middleware related Info
- General Information on CCM and component models:
- Diego Sevilla
Page: The most comprehensive collection of information
- Workshop on Component-Based Software Engineering (CBSE) -
- Workshop on Component-Oriented Programming (WCOP)
1997 , 1996.
- A collection of
Component-Oriented Programming Bibliography.
- Other QoS-enabled CCM projects
- Other QoS-enabled component-oriented projects
- Other QoS and Middleware Related Info:
- Other Component-related Research
- Meta-programming, reflection and AOP:
- Modeling QoS:
- Responses to OMG's Modeling Quality of Service and Fault
Tolerance Characteristics and Mechanisms:
Joint submission by I-Logix, Thales, and Tri-Pacific
submission by Open-IT.
- Model-Driven Architecture and related research:
Model-Integrated Computing research by
by CDOC at ISIS is a toolset for synthesizing CCM
applications that demand strigent QoS requirements.
- Cadena by
KSU is a integrated
environment for building and modeling CCM systems that
incoporate non-functional supports such as real-time,
quality-of-service, and distrubution. Cadena supports
CIAO as one of its target CCM implementations.
Here is the Cadena document describing how to
setup your environment and Cadena to generate CIAO
component implementations and assemblies.
- Other unrelated CIAO/CCM:
<nanbor at cse wustl edu>
Last modified 10:56:09 CDT May 27 2004