A Universal Framework for Data Validation Giovanni Organtini

  • Slides: 22
Download presentation
A Universal Framework for Data Validation Giovanni Organtini INFN-Sez. di Roma

A Universal Framework for Data Validation Giovanni Organtini INFN-Sez. di Roma

Data Validation l Data Validation (DV) – – Fast analysis of data coming from

Data Validation l Data Validation (DV) – – Fast analysis of data coming from a DAQ system to evaluate data usability Each atomic analysis program is called task l l fast, light and single-objective Data Validation must be – – – Able to evolve on a short timescale Flexible to manage multiple and different validation tasks Robust to allow many different users to cooperate without interference ACAT 03 -Giovanni Organtini 2

DV Framework Concepts l l Sensors: elements that detect events such as an EOR

DV Framework Concepts l l Sensors: elements that detect events such as an EOR or a Warning signal issued by analysis tasks Events: any Sensor outcome Mediator: a process that collects Events from Sensors and dispatches them to Solutions: objects that recognize Events and act according to their content ACAT 03 -Giovanni Organtini 3

Framework architecture ACAT 03 -Giovanni Organtini 4

Framework architecture ACAT 03 -Giovanni Organtini 4

Framework architecture Sensors ACAT 03 -Giovanni Organtini 5

Framework architecture Sensors ACAT 03 -Giovanni Organtini 5

Framework architecture Notify Event to Mediator ACAT 03 -Giovanni Organtini 6

Framework architecture Notify Event to Mediator ACAT 03 -Giovanni Organtini 6

The Sensors l Alarm. Sensor: parses HTML-formatted files and detects comments of the form

The Sensors l Alarm. Sensor: parses HTML-formatted files and detects comments of the form <!–- Sensor. HTML Creates events according to comment content l EORSensor: parses a text file (runlist) and detects updates. A line is added to runlist at each EOR ACAT 03 -Giovanni Organtini 7

Framework architecture Dispatch Event to Solutions ACAT 03 -Giovanni Organtini 8

Framework architecture Dispatch Event to Solutions ACAT 03 -Giovanni Organtini 8

Framework architecture Solutions ACAT 03 -Giovanni Organtini 9

Framework architecture Solutions ACAT 03 -Giovanni Organtini 9

The Solutions l Program: launch one or more programs in a given directory (repair

The Solutions l Program: launch one or more programs in a given directory (repair known problems) l E-mail: send an e-mail with arbitrary text to a list of recipient l Window: show a popup window on a given terminal with arbitrary HTML-formatted text ACAT 03 -Giovanni Organtini 10

A more formal view l Implemented in Java – – portable distributed (RMI-server created

A more formal view l Implemented in Java – – portable distributed (RMI-server created to allow Sensors to run on remote processors) ACAT 03 -Giovanni Organtini 11

How it works l Sensors detect changes in files – – l l an

How it works l Sensors detect changes in files – – l l an EOR-Sensor can detect an EOR looking at the content of a given file containing the runlist An Alarm. Sensor can parse output files produced by analysis tasks to detect potential problems The Mediator collects Events and notify them to all the existing Solutions The Solutions choose to activate themselves according to Event content ACAT 03 -Giovanni Organtini 12

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line appear in the runlist formatted as follows <commands/beam/> --date=20031111 –ebeam=50 –beam=e ACAT 03 -Giovanni Organtini 13

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line appear in the runlist formatted as follows <commands/beam/> --date=20031111 –ebeam=50 –beam=e directory containing analysis tasks for this application ACAT 03 -Giovanni Organtini 14

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line appear in the runlist formatted as follows <commands/beam/> --date=20031111 –ebeam=50 –beam=e directory containing analysis tasks for this application parameters to be passed to analysis tasks (arbitrary) ACAT 03 -Giovanni Organtini 15

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line

EOR-Sensor l l The EOR-Sensor generate an Event as soon as a new line appear in the runlist formatted as follows <commands/beam/> --date=20031111 –ebeam=50 –beam=e directory containing analysis tasks for this application l parameters to be passed to analysis tasks (arbitrary) Program Solution activated ACAT 03 -Giovanni Organtini 16

Analysis tasks l Analysis tasks can be written in ANY language, provided they can

Analysis tasks l Analysis tasks can be written in ANY language, provided they can accept arguments on the command line – l Examples: C, C++, Perl, shell scripts, etc. They must provide the output in HTML-formatted files to be located in a given directory – – – output can be either text and/or images the result of any single task could be browsed from everywhere using any browser a process will automatically generate the list of output files to be shown to the shifter ACAT 03 -Giovanni Organtini 17

Alarm Sensors l They look for HTML-comments in output files and generate events according

Alarm Sensors l They look for HTML-comments in output files and generate events according to the comment content – – – comments not shown by browsers must be compliant with a set of rules actions may be combined (i. e. can send e-mails and notify a message to the shifter) ACAT 03 -Giovanni Organtini 18

Example <!– Sensor. HTML win. Flag=false email. Flag=true command. Flag=false <email. Body> sender. Email=Giovanni.

Example <!– Sensor. HTML win. Flag=false email. Flag=true command. Flag=false <email. Body> sender. Email=Giovanni. Organtini@roma 1. infn. it sender. Name=Giovanni Organtini - ped analyzer receiver. Email=tb. coord@cms. cern. ch, G. Organtini@cern. ch smtp. Server=localhost subject=Problem with pedestals in test beam <message> A problem has occurred during the analysis of the pedestal. May be you want to run to the detector to investigate… </message> </email. Body>. . --> ACAT 03 -Giovanni Organtini 19

Solution activation l The e-mail Solution is activated – – l sends an e-mail

Solution activation l The e-mail Solution is activated – – l sends an e-mail to Coordinator and Task responsible the e-mail body is arbitrary and may contain links and other HTML-tags Other informative message can be written on the output file containing the comment – output file may contain l l l text images links ACAT 03 -Giovanni Organtini 20

Applications l CMS Crystal Calorimeter Construction in Roma – – l Crystals measured by

Applications l CMS Crystal Calorimeter Construction in Roma – – l Crystals measured by automatic machine Results analyzed by validation tasks Problems notified to construction supervisor via e-mail Some known problems recovered via program Solution CMS Crystal Calorimeter Test-Beam at CERN – – – Calorimeter modules exposed to e, p beams Data collected analyzed by validation tasks Problems notified to experts via e-mail and to shifters via popup windows ACAT 03 -Giovanni Organtini 21

Conclusion l A Data Validation Framework has been developed – – – – l

Conclusion l A Data Validation Framework has been developed – – – – l simple to manage and use universal flexible robust configurable no requirements on analysis tasks no library to link or file to include Package available soon (2004) for download on http: //www. roma 1. infn. it/people/organtini ACAT 03 -Giovanni Organtini 22