Evaluation of Data Acquisition tools based on Java

Paper: 309
Session: B (talk)
Speaker: Divia, Roberto, CERN, Geneva
Keywords: data presentation, Java, portability, world-wide collaboration, WWW applications


Evaluation of Data Acquisition tools based on Java

H.Beker, R.Divia`
CERN
CH-1211 Geneve 23, Switzerland

ALICE collaboration

Abstract


One of the requirements of today's Data Acquisition systems is a
Monitoring and Control system which is easy to use, robust, easy to
integrate with the global environment and possibly available on
multiple platforms. The ALICE DAQ group at CERN recently decided to
evaluate the possible use of WWW and Java in a quasi-online
distributed environment.

An Event Display utility that was already implemented in C and Tcl/Tk
was chosen as a test case and it was transposed into Java. In order to
really understand how the Java environment works the choice to use no
special tools was taken. The whole task was accomplished using
standard Unix editors plus the Java interpreter available in the
hypertext browser. Very little time was required to learn the basics
of Java and the standard graphics libraries were quickly mastered to
achieve the desired look-and-feel. A small daemon written in C was
developed to implement the needed distributed capabilities and to
evaluate the interaction between classic Unix code and Java. Some
small auxiliary non-graphic applications where implemented in Java to
validate the Event link and to evaluate its characteristics. Standard
Java tools were used for compilation and for automatic hypertext
documentation based on the source code itself.

The result was a tool capable of asynchronous events handling,
multiple threading and easy-to-use communication over TCP/IP
sockets. It proved to be easy to design, write and debug, very robust
and immediately portable on several hardware architectures - including
Suns, PCs and MACs. The performance of the application has been
assessed on various platforms and browsers. This approach proved to be
very powerful for the development of distributed applications, as
required by widespread international collaborations such as ALICE.