Clearly, in a triggerless Total Data Readout system, the software is expected to accomplish many of the tasks that the hardware triggering electronics currently performs in a conventional data acquisition system.
Hence, the software has to be stable, understandable and reliable in order to gain the confidence of the experimenter.
For the software to be stable and reliable, there will not be a capability to insert or change code at will. Code changes at the start of a run, written under pressure, cannot be verified as being stable or indeed safe.
There will be some more constraints placed on the software technically to make testing and maintainability easier. These include modularity to ease problem solving, and a well defined specification for data passing into and out of each module, and from the GUI setup windows.
Similarly, the primary data destination will be a networked TapeServer. However, output to disc and to a MTsort Input Handler will also be supplied. Hence there will be at least three code module variants coping with data output.
The two network links will use the current standard Event Builder to MIDAS Tape Server protocols.
In between these two code modules will be tasks to perform searches of the input data stream to find event components and connect them together according to user-provided descriptions.
All setup and configuration of the Event Builder software will be via a GUI interface. This interface will be designed to be self-evident as to both the operations available and those in need of execution.