Run II Physics Analysis Software Requirements Checklist

DATA ACCESS

  1. Access rates (online):
  2. Access rates (offline):
  3. Serial vs random access:
  4. Granularity of access:
  5. Foreign Input and Output Formats:
  6. Specialized output formats:

DATA ANALYSIS

    Scripting Language:

  1. full featured scripting language
  2. analysis tool's object model
  3. extract data from events
  4. express complex mathematical expressions
  5. debugging facilities
  6. interface the scripting language to dynamically linked compiled high level languages
  7. User Control:

  8. control functions
  9. Mathematical operations
  10. Results of analysis available to users
  11. command line recall and interacive command line editing.
  12. Data Selection:

  13. program selection criteria using extracted data
  14. display selection criteria as text
  15. Input/Output:

  16. support its own object I/O format.
  17. allow its own format object files to be read or written from compiled programs.
  18. read or write object files in foreign formats
  19. write selected event objects to one or more output streams
  20. object definition language and/or be able to define new object formats programmatically.
  21. read events in one format, convert and write them out in a different format.
  22. virtual streaming
  23. Numeric and Mathematical Functionality:

  24. accurate and precise numerical functionality, including double precision.
  25. Analysis capabilities applied to fetched data as well as subsequent renditions
  26. Functions operating on multiple data sets
  27. fit, parameterize, and calculate statistical quantities from data
  28. user control of fitting algorithms.

    Offline Compatibility:

  29. tailor the sequence of mathematical operations
  30. ability to include external software in their analysis.
  31. functionality of the analysis package linked into user defined code.
  32. Prototyping:

  33. prototyping of simple versions which can later be expanded upon.
  34. Prototyped sequences contain the full interface of an arbitrarily complex version.

DATA PRESENTATION

  1. Interactive visualization:
  2. Presentation quality graphical output:
  3. Formal publication of graphical output:

USABILITY

  1. Batch vs. interactive processing:
  2. Sharing data structures:
  3. Shared access by several clients:
  4. Parallel processing (using distinct data streams):
  5. Debugging and profiling:
  6. Modularity (user code):
  7. Modularity (system code):
  8. Access to source code:
  9. Robustness:
  10. Web based documentation:
  11. Use of standards:
  12. Portability:
  13. Scalability:
  14. Performance:
  15. User Friendliness: