The Data Acquisition (DAQ) system for the CDMSII brings about a new paradigm in performing experiments, using distributed computing environment and remote user control. The backbone of the software system is written using JAVA, C++ and CORBA. The remote user downloads a very thin client application (less than 0.04 MB, taking less than 10 secs using a dial-up connection) to perform all the tasks of running the experiment and monitoring the output (as shown below). The user is never required to compile any code. The application provides true platform and location independence. No special software installation is needed besides the freely available Java Run Time Environment from Sun Microsystems.
Of course, what go behind the simple and thin user interface are the robust distributed software components (servers) running at the Soudan mines on various computers. They are designed to report errors to remote user and attempt to do self recoveries of simple errors. They also allow for the possibility of server failure and recovery during the course of the experiment. The various software components work in unison through well defined interlocks, which prevents the experiment from running into undesirable states. For example, the user is never allowed to reconfigure the experiment, for example changing trigger conditions, while a run is being carried out. Also, to protect improper configuration or use of the detectors and associated hardwares and software components, the remote user is only allowed to choose from a set of pre-defined configurations. This allows the control and intelligency to be implemented at the server level, by experts.
The software layout shows the flow diagram featuring the following main components of the DAQ software system. Following each link provides a detailed description of each software component.