Next:
List of Figures
Up:
ZEBRA
Previous:
Preliminary remarks
Contents
Preliminary remarks
Conventions
List of Figures
An Introduction to the ZEBRA system
ZEBRA - An overview
Why ZEBRA?
Logical Data Structures
The bank
The linear structure
The general data structure
Reverse links
Reference links
Physical Storage
Divisions
Link areas
Working space
Dropping banks and garbage collection
Wiping divisions
Input/Output
Debugging problems
The debugging and documentation package
The user communication array IQUEST
Some conventions
Summary
MZ -- Memory Management Package written by J. Zoll/ECP
Memory management
ZEBRA bank format
MZEBRA - initialize the ZEBRA system
MZLOGL - change the MZ logging level
MZSTOR - initialize a dynamic store
Note:
MZDIV - create a new division
Remember:
MZLINK / MZLINT - initialize a link area
Permanent link area
Temporary link area
MZWORK - allocate working space
MZLIFT / MZBOOK - bank creation
Note:
MZPUSH - alter the size of a bank
MZREPL - connect replacement banks
MZDROP - drop a bank and its dependents
MZWIPE - reset complete divisions to empty
MZGARB - garbage collection requested by the user
MZXREF - set cross-reference between divisions
MZIXCO - create compound division index
Format of the division index
MZFORM et al. - handle the I/O characteristic
Sectors
Complete Characteristics
Economic formats
Zero extra I/O words
One extra I/O word
#MZIOCH>MZIOCH
#MZIOBK>MZIOBK
#MZFORM>MZFORM
Typing rules for chFORM
Data structure utilities
MZFLAG et al. - logical walk through a data-structure
LZHEAD - find the first bank of a linear structure
ZSHUNT - change structural relation
ZSORT - utility to sort the banks of a linear structure
ZTOPSY et al. - utilities to operate on linear structures
LZFIND et al. - utilities to interrogate linear structures
LZFID et al. - utilities to find a bank by sequential scan
Global operational aids
ZPHASE - set program phase
ZEND - normal program end
ZABEND - abnormal program end through ZFATAL
ZTELL - recover trouble through ZTELL-ZTELUS
ZVERIF - check logical integrity of Zebra stores
ZVAUTO - running with automatic verification
MZ routines for special applications
MZCOPY - copy a data-structure
Copy from and to Zebra storage:
Copy from flat memory:
Copy to flat memory:
Error return
MZNEED - calculate free space in division
MZINQS - inquiry to get the parameters of a store
MZINQD - inquiry to get the parameters of a division
MZDRED - reduce the space reserved to a division
Internal technical details for ZEBRA MZ
Master Tables
Master parameters of the process in /MZCA/
Current store / division: in /MZCB/
220/221 vector
Store control table
224 system link vectors: in /MZCC/
structural: 225
reference: 226
Table of Link Areas
Relocation Tables
Memory Occupation Table
Link Relocation Table
relocation parameters in /MZCT/
MZFORM data structure
FZ -- Sequential Input/Output Package written by J. Zoll/ECP
Principles
User specifications for the FZ package
Representation of a data-structure
Events, Runs, and Files
Outline of usage for medium Disk or Tape
Initialization
Input
Output
FZFILE - initialize a ZEBRA file
Status returned in 258
Option compatibility diagram
Notes
OPENing:
Fortran OPEN:
C open:
LUN:
LREC:
medium M or C:
medium A:
medium D:
medium T:
usage F or Y:
usage L:
usage K:
file-format:
data-format:
direction:
various S:
various U:
various R:
various Q:
NEOF:
Specifications for CFOPEN
FZLOGL - change the logging level of a file
FZMEMO - connect user memory area for medium Memory
FZHOOK - connect user routine for medium Channel
FZLIMI - limit the size of an output file
FZODAT - storing and recovering the direct access table
FZRUN - write a RUN record
FZOUT - write one data-structure
Write status returned in 265
Error status returned in 266
FZIN - read one data-structure
Specifications for 269
Error status
Normal read status returned in 272
FZIN - read one data-structure by segments
FZINXT - reset the read point on a direct access file
FZCOPY - copy one data-structure from input to output
Status returned in 280
Input error status
Output error status returned in 281
FZENDO - output file termination
FZENDI - input file termination
Usage for random access
Principles
File creation
Reading the file
Usage for medium Memory
Output
Input
Lay-out of the memory and size considerations
Lay-out of a data-structure in the user memory
Usage for medium Channel
UserSR called from #FZIN>FZIN
User routines called from #FZOUT>FZOUT
User marking of data-structures for #FZOUT>FZOUT
Suppress loading of unused parts of FZ
FZ installation options
Usage of FZ files in exchange mode
Exchange file format representation
Tape file, Fortran
ALLIANT
CONVEX
Apollo Aegis
IBM MVS, input
IBM MVS, output
IBM VM/CMS
VAX VMS, input
VAX VMS, output
Tape file, C Library
Input
Output
Disk file, Fortran sequential
ALLIANT
CONVEX
IBM MVS, input
IBM MVS, output
IBM VM/CMS
VAX VMS, input
VAX VMS, output
Disk file, Fortran direct-access
Input
Output
Disk file, C Library
Input
Output
Format specifications
Native mode
Native mode, logical records: general format
Native mode, logical records: start-of-run and end-of-run
Native mode, logical records: the pilot record
Native mode, logical records: the pilot continuation records
Native mode, logical records: the bank material records
Pilot: The segment table
Pilot: The text vector
Pilot: The relocation table
Exchange mode
Exchange Data format
Exchange File Format
Exchange File Format, logical records: general format
Exchange File Format, logical records: start-of-run and end-of-run
Exchange File Format, logical records: (start of) data-structure
Exchange File Format, logical records: data-structure continued
Exchange File Format, logical records: padding records
Exchange File Format: physical records
Example for coding dedicated on-line output
Initialize
Event by event
Technical details
FZINFO - obtain status information
FZ control bank description
Control bank for input
Control bank for output
ALFA exchange format
File format
Number representation
Compression of sets of consecutive identical numbers
Examples:
Non-repetition of identical type characters
Example:
Start and End of physical record
Coding Zebra user I/O
Byte inversion on the VAX
RZ -- Randon-Access Input/Output Package written by R. Brun/CN
Direct access input-output
Main goals
General
Pathnames
Keys and Cycles
Practical examples of usage of the RZ package
HBOOK
CMZ
FATMEN
Description of user callable RZ routines
Open a direct access file
RZOPEN status information returned in IQUEST
Operating system dependent features
AFS and NFS specific considerations
Create a new RZ file
RZMAKE return codes
Access an existing RZ file
Set the logging level
Close a direct access file
Save modified directories
Operations on RZ directories
Define the naming directory
RZNDIR return codes
Define the current working directory
RZCDIR return codes
Examples:
Creation of a directory
Example 1: Creating the geometry file of a LEP experiment
Example 2: Using the geometry file of a LEP experiment
Get the key definitions for the current working directory
Lock and unlock a directory
Set the space quota for the current working directory
Scan RZ directory structure
List the contents of a directory
Retrieve the contents of a directory
RZRDIR return codes
Set the password of the current working directory
Write a bank or data structure
RZOUT warning messages
RZOUT return codes
Output an array
Read a bank or data structure
RZIN and RZINPA return codes
Input an array from an RZ file
RZVIN return codes
Operations on keys and cycles
Purge old cycles
RZPURG return codes
Delete a subtree from the current working directory
RZDELT return codes
Delete a key from the current working directory
RZDELK return codes
Rename a key in the current working directory
Return codes
Retrieve the keys associated to the current working directory
Return codes
Examples
Copy a data structure from one directory to the CWD
Return codes
Copy information from a directory from/to a sequential file
Retrieve statistics about a given RZ directory
Internal RZ routines
Return codes
Overview of RZ calling Sequences
DZ -- Debugging Tools Package written by M. Goossens/CN
DZ: The debug and dump package
Display routines
Display of a bank or a data structure
Notes:
Print the format of a bank
Display of a ZEBRA store
Display of a link area
Survey of a ZEBRA data structure
Map and checks on the division level
Snap of one or more divisions
Store information
Bank information
First line (General information)
Second line (Links) (present only when there are non-zero links)
Verify one or more ZEBRA divisions
DZVERI error return codes
Monitor changes inside a ZEBRA store or bank.
Calculate the checksum of a vector in a ZEBRA store
Important remark
Monitor changes in a ZEBRA bank
DZCHST Error return codes
Example of using ZEBRA and the debug routines
DZDOC -- Bank Documentation Tools Package written by M. Goossens/CN and O. Schaile/PPE
DZDOC -- Bank Documentation and Display
Format of the bank descriptor cards
General information about the bank
Link part of the bank
Reference links of the bank
Status word of bank
Data words of the bank
Special mnemonics
A choice with wildcard characters
An integer choice value
A bit mask
Description of any bit portion
ZEBRA exchange formatted Holleriths, dates, binaries
Pointers, labels and repetition counts
Repetitions
Fixed number of repetitions
Variable number of repetitions
Repetition counts in a data word
Banks with identical descriptions
Terminating the bank description
An example of a bank description
Generation a template for the bank descriptor file
#DZEDIT>DZEDIT, a program to maintain documentation
#DZEDIT>DZEDIT command overview
Preparing Fortran code
Remarks on #DZEDIT>DZEDIT
Remarks on updating
The interactive bank display tool
#DZDISP>DZDISP -- Display bank trees in an interactive session
Interaction with #DZDISP>DZDISP
#DZDDWD>DZDDWD -- display contents of data words with documentation
Examples of #DZDISP>DZDISP output
#DZDDIV>DZDDIV -- Display the layout of stores and divisions
Interaction with #DZDDIV>DZDDIV
#DZDIRZ>DZDIRZ display RZ directory trees in an interactive session
Interaction with #DZDIRZ>DZDIRZ
DZDOC with the Motif interface of KUIP
The Zebra-Browser
Embedded DZDOC
Interactive Ntuple filling
Examples
Example session with #DZEDIT>DZEDIT
Example of code calling #DZDDIV>DZDDIV
Description of the banks used in previous examples
Example using pointers, repetition counts etc.
Example where titles are contained in the bank itself
TZ -- Title Handling Package written by J. Zoll/ECP
The Title Package---Principles
General information
Acknowledgements
Using the TZ package
TZFIND - access to title banks
TZINIT - creating title banks from a text file
TZUSER - editing title banks during input
Change the information
Lift a replacement bank
Kill execution
Loading TZUSER
TZSHUN - insert banks into a title structure
TZINQ - inquire about the title d/s
Example
Job to translate text titles to binary
Piece of code loading the binary titles
Formats for the text input to TZINIT
Out-line
Control-lines
Title header lines
Free-field input
Hollerith handling
Other control items
Fortran formatted input
Example
JZ91 -- Processor Support Package written by J. Zoll/ECP
The JZ91 Package---Principles
Purpose
JZ91 Services
Acknowledgements
Basic calling sequences
JZIN/JZOUT - simplest use
JZIN - processor entry, general use
JZINIT - initialize the JZ91 package
JZTELL - count processor conditions
JZZERO - zero the down call bank
JZROOT - reset processor level to root
JZEND - print processor usage statistics
Titles JZAN - processor constants
Titles JZFL - processor flags
Extra features
JZIN - extra features
JZINIT - extra features
JZSETF - set processor flag by program
JZLOG - processor logging
JZWIND - unwind the processor stack
JZTRAC - print processor trace-back
Receiving the working space
Note on processor timing
Off-line initialization of a processor
Technical information
JZ91 - header bank
JZSV - bank of support variables
Error Diagnostics
Error Diagnostics
General information
Return-status codes
Exit to #ZTELL>ZTELL
Exit to #ZFATAL>ZFATAL
Diagnostics for FZFILE
#ZFATAL>ZFATAL termination
Diagnostics for FZDIA: FZIN - FZCOPY
#FZIN>FZIN
955 -- table builder
956 -- relocator
957 -- reading file format native for #FZIN>FZIN
958 -- read physical records, exchange format sequential
959 - handle logical records, exchange format
960 -- reading file format exchange for #FZIN>FZIN
961 -- read physical records, exchange alfa
962 -- crack one physical alfa record for 963
964 -- reading file format native for #FZCOPY>FZCOPY
965 -- reading format exchange for #FZCOPY>FZCOPY
966 -- read physical records, exchange direct-access
967 -- read physical records, exchange memory
Diagnostics for FZITRX + FZOTRX
Diagnostics for FZLOC
#ZFATAL>ZFATAL termination
Diagnostics for FZOUT
#ZTELL>ZTELL exits
#ZFATAL>ZFATAL termination
Diagnostics for LZFID - LZSCAN
#ZFATAL>ZFATAL termination
Diagnostics for MZCHNB
#ZFATAL>ZFATAL termination
Diagnostics for MZCOPY
#ZTELL>ZTELL termination
Error return
Diagnostics for MZDIV
#ZFATAL>ZFATAL termination
Diagnostics for MZDROP
#ZFATAL>ZFATAL termination
Diagnostics for MZFLAG - MZMARK - MZVOLM
#ZFATAL>ZFATAL termination
Diagnostics for MZGARB - MZGAR1
#ZFATAL>ZFATAL termination
#ZFATAL>ZFATAL termination
#ZTELL>ZTELL exit
Diagnostics for MZIOCH - MZFORM
#ZFATAL>ZFATAL termination
Diagnostics for MZIXCO
#ZFATAL>ZFATAL termination
Diagnostics for MZLIFT - MZBOOK
#ZFATAL>ZFATAL termination
Diagnostics for MZLINK - MZLINT
#ZFATAL>ZFATAL termination
Diagnostics for MZPUSH
#ZFATAL>ZFATAL termination
Diagnostics for MZRELB - MZRELL
#ZFATAL>ZFATAL termination
#ZFATAL>ZFATAL termination
Diagnostics for MZREPL
#ZFATAL>ZFATAL termination
Diagnostics for MZSDIV
#ZFATAL>ZFATAL termination
Diagnostics for MZSTOR
#ZFATAL>ZFATAL termination
Diagnostics for MZTABC
#ZFATAL>ZFATAL termination
Diagnostics for MZWORK
#ZFATAL>ZFATAL termination
Diagnostics for MZXREF
#ZFATAL>ZFATAL termination
Diagnostics for ZSHUNT
#ZFATAL>ZFATAL termination
Diagnostics for ZTELL
Diagnostics for ZVERIF
System specific details
VM/CMS systems
VAX/VMS systems
NFS access
MVS systems
Automatic record length determination
Technical details of the ZEBRA RZ system
RZ I/O
RZ link area
Structure of the RZ control bank
Subdirectory descriptor structure
KEYS structure
CYCLES structure
File descriptor structure
Lock record
Summary of KERNLIB routines
General
Bitwise logical operations on full words
Bit / byte handling, least significant bit is 1
Handling packed byte vectors
Bit / byte handling, least significant bit is 0
Unix functions
Z310 -- C interface to read/write fixed-lenth records, 999
Maths General
Maths -- F121, Vector handling package, 1000
Maths Householder fitting and triangular matrices
M432 -- Utilities for Character string analysis, 1001
References
Index
Index
Janne Saarela
Mon May 15 08:34:47 METDST 1995