Error Management


The CDMS DAQ software has several components to aid in managing errors generated in the software and hardware.  When an error is generated in a server, it is sent directly to an Error Manager.  The Error Manager provides a central location to process and log errors, after which the error is then broadcast to all other servers which may need to respond.  To simplify software writing, an Error Bridge, a module that implements the network access to both the Error Manager and the broadcast channel, is provided and can be inserted into other servers to provide this functionality.  Each error is packaged in a structure containing information relevant for a full description.


Error Manager

The Error Manager is the central server for handling errors.  All other servers submit errors directly to this manager, by use of a hosted CORBA object, which can then process the errors and send them to be logged.  The Error Manager also creates a CORBA event channel (the “error channel”) to broadcast the errors to all the servers so that the other servers may respond to the error as necessary.

The Error Manager will also maintain constant contact with the essential servers to determine what may be missing.  If the Error Manager loses contact with a server, it will notify Run Control and, depending on the necessity of the server, may cause the data run to abort.


Error Bridge

The Error Bridge is a module (java class) that may be inserted into any java server.  The Error Bridge contains all the necessary CORBA code to access the Error Manager and error channel.  It filters incoming errors to find those that apply to the specific implementing server as well as maintains constant contact with the Error Manager to indicate that the particular server is operating.  This frees other programmers from having to write their own network software into each server.


Error Logging

All errors generated must be stored in some type of repository.  Initially, errors will be saved to text files that are created by date, time, and eventually by a run “identifier” (a file descriptor that will match to the data files).  Eventually, errors will be logged to an SQL database, which will allow for more efficient searching.  The database will also be accessible through the web, with the current plan using servlets to generate dynamic HTML.



Additional documentation is available on:

The Error Structure

Use of the Error Bridge


Questions or comments should be sent to