JAVA Graphical User Interface for Simulations in ATLAS

Paper: 204
Session: E (talk)
Speaker: Wolters, Helmut, Universidade Catolica Portuguesa, Figueira da Foz
Keywords: mixed language programming, GUI's, WWW applications, Java


JAVA Graphical User Interface for Simulations in ATLAS
H.Wolters, F.Colaco, A.Amorim

Universidade Catolica Portuguesa, Figueira da Foz, and LIP Coimbra, Portugal
LIP Lisboa and Universidade de Lisboa, Portugal


ATLAS collaboration

An object oriented graphical user interface is developed to
control the parameters of an existing complex simulation package.
The choice of JAVA as the basic programming tool allows
running the interface on almost any client in the world
without specific installation. Thus, it can be seen as a
general example of providing up-to-date user interfaces to
historically grown, complex software systems.

The application provides a graphical user interface that
allows the user to specify all simulation options in a
transparent way, such as detector geometries, signal read-out
options, beam kinetics etc. The application, then, translates
the specified options into the standard data card format of
the running simulation software. This way we are able to
provide an object oriented user interface, without having to
modify directly the code of the rather complicated simulation
software.

In view of the huge number of users of the simulation
software, spread all over the world, with all levels of
computer expertise, we have decided to opt for an application that
can be run in a WWW browser. This way the application needs
only to be installed on one central server, and, nevertheless, can
be run from any machine that is linked to the WWW and has a
suitable browser running.

There are two basic advantages from this choice. On one side, we
avoid the problem of maintaining the application for the many
different platforms used inside the HEP collaborations. On the
other side, we do not have to annoy users with the necessity
of having to install a software package on their home system,
which is specially relevant for the less experienced users that
are one main target of the new interface.

Various attempts have been studied as of which is the best choice of
development tools for the interface, namely CGI, JAVA-Script
and JAVA. The actual application is running in JAVA combined
with a set of Tcl routines. It can be started by any WWW
browser that supports JAVA, as for example Netscape.

Apart from the advantages mentioned above, the WWW browser
environment also reveals some quite basic problems. Due to
security reasons, JAVA does not permit to write to or read
from the client disk if running in a browser environment.
Even I/O with the server disk is not straight forward. These
problems will be discussed in detail. The basic idea is that,
in an open network environment, neither the server can trust
the remote user, nor the client host can trust the server
software. However, JAVA is still a very young tool, and each
new upgrade has revealed improvements in this respect. For the
time being, we use a combination with Tcl and CGI scripts to
handle the necessary user I/O.