GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 1 The Science Analysis Software Development Environment -- for tools too! T. Burnett.

Slides:



Advertisements
Similar presentations
Andrew McNab - Manchester HEP - 24 May 2001 WorkGroup H: Software Support Both middleware and application support Installation tools and expertise Communication.
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Configuration management
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Web Forms and ASP.NET Programming Right from the Start with Visual Basic.NET 1/e 12.
6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Science Analysis Tools Design Robert Schaefer – Software Lead, GSSC.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
GLAST LAT ProjectSAS PDR, Aug. 17, 2001 T. Burnett1 Infrastructure Sources Simulation Reconstruction.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
SPI Software Process & Infrastructure GRIDPP Collaboration Meeting - 3 June 2004 Jakub MOSCICKI
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
R.Dubois Science Tools Development Infrastructure 1/7 GLAST LAT ProjectSoftware Workshop July, SLAC SciTools Infrastructure Scope of Science Tools.
Gaudi Framework Tutorial, April Introduction.
Introduction to Hall-D Software February 27, 2009 David Lawrence - JLab.
T. Burnett, H. Kelly1 GLAST LAT ProjectDOE/NASA Baseline-Preliminary Design Review, January 9, 2002 SAS software: Code Development Infrastructure Technology.
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Overview of LHCb applications and software environment LHCb software tutorial - March
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
CMT Christian Arnault - LAL - Chep /18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation.
GLAST Gaudi Code Review, 10 Sept. 2002, H. Kelly, 2-1 GLAST Event Data Model and Persistency.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
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
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
GLAST CHEP 03 March T.Burnett1/12 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development.
Heather Kelly PPA Scientific Computing Apps LAT was launched as part of the Fermi Gamma-ray Space Telescope on June 11 th 2008.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Low-Level Virtual Machine support for Eclipse C/C++ Development Tooling Petri Tuononen - 17/5/2011.
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Science Analysis Tools Design Robert Schaefer – Software Lead, GSSC.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
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.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview LCG Application Area Internal.
K. Harrison CERN, 3rd March 2004 GANGA CONTRIBUTIONS TO ADA RELEASE IN MAY - Outline of Ganga project - Python support for AJDL - LCG analysis service.
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.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
BESIII Offline Software Development Environment Ma qiumei * Development environment * Configuration & management tool * Software development.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
CERN Tutorial, September Overview of LHCb applications and software environment.
Bologna Tutorial, June Overview of LHCb applications and software environment.
SPI Software Process & Infrastructure Project Plan 2004 H1 LCG-PEB Meeting - 06 April 2004 Alberto AIMAR
GLAST CHEP 03 March T.Burnett1/14 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development.
Use of CMT in LHCb CMT Workshop, LAL (Orsay) 28 th February - 1 st March 2002 P. Mato / CERN.
SNiPER在LHAASO实验中的应用: LodeStar
Introduction to Visual Basic 2008 Programming
GLAST Gaudi Review T. Burnett H.Kelly 10 Sept 02 Gaudi code review
SPI Software Process & Infrastructure
A C++ generic model for the GLAST Geometric Description
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Chapter 2: System Structures
Java Analysis Studio - Status
SEAL Project Core Libraries and Services
Presentation transcript:

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 1 The Science Analysis Software Development Environment -- for tools too! T. Burnett

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 2 Outline Requirements Implication Review of SAS environment Example

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 3 Requirements There must be a single framework for development and configuration of the software. The software tools must be able to interoperate with the rest of the GLAST analysis software. This includes simulation and reconstruction. Thus libraries must be easily available to tools written for either domain. We should be open to accept contributed software, in any language, especially F77. We support the Linux and Windows platforms. Code documentation must be integrated with the code itself, according to the doxygen convention and current SAS rules.

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 4 Implication: use what we have now ItemCurrent technology choice(s) File version controlremote cvs with ssh access to repository at SLAC Package management, build toolsCMT with gmake/gcc or VC++, Primary languageC++ wrappers for other compiled languages, esp. f77 Development platformsVisual Studio on Win 2K, XP Red Hat Linux Execution framework Gaudi

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 5 Pros and Cons for Science Tools Pros Almost two years’ experience, local support Wider support We don’t want to draw a line between developers Makes it much easier to share code Cons Science needs may differ Could be rather difficult to support contributed or existing code, especially from developers unused to C++.

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 6 Why C++ Basic value of encapsulation of data now well-established Build on success of Babar and all other new HEP experiments: Belle, D0, CDF, ATLAS, CMS, LHCb Now a standard, most compilers approach it Standard Template Library provides rich menu of algorithms and object containers. Required to use a C++ specific framework

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 7 About Platforms Windows PC –Our preferred development environment due to rapid development made possible by Microsoft Visual C++ MSDEV linux –The preferred choice for most European developers –Required for SLAC batch support solaris –not supported now, but in reserve if needed for SLAC batch.

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 8 Why CVS? Concurrent Versions System, the dominant open-source network-transparent version control system. Useful for everyone from individual developers to large, distributed teams: –Client-server access method lets developers access the latest code from anywhere there's an Internet connection. –Unreserved check-out model to version control avoids artificial conflicts common with the exclusive check-out model. –Client tools are available on all our platforms. Web-based repository browser available (cvsweb)

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 9 Code management choice: CMT Legacy of Babar’s SRT: building apps from packages –Package: collection of source files, with public header files in a folder (usually) with the package name –Produces a binary library and/or executable CMT (for Code Management Tool): our choice –Developed at Orsay in response to deficiencies of SRT, adopted by LHCb and ATLAS –Supports Windows –Clean model for package dependencies Support for compile-time, link-time, and execution-time –Configuration specified in a single file –The cmt tool generates makefiles, or MSDEV files –Uses CVS tags to correspond to versions

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 10 Execution framework requirements –Support “event”-oriented processing, three phases initialization event-loop generating or processing events termination –Define flexible way to specify processing modules to be called in the execute loop, without need to recompile/relink –Provide services, especially for making n- tuples and histograms initialize execute finalize

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 11 Gaudi: our framework choice Open source Stable, but active developers, in use by LHC experiments ATLAS, LHCb Very good documentation All code called via component interfaces: –Algorithm –Service –Converter –DataObject Support for shareables: all code is loaded dynamically Job control parameters set in job options file.

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 12 External software accessible by interface packages Xerces – XML parser CLHEP – class library with 3-vectors, Lorentz vectors etc. ROOT – analysis and I/O Geant4 – simulation of particles in matter

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 13 Gaudi Algorithm as a component Components are similar to those of Corba or COM: implement an abstract interface. Easy to substitute components: actual concrete implementation to be used is determined at run-time from a simple ascii file. Example diagram: A ConcreteAlgorithm: Implements 2 interfaces requests services from 6 services via abstract interfaces

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 14 How A Gaudi app works: a partial Block diagram G4Generator mcRootWriter FluxSvc (sources) GlastSvc (geometry) Transient Data Store TrkDigi Persistent ROOT files ServicesAlgorithms FluxAlg McParticleCol mc.root recon.root reconRootWriter TkrVertexCol “TkrRecon” TkrDigiCol McPositionHitCol

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 15 The SAS Documentation Task Force Web Site Charge 1.Ensure that all GLAST SAS policies and procedures are accurately documented. 2.Provide and maintain standard templates for code and web pages. 3.Assess the current documentation both for developers and users. a.Audit all GLAST SAS web pages to insure consistency and readability. b.Audit existing Doxygen generated developer documentation to highlight areas of improvement and guide creation of Doxygen guidelines. c.Reorganize existing documentation, in conjunction with documentation owners. 4.Maintain Doxygen guidelines for GLAST SAS, including examples. 5.Maintain automated generation of Doxygen pages for code packages. 6.Develop plans for generating and maintaining a GLAST SAS Developer Guide. 7.Develop plans for generating and maintaining a GLAST SAS User Guide. 8.Arrange and participate in developer and user documentation walk- throughs. 9.Develop and provide online tutorials for all GLAST SAS utilities and products. 10.Develop a plan for regular maintenance of the documentation.

GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 16 An example: GRB spectra Needs