last updated May 5, 2003
Purpose
These pages describe a collection of simple systems built using
Cadena. These examples are based directly on the Boeing Bold Stroke
"scenarios" distributed as part of the DARPA PCES Boeing Open Experimental
Platform (OEP). Currently, these are not available to the public ---
they are only available to collaborators of the Cadena team that are
members of the PCES project.
We have made several versions of each of the Bold Stroke scenarios.
These versions differ in the underlying middleware infrastructure used
to implement event-dispatch and threading.
The initial purpose of these examples is to
- illustrate how various Bold Stroke OEP scenarios can be represented
in CCM
- provide some guidelines as to how other code-bases such as the
CIAO CCM implementation can be integrated with Cadena.
Accordingly, the first set of examples to be posted uses OpenCCM's
event dispatch mechanism (no RT event-channel). In this mechanism,
every event dispath is an ORB call, which means that the POA threads
run the 'push' methods of event subscribers -- there is no thread-pool
as in the Boeing OEP. We have constructed versions of these examples
that use a light-weight Java version (implemented at KSU)
of the ACE/TAO RT-event-channel. These other examples will be posted
as the documentation is completed.
We believe the best strategy for integrating with CIAO is to first
resolve all pure CCM related issue (which can be done using the
OpenORB based examples), and then consider how RT and QoS features
can be added and integrated.
Examples (using OpenCCM ORB event dispatch)
Each of these examples has been tested using OpenCCM Version 0.5
running on OpenORB Version 1.3.0.
File Descriptions
Each of the examples above links to includes several different types of
files. Below with give a brief description of each of these file
types.
IDL (Interface Description Language) - CCM IDL (IDL3)
describes component interfaces including component ports for publishing
and consuming events and for providing and using interfaces. Each
IDL file in the examples above represent the Cadena team's interpretation
of the interfaces of the corresponding components used in the Boeing
OEP. In particular, when correlation and mode variables are involved
there may be more than one reasonable way to map a Boeing component
to a CCM representation.
CAD
(Cadena Assembly Description) - The CAD file specifies the component
instances that form the system and the connections among them.
The information in this file roughly corresponds to what one would
find in the OMG CCM .cad XML file and also to what one would
find in the Bold Stroke OEP XML "configuration file". In fact,
an XML file that is compliant with the Boeing XML format is auto-generated
from each CAD file and is included in each of the examples.
CPS
(Cadena Property Specification)- The CPS file specifies various aspects of component behavior. In a CPS description, developers may declare intracomponent dependencies between ports and simple behavioral descriptions of a component's eevent handlers and other methods. The dependence declarations take the form trigger-port-action - response-port-action.
The Cadena dependency analyzer (model slicer) and model-checking engines
work off of representations built from the structural specifications
in both IDL file (component structure), CAD file (connection structure),
and the semantic specifications in the CPS file.