Presentation is loading. Please wait.

Presentation is loading. Please wait.

SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.

Similar presentations


Presentation on theme: "SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC."— Presentation transcript:

1 SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC

2 28 January 2003The SEAL ProjectP. Mato/CERN2 Contents  Project Purpose, Scope and Objectives  Work Packages  Role of CLHEP  Software Process  Current Activities  Summary

3 28 January 2003The SEAL ProjectP. Mato/CERN3 LHC Computing Grid Project (LCG)  LCG project was formally approved at the CERN Council meeting of September 20, 2001  LCG is the dedicated world-wide deployment project of the infrastructure for LHC Computing and the work place for the co-ordinated computing efforts of the experiments  LCG is a global project, based on the LHC experiments, large software efforts, (inter-) national Grid project achievements and on CERN’s involved divisions

4 28 January 2003The SEAL ProjectP. Mato/CERN4 SEAL Project Purpose  Provide a coherent and as complete as possible set of core classes and services in conformance with overall architectural vision (Blueprint RTAG)  Facilitate the integration of LCG and non-LCG software to build coherent applications  Avoid duplication of software within the LCG projects and LHC experiments

5 28 January 2003The SEAL ProjectP. Mato/CERN5 Project Overview: Scope  Foundation Class Libraries –Basic types (STL, Boost, CLHEP, …) –Utility libraries –System libraries –Domain specific foundation libraries  Basic Framework Services –Component model –Reflection –Plugging management –Incident (Event) management –Distribution, Grid –Scripting

6 28 January 2003The SEAL ProjectP. Mato/CERN6 Domain Coverage

7 28 January 2003The SEAL ProjectP. Mato/CERN7 Customers  Other software LCG application area projects –Persistency (POOL) –Physicist Interface (PI) –Math Libraries, …  LHC Experiment Frameworks and Applications –ATHENA/GAUDI (ATLAS) –COBRA (CMS) –GAUDI (LHCb)  Other HEP projects –GEANT4 ?,...

8 28 January 2003The SEAL ProjectP. Mato/CERN8 Project Overview: Schedule  Initial work plan being presented to SC2 on January 10 th including detail contents of version v1 alpha  March 2003 - V1 alpha –Essential elements with sufficient functionality for the other existing LCG projects (POOL, …) –Frequent internal releases (monthly?)  June 2003 - V1 beta –Complete list of the currently proposed elements with sufficient functionality to be adopted by experiments

9 28 January 2003The SEAL ProjectP. Mato/CERN9 Project Organization CLHEP GSL Boost ROOT …

10 28 January 2003The SEAL ProjectP. Mato/CERN10 Project Work Packages 1. Foundation and Utility libraries 2. Component Model and Plug-in Manager 3. LCG Object Dictionary 4. Basic Framework Services 5. Scripting Services 6. Grid Services 7. Education and Documentation

11 28 January 2003The SEAL ProjectP. Mato/CERN11 1. Foundation and Utility libraries  Inventory of existing utility classes  Provide support for Boost library –Boost is a strong candidate to standardize on –Intended to become part of Standard Library (STL)  Participation to CLHEP project  Develop SEAL utility library complementary to Boost and STL from existing code in ClassLib, Gaudi, HepUtilities, etc.  Develop SEAL system library to act as an operating system isolation layer  Establish guidelines for selecting external libraries

12 28 January 2003The SEAL ProjectP. Mato/CERN12 Role of CLHEP  We view CLHEP as a project to host a number of packages collecting HEP specific classes –Complementary to what exists in the standard and other more general purpose projects (e.g. Boost) –Physicists should be able to contribute (as it was the case with CERNLIB)  CLHEP should stay as a level of “foundation library” (fairly independent class libraries) –Minimize dependencies –Facilitating its use by different projects –Facilitating integration

13 28 January 2003The SEAL ProjectP. Mato/CERN13 Role of CLHEP (2)  LHC physicists will deal directly with the CLHEP types (eg. HepLorentzVector) –No adapters or isolation layer etc.  We (LCG/SEAL) will have to deal with –How to make CLHEP types persistent –How we deal with schema evolution –How to interact with CLHEP objects with interpreters like CINT or Python –How to visualize CLHEP objects –How to load new types dynamically –Etc.

14 28 January 2003The SEAL ProjectP. Mato/CERN14 2. Component Model and Plug-in Manager  Define component and interface model following the blueprint report guidance –Interfaces, abstract factories, etc.  Develop plug-in Manager –Service in charge of managing, querying, [un]loading plug-ins –Application bootstrapping (initialization)  Define “Object management protocol” –Object lifetime strategy  Document Component Model

15 28 January 2003The SEAL ProjectP. Mato/CERN15 3. LCG Object Dictionary  Reflection packages (imported from POOL) –Reflection and ReflectionBuilder  Develop tools for populating dictionary from C++ header files (initiated in POOL) –Required by CMS and ATLAS –Investigate gcc-xml technology  Develop gateway to Python (Python binding) –Completeness and usability exercise  Develop gateway from ROOT –Populate dictionary from CINT (inverse direction to the one developed in POOL) –Should allow to interact to any ROOT object as if it was defined in the LCG dictionary

16 28 January 2003The SEAL ProjectP. Mato/CERN16 4. Basic Framework Services  Develop set of basic services for message reporting, exception handling, component configuration, “event” management, etc. –More services will be identified in other projects  Develop object “whiteboard” –Study interaction with persistency, visualization and other services

17 28 January 2003The SEAL ProjectP. Mato/CERN17 5. Scripting Services  Define guidelines for developing Python bindings –Evaluate existing options: SWIG, Boost.Python, SIP,... –Study Python extension modules inter-dependencies  Develop Python bindings for standard services and utility libraries developed in SEAL –Enable scripting for application configuration  Upgrade Python bindings for ROOT (former RootPython)

18 28 January 2003The SEAL ProjectP. Mato/CERN18 6. GRID Services  Gather requirements from POOL, PI for GRID- enabled services  Provide common interface to various Grid middleware

19 28 January 2003The SEAL ProjectP. Mato/CERN19 7. Education/Documentation  Produce documentation  Produce training material (tutorials)  Help incorporating SEAL components into LCG projects and experiment frameworks

20 28 January 2003The SEAL ProjectP. Mato/CERN20 Software Process  Process Model –Combination of applicable elements from Extreme Programming and Rational Unified Process –Work in tight, iterative development cycles: release early and release often  Methods, Tools and Techniques (provided by SPI) –Configuration management, testing tools, build system, bug tracking tool, coding conventions, etc.  Infrastructure (provided by SPI) –CVS repository, build servers, delivery area, etc.

21 28 January 2003The SEAL ProjectP. Mato/CERN21 Current Activities  Review existing libraries and services  Establishing initial work plan  Building the initial project infrastructure  Agree on naming/coding/style conventions  Populate CVS repository with software from various sources

22 28 January 2003The SEAL ProjectP. Mato/CERN22 Project Information  Web –http://cern.ch/sealhttp://cern.ch/seal  Project Portal –http://lcgappdev.cern.ch/savannah/projects/seal/http://lcgappdev.cern.ch/savannah/projects/seal/  Mailing lists with archive –General Discussion:seal@cern.chseal@cern.ch –Developers:seal-developers@cern.chseal-developers@cern.ch  Project Plan (v1.0) –http://cern.ch/seal/documents/SEAL_Project_Plan _1_0.pdfhttp://cern.ch/seal/documents/SEAL_Project_Plan _1_0.pdf

23 28 January 2003The SEAL ProjectP. Mato/CERN23 Summary  Introduced briefly the SEAL project –Purpose, scope and objectives –Work packages and activities  We need to interact with external projects (e.g. CLHEP) –As users, collecting LHC experiments’ feedback, adaptation if required, helping in maintenance, documentation, etc. –In other words: Collaboration  The infrastructure and software development environment provided by SPI project


Download ppt "SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC."

Similar presentations


Ads by Google