Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 1 AIDA - Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT

Similar presentations


Presentation on theme: "CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 1 AIDA - Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT"— Presentation transcript:

1 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 1 AIDA - Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT andreas.pfeiffer@cern.ch

2 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 2 Introduction and Motivation zFirst iteration on physics data analysis tool (based on IRIS Explorer) ydata driven approach yGUI based, not command line driven ymajority of users didn’t like it zRequest made in September 1999 to create new physics analysis tool ynew requirements defined together with experiments ytry to maximize re-use of existing components

3 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 3 OO approach to create tool zStart with OO analysis ycollection of user requirements zStudy critical path(s) yuser interface, distributed processing,... zOO design phase ydefine categories and classes, find patterns zCreate prototype yget feedback from users zIterate

4 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 4 User requirements for a physics analysis tool zEase of use (“like PAW”) zForesee customization/integration ye.g., use persistency/messaging/... from experiment zFramework used will not be exposed yneeds to be compatible with experiment’s framework zPlan for extensions y“code for now, design for the future” zMaximize flexibility/interoperability y"plug-and-play-like" use of components from other frameworks (shared libs using the same interfaces)

5 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 5 Categories identified zBasic functionality yHistograms, Vectors, Ntuples, Functions zVisualization yPlotter, EventDisplay zAnalysis yFitter, Analyzer (access to experiment’s data) zUser Interface yController (layer for possible commands/shortcuts) zMisc yMessages (between components)

6 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 6 Designing the Abstract Interfaces zAIDA project started by HepVis’99 workgroup: Abstract Interfaces for Data Analysis yhttp://wwwinfo.cern.ch/asd/lhc++/AIDA/index.html zIn close collaboration with users and developers from experiments and providers of other packages yIguana, HippoDraw, JAS, OpenScientist zStarting with Histogram classes ypresently in final iteration zNext items are Ntuples, Vectors and Fitting

7 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 7 Categories and dependencies

8 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 8 Structure of each category zBasic Class(es) yHistogram1D, Histogram2D, Ntuple... zManager uses Factory yhistoManager,... zFactory responsible for creating/deleting yManager is forwarding requests to Factory u by this Factory is hidden from the user yFactory implements “persistency mechanism”

9 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 9 Patterns identified so far zVisitor yextend functionality of base classes zAbstractFactory yfor object creation zStrategy yfactory is strategy for manager zMediator (controller) yallows weak coupling of classes zObserver ycommunication ("life" histo -> plotter/fitter)

10 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 10 User interface design zCreate abstract interface for UserIF ydecouple functionality from presentation ymakes UI independent of implementation zScripting or GUI based UserIF(s) easy by design y"Controller" category defines interface to UserIF

11 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 11 Discussing “Two layer” design zInterfaces for “end users” y“well known” approach for categories u HBOOK-like functionality for histograms ycan also be used in C++ analysis code yother functionality handled by controller zInterfaces for package/experiment architects yadded functionality with different grouping u accessing “ranges” within histograms

12 CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, andreas.pfeiffer@cern.ch 12 Summary and Outlook zCollaborative effort to define abstract interfaces for data analysis (AIDA) has been initiated zSeveral categories identified ydecoupling allows for “plug-and-play” configuration using shared libs zHistogram interface in final iteration yothers will follow soon zStay tuned... yhttp://wwwinfo.cern.ch/asd/lhc++/AIDA/index.html


Download ppt "CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 1 AIDA - Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT"

Similar presentations


Ads by Google