A distributed object-oriented control system for the CODA data acquisition system.

Paper: 463
Session: B (talk)
Speaker: Heyes, W. Graham, SURA/Jefferson Lab, Newport News
Keywords: mixed language programming, ATM, data acquisition systems, event building


A distributed object-oriented control system for the CODA
data acquisition system.

W.G. Heyes, D. ABBOTT, J. Chen, P. Banta, C.Timmer, E. Jastrzembski

Thomas Jefferson National Accelerator Facility,
12000 Jefferson Avenue, Newport News VA 23606 USA

ABSTRACT

The CODA data acquisition system used in all experiments at
Jefferson lab is a software system designed to manage a distributed
network of data acquisition components. At Jefferson lab data
transport is over commercial networks such as ATM, FDDI and Ethernet.
However, CODA is designed to perform the control and configuration
of any distributed data acquisition system and the data transport
method used can differ at other sites. This paper covers the
control and configuration aspects of CODA.
The CODA system follows an object oriented model where each
data acquisition component is viewed as an instance of a particular
class of object, event builder, front end readout, data recorder.
The control system consists of two programs, a GUI and a server.
The server can communicate with multiple copies of the GUI and a
locking mechanism is provided to lock control features to a
specific GUI. The CODA system is configured from a relational
database in such a way that multiple copies of the run control
server can be running on the same machine each controlling a
different experiment. User configuration of the system takes
place via interaction with the database and via the Tcl scripting
language. All CODA components, including those in front end
controllers, contain a Tcl interpreter which is used to parse
run control commands, configuration files and debugging options.
An interface to the CDEV API used by the EPICS control
system is provided which can interact with the run control server
and individual system components. This interface allows CODA to
be closely integrated with an EPICS slow control system.