Hubert: I have attached a first draft of some online system database requirements and considerations. I have followed your form with regards to topics and numbering although I have added some topics. I have not been able to collect information on all areas but at least this is a start for online. If you have any problems reading the attached file please let me know and I will try again. Ed Desmond phone (516) 344-4768 email: desmond2@bnl.gov Online Database Requirements Database Taskforce Created: September 24, 1996 Last Modified: Oct 28, 1996 Authors: E. Desmond, M. Purschke Compiled by Ed Desmond ============================================================ 1. Online Database Requirements Overview ---------------------------------------- The PHENIX Online Control system (ONCS) requires a database to store and retrieve all the information which will be required to configure, initialize, control, and maintain the PHENIX detector, and all ancillary equipment which will be required for operation of the PHENIX detector. The information from the database will be used to supply information for queries about the current and past configuration of the detector. This information supplied will include the identities , parameters and relationships of detector components. The database will be required to respond to varying criteria for identifying detector components. These criteria will include memberships in varying identifiable detector component groups. These groups will include granules, sectors walls, sub-detectors, crates and other configurable component groups. The Online system will used the database as the source of initialization data which will be downloaded to PHENIX detector components at the start of, and during running operations. The information for the components will be retrieved for individual components and for identifiable groups of detector components. 1.1 Data Types --------------- The Online system will require that the information is stored in the PHENIX database in such a format so that it can be retrieved and placed into objects in the Online system which are representative of the system components. The objects in the Online system are software entities which encapsulate all the information about a detector system component which is required for its identification, configuration, and operation. This information will consist of data types which will include bounded and unbounded character strings, octal, signed and unsigned integers, and float and double data formats. In addition, user defined complex data types which can themselves contain the above data types will be required. Vectors of the above data types will also be contained in the above objects. The Online system will also store relational information between components. This relational data may be stored as dynamic pointers which would be preserved and recoverable from the database. -------------------------------- Data formats -------------------------------- data type size (bytes) ---------- ------------ octal 1 int 2 long 4 float 4 double 8 string variable vector variable structure variable 1.1 ONE-TIME DATA ------------------ For the successful configuration and partitioning of the detector systems, the Online system will be required to identify all the components and the relationship between the components which are required for the operation of the detector systems. The identification of the detector components will consist of an agreed upon name for the component, its location , type and description. The description will include all the information which is required to determine the operational parameters which are required for the successful initialization and operation of the system component. In addition, the Online system will require information which specifies the connections and relationships between components in the detector The Online database will store and make available to PHENIX personnel information which identifies the interconnections between components in the PHENIX detector. The interconnections will include data flow connections. This will identify how event data flows through the DAQ system. This identification will consist of all the components in the data flow path Configuration information Online will store all detector system configuration information in the online database. Configuration information includes: o the hardware components of a physical granules o the hardware components of a partition definition o partition identifiers o granule identifiers Partition Description The online database will contain all hardware components which have been defined to exist in a partition. A partition is defined to be a configurable set of components of the PHENIX detector which can be run as an independent unit. Each partition will be identified by a unique character string of up to 32 characters. There can exist a maximum of 32 partitions which may run simultaneously. The Online database can store any number of predefined partitions. Theses defined partitions will be retrievable and submitted to the ONCS system for allocation of the contained components, prior to the execution of a run. The partition information will also contain access to a set of configuration and initialization information which is required for the execution of a run. 1.1 RUN-TIME DATA ------------------ The runtime storage information from the Online system will include all operational data which is collected during the course of an experiment which will confirm the validity of experimental data and which is required for its successful analysis. This data includes status information as well as monitored data values which is collected by the Online system from various detector components. The runtime storage must be sufficiently robust as to support data rates and quantities which are sufficient for the successful evaluation of the experimental results. ONCS will require the run-time storage of monitored data which is taken from the PHENIX detector during operations. This data will be used to determine the validity of run-time physics data. This data will be retrieved by ONCS as well as other interested groups during run-time as well as at a later time. ----------------------------------------------------------- Data formats and quantities of stored partition information ----------------------------------------------------------- item quantity format ------------------ -------- ----------- partition name 64 32 char subsystem components N 32 character string identifier identifier configuration files N 32 character string initialization files N 32 character srting components N component structure ----------------------------------------------------------- NOTE: quantity N denotes an unknown or undetermined value at this time -------------------------------------------------------- Component structure -------------------------------------------------------- element type description ----------- ------------ ---------------------- identifier string the component name device id unsigned long the unique id granule string where located type unsigned long hardware part type (adc,amp) subsystem id string subsystem id parameters structure associated data -------------------------------------------------------- ----------------------------------------------------------- Parameter Structure ----------------------------------------------------------- element type description -------------- --------------- ------------------ length unsigned long number of parameters in the component name string parameter name value data type data value type identifier id float, int, etc data type identifier parameter number long parameter index ----------------------------------------------------------- 1.2.1 RUN-TIME DATA FORMATS ------------------------------- Run-Time Data The Online run-time data includes all that data which is collected from the PHENIX detector in the course of the operation of the detector. The operations will consist of calibration, test or real data run. All run-time data will be stored along with sufficient information which will allow the identification of the type, time, owner and the detector configuration at the time of the run. The run-time data storage will allow for the reconstruction of a change history of detector configurations and run-time parameters. The data which is collected from a run will include the following information: -------------------------------------------------------------------- ancillary data quantity data format storage frequency -------------- -------- --------------- ----------------- low voltage 1000 float 1 per hour high voltage 4900 double 2 per hour temperature 1000 float 1 per hour change commands command structure all occurrences error log entry string and value all occurrences DCM/FEM config. data 10Kb various formats at start of run trigger configuration 15Kb various formats at start of run -------------------------------------------------------------------- The trigger configuration information will consist of all the CFD/Delay/logic matrix and other settings that define the different trigger behavior. The trigger information should be sufficiently complete to allow for the setting of the trigger system from the stored data. ----------------------------------------------------------- Command Structure ----------------------------------------------------------- element data format data size (bytes) --------------------- ---------------- ----------------- command character string 16 value type identifier type identifier varies (1-16) value data type int, float, double time stamp POSIX format 4 of time_t source name character string 64 ---------------------------------------------------------- ---------------------------------------------------------- Calibration Information Structures ---------------------------------------------------------- Calibration data quantity data format ------------------ ---------------- -------------- 4 per detector float, element double ---------------------------------------------------------- 1.3 DOCUMENTATION ------------------ Descriptions which will be in text microsoft word and HTML formats. 2 Access --------- The Online database must be accessible by non database experts. They will be the people who will be running an experiment, but they will also be the people who will set up and enter the parameters which are required for an experiment. The database will also be accessed by the people who are analyzing the data taken as well as by the people who are responsible for building and maintaining the PHENIX detector. 2.1 Access Methods ------------------ Access to the database will be made both programmatically and through forms. Offline has identified a requirement for SQL select, update and insert statements or their equivalent to be implemented to access the online database. The Online system can expect to issue similar access functions. 2.2 Accessibility ----------------- The Online database will be accessible from multiple, distributed UNIX based workstations and X terminals. The UNIX platforms will include SUN SPARC stations running Solaris and SGI platforms running IRIX. It seems likely that the Solaris operating system will also be run from an Intel Architecture which at the present time would be a Pentium Pro processor. It also anticipated that access will be required NT platforms. NT based access will be required for both programmatically and form based queries and input. 2.3 Access Correlation between Online and other systems access to database data. --------------------------------------------------------- Access methods must be provided which can translate information from Online data structures to corresponding data structures of other PHENIX systems for the same components. In particular, object representations of components must be transferable to record and C structure representations of those components. 2.4 Data Entry --------------- The data base data will be entered from forms, embedded SQL and perhaps SQL scripts. There may also be other programmatically data entry mechanisms which will store information which originates from a number of differently formatted file formats. Any required data conversion operation (endiness, etc) should be performed transparently by the DB system rather than by the DB programmer or the end user. The language will be C++ with interfaces to make the data accessible from C code. 2.5 Data Retrieval ------------------ Data from the Online database will be retrieved from a variety of UNIX platforms. The retrieval mechanism will include form based access via a GUI interface and through programmatically queries. In the form based retrieval, an operator will enter the names of the desired components in keyword form or in a user identifiable format which is expected to be an ascii string which will identify a desired component with an agreed upon PHENIX naming convention. The programmatically retrieval mechanism will include SQL statements. The data retrieved 2.6 Data Display ---------------- The retrieved information will be displayable in a number of formats which will be determined by the desire of the operator and the content of the data. For visual display in a form or GUI based application, the data may be displayed in a container which is appropriate to the data which is requested. This may be a table or list or other container. Data may also be retrieved and sent directly to a programmatically output container which will depend on the desired function. This container may be a file whose format may vary dependent on the function. For example, if the data retrieved is the set of mode bits which are to be downloaded to the FEMs during a run, and the desired operation is to retrieve the stored mode bits for a run for further editing, then they may be retrieved and placed into a format filter which will place the data in a specified file in the appropriate format. The output filter may be form selectable or identified by the data. 3 Performance Requirements --------------------------- The Online system database must be sufficiently robust to provide real-time response to operator queries for information about the detector system The Online system requires access to configuration and initialization information sufficiently fast to allow a total time to initialize the PHENIX detector to be less than 10 minutes. The following table includes some relevant time and data access requirements: --------------------------------------------------------- time to read all configuration data: 5 minutes quantity of data : 10 Mb estimate --------------------------------------------------------- Ancillary Information Structure Each ancillary data entry will typically contain an character string which identifies the name of the channel or component which is being stored, the value which is being recorded, and a time stamp of when the value is being recorded. The rate and period over which these values are to be recorded in the Online database will vary on experimental conditions and requirements. Some expected data monitoring rates for ancillary data are: ---------------------------------------------------------------- ancillary data type data collection rate data storage required ------------------- -------------------- --------------------- temperature 1 per hour 1000 records / hour low voltage 1 per hour 1000 records / hour high voltage 2 per hour 9600 records/hour ----------------------------------------------------------------