PASFRG Requirements Requirements must separately address the domains of on-line, interactive and batch processing. Most likely this will be through specifying the requirements for the most common environment (probably interactive), and giving additional requirements needed to support online and batch. Requirements are organized into 6 major categories. DATA ACCESS * Providing access to large streams of physics events (including efficient access to individual events in the mnidst of a larger data sample.) DATA SELECTION * Selecting events based on programmed selection criteria * Reducing data samples * Preparing various statistical distributions of various mathematical functions of data in the selected events DATA ANALYSIS * Linking in high level language programs to process event data prior to plotting (including HEP math libraries) * Compatability with offline reconstruction code * Rapid prototyping * Modifying selection criteria and plotted functions interactively * Fitting the distributions * Comparing and performing calculations on different distributions CATEGORY X: (need a name for this cateory of requirements) * Preserving the selection criteria and functions for later use or to pass along to others (eg, scripting language) * Saving samples of events in a variety of specialized formats for later analysis * Accessing these specially formatted event samples to make plots, fits, statistical outputs, etc. (including compatability with run-I formats?) DATA PRESENTATION * Preparing presentation quality graphical output * interactive utilities for visualizing experimental data * automatic document generation (including a good equation editor) MISCELLANEOUS * Batch processing * Sharing data structures among users * Shared dynameic access by several clients * Multi-processing (parallel processing using distinct data streams) * Debugging and profiling * Modularity - ability to link individual modules into user code * Access to source code to allow customization * Robustness * Web based documentation * Commonality with other labs and experiments (use of standards) * Portability * Scaleability * Performance