CMT Christian Arnault - LAL - Chep 2000 1/18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation.

Slides:



Advertisements
Similar presentations
C++ Development on Linux Agenda Introduction Editors Debuggers GUI IDEs Make Automake Exploring further.
Advertisements

Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Guide to Linux Installation and Administration, 2e1 Chapter 6 Using the Shell and Text Files.
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.
Software Installation The full set of lecture notes of this Geant4 Course is available at
Linux Operations and Administration
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
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
Abstract The automated multi-platform software nightly build system is a major component in the ATLAS collaborative software organization, validation and.
Servlets Environment Setup. Agenda:  Setting up Java Development Kit  Setting up Web Server: Tomcat  Setting up CLASSPATH.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Software Engineering in Robotics Packaging and Deployment of Systems Henrik I. Christensen –
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.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
Overview of LHCb applications and software environment LHCb software tutorial - March
Distribution After Release Tool Natalia Ratnikova.
1 3. Computing System Fundamentals 3.1 Language Translators.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
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.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
The report on the current situation of the BESIII framework zhangxiaomei maqiumei 10/3/2004.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring Mike Phenow.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
CMT Christian Arnault – CMT tutorial – dec CMT Tutorial How to use CMT in Atlas Christian Arnault
REAL ESTATE INVENTORY SYSTEM Training Seminar - December 1, 2011 Tirana, Albania Guidelines on how to work with the Promise System.
GLAST CHEP 03 March T.Burnett1/12 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development.
Organization and Management of ATLAS Nightly Builds F. Luehring a, E. Obreshkov b, D.Quarrie c, G. Rybkine d, A. Undrus e University of Indiana, USA a,
CMT 1 Jan. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
ROOT What & Why? ROOT Status ROOT Application ROOT Install ROOT Example ROOT References Introduction to March 13, 2003 Dae Jung CHEP.
Marco Cattaneo - DTF - 28th February 2001 File sharing requirements of the physics community  Background  General requirements  Visitors  Laptops 
Computer Software Types Three layers of software Operation.
EGEE is a project funded by the European Union under contract IST “Interfacing to the gLite Prototype” Andrew Maier / CERN LCG-SC2, 13 August.
Greenstone Internals How to Build a Digital Library Ian H. Witten and David Bainbridge.
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.
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)
GLAST LAT Project Science Tools - 12 June 2002 T. Burnett 1 The Science Analysis Software Development Environment -- for tools too! T. Burnett.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
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.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
Bologna Tutorial, June Overview of LHCb applications and software environment.
Comments on SPI. General remarks Essentially all goals set out in the RTAG report have been achieved. However, the roles defined (Section 9) have not.
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.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Build and Test system for FairRoot
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Operating System Concepts
Configuration and Build System
Warm Handshake with Websites, Servers and Web Servers:
CMT Define the development work models
Software Installation
Web Page Concept and Design :
Analysis models and design models
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Software Installation, release 4.0
Presentation transcript:

CMT Christian Arnault - LAL - Chep /18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation Comparisons, references Configuration Management Tool

CMT Christian Arnault - LAL - Chep /18 What is CMT A set of tools and conventions –structures software development or production concepts of areas, packages, versions, constituents –organises software into packages –describes package properties –describes package constituents –operates 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...)

CMT Christian Arnault - LAL - Chep /18 The goals Organise software development from a single person up to teams in large projects (scalability) Organise relationships between entire software bases or between simple packages (scalability) Manage site, platform or product specific properties Automate complex production tools for non software experts (simplicity) Factor out know-how from project to project, from package to package or from team to team (process improvement)

CMT Christian Arnault - LAL - Chep /18 Operating CMT...  Define software areas  define CMTPATH –private individual work areas primary development –shared team-wide development areas integration phases –public production areas –export areas –import areas for external software > setenv CMTPATH area1:area2:area3 HKEY_LOCAL_MACHINE/Software/CMT/path/...

CMT Christian Arnault - LAL - Chep /18...operating CMT...  Describe and parameterise the configuration of packages  fill in the requirements text file –relationships with other packages –constituents –meta-information ( author, manager,...) –private or public (exported) properties and tool configuration (macros and symbols) use Expat v1 library A *.cxx macro cppflags “-g”... path_append LD_LIBRARY_PATH “” Linux “...”

CMT Christian Arnault - LAL - Chep /18...operating CMT...  Drive the various productivity tools while monitoring the package state  run [j]cmt –CVS, make, MSDev, tar, Web, etc... get their configuration from the requirements file (through the cmt generic driver) > cmt show path > cmt show uses > cmt show constituents > cmt show macros > cmt show macro xxx

CMT Christian Arnault - LAL - Chep /18...operating CMT ¯A typical (and full) sequence > cmt config A v1 myarea > cd myarea/A/v1/mgr > vi requirements > vi A.cxx B.cxx C.cxx... > gmake >../${CMTCONFIG}/A.exe package A use Atlas v0r33 application A A.cxx B.cxx C.cxx Create a new package and move to it Describe the package Create the package items and build them run

CMT Christian Arnault - LAL - Chep /18 The concepts... Package search path The minimal entity Describes the backward compatibility Induces inheritance-like properties and version constraints Applications, libraries, documents Macros, environment variables, include search path, etc... Open architecture for any non-standard configuration action Area Package Version Use relationships. Constituents Configuration parameters Document generators

CMT Christian Arnault - LAL - Chep /18 The packages Plain standard packages / / / Stand alone (unstructured) packages –simple test applications. Can use any standard area but cannot be used by other packages. Glue packages –install external software into the CMT conventions LHC++, Geant4, Objectivity Interface packages –generic configuration parameters to a set of correlated packages Simulation, Reconstruction, Graphics, Atlas

CMT Christian Arnault - LAL - Chep /18 The version tags Handle backward compatibility specifications v r p Alternate version strategies available –best-fit (the default), first-choice, last-choice, keep-all For the default strategy, the best possible set of versions available from the search path is computed. –Overrides are acknowledged –Unresolved conflicts are fatal (two different major ids simultaneously referenced). Requires user’s action (package synchronisation) Any letter is possible

CMT Christian Arnault - LAL - Chep /18 Use relationships Set a dependency between two package- version duets. Public configuration parameters are inherited through the use. The use specification defines a graph of links (possible redundancy) cmt provides the reduction algorithm of the tree (search path is taken into account) > cmt show uses

CMT Christian Arnault - LAL - Chep /18 Constituents –applications and libraries standard behaviour for make or MSDev parameterised by conventional macros and fragments (make & MSDev) –cflagscppflagsfflags –clinkoptscpplinkoptsflinkopts –documents can be fully tuned and specified for any document filter –fragments and macros overriding can occur in any client package

CMT Christian Arnault - LAL - Chep /18 Symbols Used to specify make macros, environment variables, aliases, path-like variables alternate value can be specified for different sites, platforms, working conditions edition macro a “aaa”set b “bbb”alias c “ccc”path d “ddd” macro a “aaa” CERN “aax” LAL “aay” macro b “bbb” Linux “bbx” alpha-osf40 “bby” macro c “ccc” debug “ccx” insure “ccy” macro-appendmacro-prependmacro-remove set-appendset-prependset-remove path-appendpath-prependpath-remove

CMT Christian Arnault - LAL - Chep /18 Implementation The main driver –cmt line-mode driver (Unix & Windows) –jcmt interactive java driver ported to all Unix platforms and native port to Windows 95/98 and NT (only plain C++) interfaced to MSDev through calls to cmt from the customisation menus –documentation, distribution kits, mailing list, CVSWEB

CMT Christian Arnault - LAL - Chep /18 jcmt browser editor monitor Package areas Packages & versions Free action onto the package Requirements editor Configuration monitor

CMT Christian Arnault - LAL - Chep /18 Clients Production –Virgo(historically the first!) –LHCb –Auger –Nemo Experimental –Atlas –Glast –Opera –...

CMT Christian Arnault - LAL - Chep /18 Comparisons Automake SRT MSDev CVS RPS Very complex (only for experts) no semantic for versions, areas Based on autoconf, shell scripts (interfaced) Package organisation too limited, need something above. And... portability! (interfaced) Only for source control. (interfaced) Similar concepts, good for import/export (to be interfaced??)

CMT 18 Christian Arnault - LAL - Chep 2000 Discussion...