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 
----------------------------------------------------------------