CODA Run-Control

CODA (CEBAF Online Data Acquisition) Run Control system is designed within the AFECS framework to operate the configuration, control, and monitoring of all Jefferson Lab experiments. It controls data-taking activities by coordinating the operation of data acquisition sub-systems, online software components and third-party software components, such as external slow control systems. The current CODA run control system successfully satisfies the ever growing needs of the new physics programs at JLAB (Jefferson Lab). The run control component of the CODA was written more than ten years ago, utilizing at that time the revolutionary, self consistent object oriented programming language Eiffel. Unfortunately over the years Eiffel did not catch on the way Java did, partly because of being a commercial product and having a single source of the distribution. Current experiments at JLAB have new expectations for run control, namely integration of new control components or systems into the data acquisition system, organizing control feedback between slow control and DAQ (data acquisition) components, etc. So, the old CODA run control, being a non-distributed, graphical user interface (GUI) application, is very difficult to maintain and extend to meet the current requirements of JLAB experiments.