The FATMEN system uses several different tools and packages. A short description of each of them follows.
The data structure management package ZEBRA was developed at CERN in order to overcome the lack of dynamic data structure facilities in FORTRAN, the favourite computer language in high energy physics. It implements the dynamic creation and modification of data structures at execution time and their transport to and from external media on the same or different computers, memory to memory, to disk or over the network, at an insignificant cost in terms of execution-time overheads.
ZEBRA manages any type of structure, but specifically supports linear structures (lists) and trees. ZEBRA input/output is either by a sequential or direct access method. Two data representations, native (no data conversion when transferred to/from the external medium) and exchange (a conversion to/from an interchange format is made), allow data to be transported between computers of the same and of different architectures. The direct access package RZ can be used to manage hierarchical data bases. In FATMEN this facility is exploited to store the catalogue information in a hierarchical direct access directory structure.
The purpose of KUIP ( Kit for a User Interface Package) is to handle the dialogue between the user and the application program (FATMEN in our case). It parses the commands input into the system, verifies them for correctness and then hands over control to the relevant action routines.
The syntax for the commands accepted by KUIP is specified using a Command Definition File (CDF) and the information provided is stored in a ZEBRA data structure, which is accessed not only during the parsing stage of the command but also when the user invokes the online help command. Commands are grouped in a tree structure and they can be abbreviated to their shortest unambiguous form. If an ambiguous command is typed, then KUIP responds by showing all the possibilities. Aliases allow the user to abbreviate part or the whole of commonly used command and parameters. A sequence of FATMEN commands can be stored in a text file and, combined with flow control statements, form a powerful macro facility. With the help of parameters, whose values can be passed to the macros, general and adaptable task solving procedures can be developed.
Different styles of dialogue (command and various menu modes) are available and the user can switch between them at any time. In order to save typing, default values, providing reasonable settings, can be used for most parameters of a command. A history file, containing the n most recently entered commands, is automatically kept by KUIP and can be inspected, copied or re-entered at any time. The history file of the last FATMEN session is also kept on disk.
ORACLE is the relational database system chosen by CERN. Versions exist for a wide variety of systems, including VM/CMS, VAX/VMS, Apollo, Sun and MacIntoshes. No knowledge of ORACLE is required to use the FATMEN system. ORACLE is not required on remote systems, although it, or SQL/DS may be used, if desired.
The CERN Tape Management System was originally developed at the Rutherford Appleton Laboratories (RAL) in the UK. It is based upon a relational database system, currently IBM's SQL/DS. The TMS code runs in a dedicated service machine. All access to the TMS is via the SYSREQ communications package. Normally, this interface is hidden behind panels or the FATMEN system.
CSPACK is a collection of programs and FORTRAN callable routines developed for client-server applications. It includes the SYSREQ package, used to access the Tape Management System and the XZ package, used for remote file access and transfer.
SYSREQ is a facility developed at RAL for generalised inter-system communications. It allows commands to be sent to, and replies received from, services running in dedicated service machines under the VM/CMS. All communication with the TMS is via SYSREQ, although this is transparent to the user. At CERN, a facility has been developed to permit remote users use the facilities of SYSREQ, by forwarding the messages and replies over TCP/IP. This system, known as TCPREQ, was developed by F. Hemmer.
The VAXTAP set of utilities was originally developed for the CERN VAX cluster VXCRNA. The utilities are available both with and without an interface to the CERN Tape Management System and may be used with and without FATMEN. FATMEN uses the VAXTAP tape staging system.