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.