SW Architecture SG meeting 22 July 1999 P. Mato, CERN

Slides:



Advertisements
Similar presentations
March 24-28, 2003Computing for High-Energy Physics Configuration Database for BaBar On-line Rainer Bartoldus, Gregory Dubois-Felsmann, Yury Kolomensky,
Advertisements

Blueprint RTAGs1 Coherent Software Framework a Proposal LCG meeting CERN- 11 June Ren é Brun ftp://root.cern.ch/root/blueprint.ppt.
Ideas on the LCG Application Architecture Application Architecture Blueprint RTAG 12 th June 2002 P. Mato / CERN.
6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation.
15 March, 2000LHCb Computing1 Software Review Panel LHCb Answers to Architecture, Data Model and Program Infrastructure Pere Mato for the LHCb Collaboration.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
Gaudi Framework Tutorial, April Introduction.
3 Sept 2001F HARRIS CHEP, Beijing 1 Moving the LHCb Monte Carlo production system to the GRID D.Galli,U.Marconi,V.Vagnoni INFN Bologna N Brook Bristol.
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
Introduction To System Analysis and Design
1 GAUDI - The Software Architecture and Framework for building LHCb data processing applications Marco Cattaneo, CERN February 2000.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett The Athena Control Framework in Production, New Developments and Lessons Learned.
Event Data History David Adams BNL Atlas Software Week December 2001.
Analysis of the ROOT Persistence I/O Memory Footprint in LHCb Ivan Valenčík Supervisor Markus Frank 19 th September 2012.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 ACAT 2000, Fermilab Oct Control States... Control States for the Atlas Software Framework.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
Introduction to Gaudi LHCb software tutorial - September
Use of Gaudi in Reconstruction Weidong Li 23/06/2004.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
The CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
Marco Cattaneo, 15-Sep OO software plans  Major milestone (presented last June) Fully functional SICB replacement by mid-2000  How to get there?
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
GAUDI Muon Software  Algorithms : Muon Digitization MuonL0Trigger MuonIdentification  Detector Description Database  Transient Detector Store  Detector.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
10/2/2000LHCb Computing, CHEP Use of Configuration Management tool in LHCb software J. Harvey, P. Mato, F. Ranjard CERN (Switzerland)
General requirements for BES III offline & EF selection software Weidong Li.
CERN Tutorial, February Introduction to Gaudi.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Overview Methodology Design Architecture Outline of future work Ideas for discussion.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
SuperB Computing R&D Workshop 9-12 March 2010, IUSS, Ferrara, Italy P. Mato /CERN.
VI/ CERN Dec 4 CMS Software Architecture vs Hybrid Store Vincenzo Innocente CMS Week CERN, Dec
Marco Cattaneo, 3-June Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
Elements of LCG Architecture Application Architecture Blueprint RTAG 8 th June 2002 P. Mato / CERN.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
Architectural Styles of HEP Experiments
CMS High Level Trigger Configuration Management
Migration of reconstruction and analysis software to C++
GLAST Gaudi Review T. Burnett H.Kelly 10 Sept 02 Gaudi code review
LHCb Software Tutorial
Introduction to Gaudi LHCb software tutorial - December 2010.
Marco Cattaneo, CERN February 2000
CIS16 Application Development – Programming with Visual Basic
Tag based analysis Ziyan DENG.
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Detector Description in LHCb
What’s new in version 5 of GAUDI
An Introduction to Software Architecture
GAUSS - GEANT4 based simulation for LHCb
Simulation and Physics
Geant4 in HARP V.Ivanchenko For the HARP Collaboration
Major Design Criteria Clear separation between “data” and “algorithms”
Chapter 5 Architectural Design.
Discussion on managing the coexistence of CDF and XML geometry files
What’s new in version 4 of GAUDI
Detector Geometry Description
Summary Computing Model SICb Event Model Detector Description
SEAL Project Core Libraries and Services
Introduction to Gaudi Schedule: Timing Topic 20 minutes Lecture
Use Of GAUDI framework in Online Environment
Planning next release of GAUDI
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

SW Architecture SG meeting 22 July 1999 P. Mato, CERN GAUDI Architecture SW Architecture SG meeting 22 July 1999 P. Mato, CERN The following are few slides intended to trigger a discussion/brainstorming with the goal of producing an Architecture for the DCS kernel. Definition on Architecture: “The architecture of a system is the structure of the system”. Two main ingredients: A set of building blocks, and a set of collaborations that specify how those building blocks cooperate to provide various system functions. An DCS architecture will allow us to provide set of control applications or control systems that fulfill a range of needs within the DCS domain. An architecture encourages reuse. Analogies in the real world: Gothic architecture, Lego Basic® architecture, Lego Technique® architecture. “To be successful, an object-oriented project must craft an architecture that is both coherent and resilient and then must propagate and evolve the vision of this architecture to the entire development team”, G. Booch, Object Solutions. 11/22/2018 GAUDI Framework

GAUDI: Scope We want to develop a Framework to be used in ALL the LHCb event data processing applications in all stages: high level trigger, simulation, reconstruction, analysis. Control applications are not included (slow control, run control) The bulk of the LHCb data processing software will be developed by physicists. Components will be developed using other frameworks (GUI, object persistency, simulation, …) 11/22/2018 GAUDI Framework

GAUDI: Goals To develop a framework The framework should be customizable to provide solutions to the event data processing needs. It should: Allow physicists to focus on solving the physics problem. Easy to use Non physics-related functionality implemented by the framework Ensure low coupling between concurrent developments. Guarantee a later smooth integration of developments. Facilitate software re-use 11/22/2018 GAUDI Framework

Software Structure A series of data processing applications built on top of the frameworks and implementing the required physics algorithms. High level triggers Reconstruction Simulation Analysis A series of Frameworks and Toolkits. One main framework: GAUDI, various specialized frameworks: visualization, persistency, interactivity, simulation (Geant4), etc. Frameworks Toolkits A series of basic libraries widely used: STL, CLHEP, etc. Foundation Libraries 11/22/2018 GAUDI Framework

Major design criteria Clear separation between “data” and “algorithms” Three basic types of data: event data (data obtained from the particle collisions) detector data (structure, geometry, calibration, alignment, environmental parameters,..) statistical data: (histograms, …) Clear separation between “persistent data” and “transient data”. Isolation of user’s code. Different/incompatible optimization criteria. Transient as a bridge between various representations. 11/22/2018 GAUDI Framework

Major design criteria (2) Data store centered architectural style. Algorithms as data producers and consumers. User code encapsulated in few specific places: “Algorithms”: Physics code “Converters”: Converting data objects into other representations All components with well defined “interfaces” and as “generic” as possible. Design principles Coupling, inheritance, static storage, ... 11/22/2018 GAUDI Framework

Building blocks 11/22/2018 GAUDI Framework

Interfaces 11/22/2018 GAUDI Framework Gaudi Application Framework IDataProviderSvc EventDataService IDataProviderSvc IAlgorithm IProperty DetectorDataService IHistogramSvc ConcreteAlgorithm HistogramService IMessageSvc ObjectA ObjectB MessageService 11/22/2018 GAUDI Framework Gaudi Application Framework

Algorithms Algorithm A Algorithm B A Algorithm C B C Transient Event Data T1 Data T1 Each Algorithm only knows what data (type and name) is expecting as input and creating as output. The only coupling is through the data. Scheduling of sub-algorithms is responsibility of the parent algorithm. Real dataflow Apparent dataflow Transient Event Data Store Data T1 Algorithm A Data T2, T3 Data T2 Algorithm B Data T4 A Data T3, T4 Algorithm C Parent B Data T5 C Data T5 11/22/2018 GAUDI Framework

IParticlePropertySvc Services Services are provided to Algorithms Examples: Job Options service (card files) Message reporting service Event/Detector/Histogram data service Event Selector Persistency and Conversion services User Interface (GUI) Particle property service ... IService IProperty PP File Particle Prop. Service IParticlePropertySvc Algorithm Algorithm 11/22/2018 GAUDI Framework

Event Data Store Event Data Service Persistency Service Algorithm retrieveObject( “EcalDigits”,...) Fetch() Store() Event Data Service registerObject( “key”,...) Persistency Service Algorithm creates Direct reference Transient Event Store 11/22/2018 GAUDI Framework

Event Persistency SicbCnvSvc Transient Event Store Sicb data Files Sicb/Zebra Converter Event Data Service Converter Converter Persistency Service RootCnvSvc Algorithm Algorithm Root data Files Root I/O Converter Converter Converter AppManager OutputStream OutputStream 11/22/2018 GAUDI Framework

Detector Description Editors Data Processing Application Editors Algorithms Algorithms Projection view: version & event time Transient detector store Persistent Detector Description (DDDB) Geom Geom DetElem Geom DetElem DetElem DetElem Calib Geom Calib Slow DetElem DetElem Geom DetElem DetElem DetElem DetElem Slow DetElem DetElem Detector Data Producers Conversion services Conversion services ? Update persistency Other representations 11/22/2018 GAUDI Framework

Data Visualization User Interface Representations Conversion Store (graphical, textual) Conversion Service Converter Converter Converter Converter Transient Event/ Detector Store Selector User Interface Selects objects in store 11/22/2018 GAUDI Framework

Application Configuration What are the knobs at our disposal? JobOptions. Simple usage. It allows the end-user to overwrite any property of any algorithm or service. Algorithm/Service properties database. A more sophisticated way to modify the properties of the algorithms and services. Detector database edition to create new versions or releases. Write specific code. Configure your application by setting it at runtime. User interface component. Graphical (a la Visual Basic), command line (scripting language), etc. 11/22/2018 GAUDI Framework

Packages GAUDI Framework GaudiExam. RootCnv SicbCnv LHCbAlg DetCnv RIO (applications) RootCnv (converters) SicbCnv (converters) LHCbAlg (algorithms) DetCnv (converters) RIO Futio (SICB) HbookCnv (converters) LHCbEvent (event model) DetDesc (detect. model) CernLib CLHEP Gaudi (foundations) STL Package group Package dependency optional 11/22/2018 GAUDI Framework