BESIII Offline Software Development Environment Ma qiumei 2004.5.26 * Development environment * Configuration & management tool * Software development.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Carl Schumann 1 June 2012.
OpRelease 1.0 J.E Campagne CERN 14/2/02. The different areas Official Area OpRoot OpRec … User Devel. Area OpRoot/TgtScin OpRec/Tracking … use CVS cmt.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Software Installation, release 4.0 Geant4 Users’ Workshop Tutorial SLAC February 18-22, 2002 Takashi Sasaki, Gabriele Cosmo,
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
ATLAS Software Kaushik De University of Texas At Arlington based on a tutorial by P. Calafiura (LBNL) LHC Computing Workshop, Ankara May 2, 2008.
Platforms, installation, configuration; accessing example collections Course material prepared by Greenstone Digital Library Project University of Waikato,
Software Installation The full set of lecture notes of this Geant4 Course is available at
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
The Atlas Software Distribution Christian ArnaultAlessandro De SalvoSimon GeorgeGrigori Rybkine
Linux Operations and Administration
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
Introduction to Hall-D Software February 27, 2009 David Lawrence - JLab.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
The introduction of CMT Version v1r14. General index 1.presentation 2.how to install CMT 3.how to write a requirements file 4.how to use CMT.
CMT 1 HEPVis Sep. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.
Overview of LHCb applications and software environment LHCb software tutorial - March
BES Ⅲ Detector Description and Event Display Zhengyun YOU, Yajun Mao School of Physics, Peking University Jan.10th, 2006.
The LCG SPI project in LCG Phase II CHEP’06, Mumbai, India Feb. 14, 2006 Andreas Pfeiffer -- for the SPI team
As of 28 Juni 2005Getting Starged with GEM - Shuei Yamada 1 Getting Started with GEM Shuei YAMADA ICEPP, University of Tokyo What is GEM? Before you start.
CMT Christian Arnault - LAL - Chep /18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation.
The report on the current situation of the BESIII framework zhangxiaomei maqiumei 10/3/2004.
The BESIII Offline Software Weidong Li Institute of High Energy Physics, Beijing Workshop on the cooperation of PRC-US in HEP 16 June 2006.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
INFSO-RI Enabling Grids for E-sciencE ATLAS Distributed Analysis A. Zalite / PNPI.
CMT Christian Arnault – CMT tutorial – dec CMT Tutorial How to use CMT in Atlas Christian Arnault
Use of Gaudi in Reconstruction Weidong Li 23/06/2004.
CMT 1 Jan. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.
Nurcan Ozturk University of Texas at Arlington US ATLAS Transparent Distributed Facility Workshop University of North Carolina - March 4, 2008 A Distributed.
LHCb-ATLAS GANGA Workshop, 21 April 2004, CERN 1 DIRAC Software distribution A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
Tutorial on Testbeam Software - CERN, March 10th 2005 Daniela Rebuzzi – Pavia University and INFN CTB_G4Sim Simulation.
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.
CERN IT Department t LHCb Software Distribution Roberto Santinelli CERN IT/GS.
 Programming - the process of creating computer programs.
Weidong Li January 7, 2004 BES III Software Meeting Status Report: BESF software development environment Weidong Li.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
BES III Software: Overview, Status and Plan Weidong Li Representing BES III Software Group BES Annual Meeting, Beijing 1 st June 2005.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
10/2/2000LHCb Computing, CHEP Use of Configuration Management tool in LHCb software J. Harvey, P. Mato, F. Ranjard CERN (Switzerland)
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 1 The Science Analysis Software Development Environment -- for tools too! T. Burnett.
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.
Level 1-2 Trigger Data Base development Current status and overview Myron Campbell, Alexei Varganov, Stephen Miller University of Michigan August 17, 2000.
Bologna Tutorial, June Overview of LHCb applications and software environment.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Use of CMT in LHCb CMT Workshop, LAL (Orsay) 28 th February - 1 st March 2002 P. Mato / CERN.
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
Starting Analysis with Athena (Esteban Fullana Torregrosa) Rik Yoshida High Energy Physics Division Argonne National Laboratory.
Build and Test system for FairRoot
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Configuration and Build System
ATLAS Software Distribution
CMT Define the development work models
Overview of LHCb applications and software environment
Software Installation
SICB under CMT Why? What is CMT? How to work with CMT? Package layout
Software Installation, release 4.0
Presentation transcript:

BESIII Offline Software Development Environment Ma qiumei * Development environment * Configuration & management tool * Software development in BOSS

12th BES Annual Meeting2 Part I : Development environment  History of BESIII offline software system  BOSS package structure  Development environment

12th BES Annual Meeting3 History of BESIII offline software system  Besfv1 : The original version based on belle  Besfv2 : Improving with babar, gaudi …  Besfv3 : New building tools — CMT added  BOSSv1.0.0 : The testing version based on Gaudi  BOSSv2.0.0 : The current version

12th BES Annual Meeting4 BOSS package structure (1)  The boss packages in boss/2.0.0 /BesPolicy -- define some standard patterns /BesCxxPolicy -- define standard patterns for c++ compilier /BesFortranPolicy -- define standard patterns for fortran compilier /BesRelease -- for all packages release /Calibration -- for calibration /Calorimeter -- for Calorimeter /Control /Database -- the data IO of database /DetectorDescription -- for detectors ’ description /Event -- for every type event /EventDisplay -- the interface for event display Based on Athena

12th BES Annual Meeting5 /EventFilter -- for event filter /External -- enviroments for external libs /MDC -- for main drift chamber /MuonCounter -- for muon counter /PhyTool -- some tools for physics analysis /Reconstruction -- for reconstruction /Simulation -- for simulation /TestRelease -- for some test release /TOF -- for time /Trigger -- for trigger /Utilities -- for some utilities  More details please see the website: BOSS package structure (2)

12th BES Annual Meeting6 Development enviroment  Machine: koala.ihep.ac.cn(PC server)  OS : Linux-7.2  Compiler : gcc-2.95  Framework : Besfv3  External Libs: CERNLIB 、 ROOT 、 PGSQL 、 CLHEP  Developing language : C++  Database : PostgreSql  Version management tool : CVS  Browsing files in CVS repository : ViewCVS  Configuration management tool : CMT

12th BES Annual Meeting7 Part II: Configuration & management tool  Brief introduction of CMT  Types of package  Brief introduction of requirements  Useful variables and commands

12th BES Annual Meeting8 CMT -- Configuration management tool  A set of tools and conventions  Structure software development or production  Organise software into packages  Describe package properties  Describe package constituents  Operate the software production (management, build, import/export, etc...) by transparently configuring and driving the various conventional tools (CVS, make, MSDev, Web, tar, compilers, linkers, archivers, etc...)

12th BES Annual Meeting9 Who are using CMT  The physics research experiments using CMT as the following: a.. Virgo b.. LHCb c.. GLAST d.. Atlas e.. Nemo f.. Opera g.. Planck h.. Auger i.. GANIL j.. GAM  Related documents pls see such website:

12th BES Annual Meeting10 Types of package Packages may have particular semantics  Normal packages provide software or documents  Container packages manage other packages  Policy packages hold specifications for project-wide policies  External packages install external software into the CMT conventions CLHEP, ROOT, CERN, etc …

12th BES Annual Meeting11 The directory structure of a package A A A area / package-name / version-tag / cmt / requirements src / sources package-name / headers linux-i686 / Linux binaries test /test application …… Public release Private dev. Common software Inter-project com. Domain specific dev. Search list defined in CMTPATH Specified at package creation Obtained by cmt checkout Automatically created at build time and on demand according to cmt system

12th BES Annual Meeting12 The requirements file The requirements file centralizes all configuration parameters Author(s), manager(s) Structural information specialized directory structure used packages links to external packages Constituents Libraries Applications generated documents Make macros and environment variables and their possible values on various platforms, sites, environments Customization for new languages, or document generators Definition of conventional behavioural patterns Sufficient for transparently generating all required makefiles and setup scripts, or for launching test procedures. They are the sources of all queries.

12th BES Annual Meeting13 Global software organization use Release area User area MDCGeomSvc MDCGeomSvc BesRelease BesRelease MDCGeomSvc MDCGeomSvc BesGeoMdc BesGeoMdc-00-* External/CLHEP CLHEP * BesPolicy BesPolicy-01-* CLHEP External area use

12th BES Annual Meeting14 Useful variables and commands (1)  The CVSROOT environment variable  Default value on koala is:  The CMTCONFIG environment variable - Default value on koala is :Linux-i686  The CMTPATH environment variable  Locations that CMT looks in to locate packages continue…

12th BES Annual Meeting15 Useful variables and commands (2)  The CMT command Basic Syntax: cmt [ - = ]  Main commands cmt config re-configure a package cmt create … create a new package cmt show … monitors configuration parameters cmt broadcast … launch shell command over several packages cmt co … interface to CVS’ checkout operation cmt help get the list of possible commands source cleanup.sh undo the source setup source setup.sh do the source setup

12th BES Annual Meeting16 Part III : S oftware development in BOSS  Creating a new package  Building a package  Checking out a package from CVS  Checking in to CVS

12th BES Annual Meeting17 Creating a new package  Choosing a location  i.e. Which area? … e.g. Your private dev.  Choosing a name  Must be a unique package name in boss (should not either just differentiate by case of letters)  Choosing a version  The command as listed below: cmt create A A

12th BES Annual Meeting18 Building a package  The basic development cycle  Set enviroment Vi../cmt/requirements  Compile vi../src/…  Build source setup.sh gmake  Test (if available) (build the debug version by default) (now build the optimized version) (switch to the optimized settings) (default settings is debug)

12th BES Annual Meeting19 Examples … The simplest one One new application with (some) source file(s) > cmt create A A > cd A/A /cmt > vi requirements > vi A.cxx B.cxx C.cxx > gmake >. setup.sh >../${CMTCONFIG}/A.exe package A use BesPolicy BesPolicy-01-* application A A.cxx B.cxx C.cxx 1) Create a new package and move to it 2) Describe the package 3) Create the package items and build them 4) set the environment and run

12th BES Annual Meeting20 Checking out a package from CVS  Getting a package out from CVS to modify it  Go to your private development area  Checkout the package cmt co A or cmt co –r A A  Modify  Test

12th BES Annual Meeting21 Checking in to CVS  Checking in to CVS cvs import –m “**” BossCvs/A Bes A Note: set the right CVSROOT e.g. export

12th BES Annual Meeting22 Conclusions and Outlook  CMT was used to - organize BES III software and external libraries e.g CLHEP, cernlib etc - configure and build software packages - publish releases  The friendly environment based on CVS, ViewCVS and CMT was successfully setup for software developers.  In near future - move to Santest farm - integration with BOOST

12th BES Annual Meeting23 Thank you!