Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 Comparisons, references Configuration Management Tool

2 CMT Christian Arnault - LAL - Chep 2000 2/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...)

3 CMT Christian Arnault - LAL - Chep 2000 3/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)

4 CMT Christian Arnault - LAL - Chep 2000 4/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/...

5 CMT Christian Arnault - LAL - Chep 2000 5/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 “...”

6 CMT Christian Arnault - LAL - Chep 2000 6/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

7 CMT Christian Arnault - LAL - Chep 2000 7/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

8 CMT Christian Arnault - LAL - Chep 2000 8/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

9 CMT Christian Arnault - LAL - Chep 2000 9/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

10 CMT Christian Arnault - LAL - Chep 2000 10/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

11 CMT Christian Arnault - LAL - Chep 2000 11/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

12 CMT Christian Arnault - LAL - Chep 2000 12/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

13 CMT Christian Arnault - LAL - Chep 2000 13/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

14 CMT Christian Arnault - LAL - Chep 2000 14/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 http://www.lal.in2p3.fr/SI/CMT/CMT.htm –documentation, distribution kits, mailing list, CVSWEB

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

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

17 CMT Christian Arnault - LAL - Chep 2000 17/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??)

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


Download ppt "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."

Similar presentations


Ads by Google