CORBA and the CLEO III Data Acquisition System

Paper: 156
Session: B (poster)
Presenter: Honscheid, Klaus, Ohio State University, Columbus
Keywords: C++, communication, CORBA, Java


CORBA and the CLEO III Data Acquisition System
K. Honscheid, C. Gwon, J. Lorenc, R. Wanke, A. Wolf
Ohio State University
174 W 18th Avenue
Columbus, Ohio 43210

E. Lipeles, A. Shapiro, A. Weinstein, F. Würthwein
California Institute of Technology

A. Bean, D. Coppage, C. Darling, B. Forrest, T. Noor
University of Kansas

C. Strohman
Cornell University

V. Fadeyev, J. Staeck, I. Volobouev
Southern Methodist University

CLEO Collaboration

On the order of 100 computers - from a VME CPU board to a
multi-processor UNIX server - will be needed to implement the
CLEO III Data Acquisition system.
The basic part of such a distributed system environment is the
communication layer.
It should provide easy and reliable access to all parts of the system
and a "format and syntax check'' of "remote calls'', preferably
at compile time.
It also has to handle format differences between nodes (e.g.big-endian
and little-endian machines) and should have a dynamical view of the system,
so no configuration files of Ethernet addresses have to be kept up-to-date.

By using common object request broker technology as defined in the
CORBA 2.0 standard all the above features are readily available in the
CLEO III DAQ system.
For example, by defining objects with their interface methods,
most of the network calls are subject
to type checking by the compiler,
so that debugging time for new components added to the system is
minimized.

Of the products we have evaluated, ORBeline is the preferred
solution because it combines sufficient performance with little
overhead, i.e. small executables.
In our tests ORBeline performed very well with
only a small reduction in data throughput
if compared with bare socket communication.
In addition, ORBeline provides WAN connectivity making
it very easy to tie different subnet domains together.
ORBeline is available for many Unix based systems and
Windows NT. In collaboration with Visigenic Corp,
the makers of ORBeline, we have ported the software to PowerPC
and 68k based VME modules operating under VxWorks.
This allows us to use our communication system on every computer in the
CLEO III data acquisition system providing a uniform and
homogeneous environment for software development.
Both C++ and Java CORBA-bindings are used in the CLEO III DAQ system.

Another attractive feature of using CORBA as the basis
for our communication system is that connections between processes
can be created dynamically.
Thus it is possible to setup a small test system
to verify correct operation and then to integrate this subsystem
into the CLEO III system without any changes to the software and
code development becomes independent of the underlying hardware
structure.