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

Slides:



Advertisements
Similar presentations
Physicist Interfaces Project an overview Physicist Interfaces Project an overview Jakub T. Moscicki CERN June 2003.
Advertisements

A component- and message-based architectural style for GUI software
G ET A HEAD ON Y OUR R EPOSITORY Worldwide Hydra Connect #2 September 30 – October 2, 2014 Cleveland, Ohio #hydraConnect.
18-1 Verifying Object Behavior and Collaboration Role playing – the act of simulating object behavior and collaboration by acting out an object’s behaviors.
Blueprint RTAGs1 Coherent Software Framework a Proposal LCG meeting CERN- 11 June Ren é Brun ftp://root.cern.ch/root/blueprint.ppt.
Core Application Software Activities Ian Fisk US-CMS Physics Meeting April 20, 2001.
Analysis with Geant4 and AIDA Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson.
Susanna GuatelliGeant4 Workshop 2004 Use of Analysis Tools Geant4 Workshop 2004, Catania Susanna Guatelli, INFN Genova.
Improvements in Interface, Intercoms and environments Koichi Murakami (KEK/CRC) Koichi Murakami Geant4 Collaboration Workshop (18/Sep/2007) 1.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko, and Lucas Taylor Northeastern University, Boston.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help.
An Introduction to Software Architecture
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Standard User Interface Tooling Summary Report The Standard User Interface tooling project is a partnership project to deliver elements of a healthcare.
IX International Workshop on Advanced Computing and Analysis Techniques in Physics Research KEK, Tsukuba, December 2003
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Design Design and Software Architecture. The design phase The analysis phase describes what the system should be doing The design phase describes how.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
The LCG SPI project in LCG Phase II CHEP’06, Mumbai, India Feb. 14, 2006 Andreas Pfeiffer -- for the SPI team
1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.
07 Apr, 2000 GAUDI Histograms Pavel Binko, LHCb / CERN 1 LHCb Software Week GAUDI Histograms Pavel Binko LHCb / CERN.
Using JAS3 for LCD Analysis Tony Johnson 20 th May 2003.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Refactoring for Testability (or how I learned to stop worrying and love failing tests) Presented by Aaron Evans.
Acat OctoberRene Brun1 Future of Analysis Environments Personal views Rene Brun CERN.
ESTEC 14-Jun-2001 Andreas Pfeiffer, CERN/IT-API, Architecture of Collaborating Frameworks Andreas Pfeiffer CERN IT/API
ECE450S – Software Engineering II
GranSasso, Jul-2002 Andreas Pfeiffer, CERN/IT-API, AIDA Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT/API
Design Patterns -- Omkar. Introduction  When do we use design patterns  Uses of design patterns  Classification of design patterns  Creational design.
GranSasso, Jul-2002 Andreas Pfeiffer, CERN/IT-API, AIDA Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT/API
Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria.
CS616: Software Engineering Spring 2009 Design Patterns Sami Taha.
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Feb. 17, 2006STIS-summary, CHEP06, Mumbai, India 1 Software Tools and Information System Track Summary CHEP Mumbai, India.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
LCIO A persistency framework and data model for the linear collider CHEP 04, Interlaken Core Software, Wednesday Frank Gaede, DESY -IT-
Maria Grazia Pia, INFN Genova Statistics Toolkit Project Maria Grazia Pia, INFN Genova AIDA Workshop.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Analysis Software Strategy Jürgen Knobloch HTASC, DESY 9 October 2001 AIDA ANAPHE LIZARD.
Example to motivate discussion We have two lists (of menu items) one implemented using ArrayList and another using Arrays. How does one work with these.
CS 210 Proxy Pattern Nov 16 th, RMI – A quick review A simple, easy to understand tutorial is located here:
Summary of the AIDA workshop AIDA Workshop, July What is AIDA  AIDA defines today interfaces for some common analysis data objects  IHistogram,
Aug 2000 Andreas Pfeiffer, CERN/IT, 1 Lizard A Flexible and Modular Data Analysis Tool using Abstract Types Andreas Pfeiffer CERN.
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko and Lucas Taylor Northeastern University, Boston.
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
Lucas Taylor, Northeastern University User Analysis Environment October 1999, CERN 1st Internal Review of CMS Software and Computing User Analysis.
CSE 403 Lecture 9 Risk assessment. Is software different? Submit a one sentence answer.
9 Dec. 1998Atlas Software WS1 CHAOS OO-Simulation for Atlas Atlas Software Workshop H.Kurashige Kobe Univ.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
AIDA Proxy Unit Tests Hurng-Chun Lee Academia Sinica Computing Centre, Taiwan.
David Adams ATLAS ADA: ATLAS Distributed Analysis David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
CMS Experience with the Common Analysis Framework I. Fisk & M. Girone Experience in CMS with the Common Analysis Framework Ian Fisk & Maria Girone 1.
Genova 10-Dec-2001 Andreas Pfeiffer, CERN/IT-API, AIDA Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT/API
Discussion with Blueprint RTAG August 2002 Tony Johnson SLAC.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL May 19, 2003 BNL Technology Meeting.
Chapter 8, Design Patterns Bridge
Project Status and Plan
An Introduction to Software Architecture
Andreas Pfeiffer, CERN/IT,
Java Analysis Studio - Status
Use of GEANT4 in CMS The OSCAR Project
Chapter 8, Design Patterns Introduction
Presentation transcript:

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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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)

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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)

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 7 Categories and dependencies

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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”

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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)

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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

CHEP Feb 7-11, 2000 Andreas Pfeiffer, CERN/IT, 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