CMT 1 Jan. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
1 SWE Introduction to Software Engineering Lecture 13 – System Modeling.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Programming Languages Structure
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Software Configuration Management
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products (code and documentation) of.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products of system change.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
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.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
CMT Christian Arnault - LAL - Chep /18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation.
Software Quality Assurance
The report on the current situation of the BESIII framework zhangxiaomei maqiumei 10/3/2004.
® IBM Software Group © 2008 IBM Corporation ALM NonUCM and Buildforge demo April 18, 2008 Stuart Poulin
1 Introduction to Software Engineering Lecture 1.
C. Arnault – ATLAS RPMs- 14/03/ n° 1 ATLAS RPMs from CMT C. Arnault & C. Loomis
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
GLAST CHEP 03 March T.Burnett1/12 User-friendly tools for Managing Software Development Projects User-friendly tools for Managing Software Development.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
WinCvs. WinCVS WinCvs is a window based version control system. Use WinCvs when  You want to save every version of your file you have ever created. CVS.
Franco Carbognani, EGO LSC-Virgo Meeting May 2007 Status and Plans LIGO-G Z Software Management.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
 Programming - the process of creating computer programs.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
10/2/2000LHCb Computing, CHEP Use of Configuration Management tool in LHCb software J. Harvey, P. Mato, F. Ranjard CERN (Switzerland)
F. Carbognani Software Engineering for the Virgo Project at EGOGeneva-iCALEPCS 14/10/2005 Software Engineering for the Virgo Project at EGO F. Carbognani.
Chapter – 8 Software Tools.
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.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Bologna Tutorial, June Overview of LHCb applications and software environment.
C Copyright © 2006, Oracle. All rights reserved. Oracle Secure Backup Additional Installation Topics.
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.
*DT Project Model Leo Treggiari Intel Corp. Dec, 2005.
Build and Test system for FairRoot
Modern Systems Analysis and Design Third Edition
Configuration and Build System
CMT Define the development work models
Cmake Primer.
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Data Model.
SICB under CMT Why? What is CMT? How to work with CMT? Package layout
What’s new in version 5 of GAUDI
Database Design Hacettepe University
Configuration management
Presentation transcript:

CMT 1 Jan. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation of the autoconf world, decision was taken to create a new package –basic requirements were : »emphasis on simplicity to use and to understand by non software experts »should be based on a real conceptual model –study of works »SEI : definitions of Configuration Management (IEEE Std ) »Inspiration from the CMM (freely interpreted) Promote Human Oriented Software

CMT 2 Jan. 1999C. Arnault LAL The configuration management definition IEEE Std “Configuration is the process of identifying and defining the items in the system, controlling the change of these items throughout their lifecycle, recording and reporting the status of items and change requests, and verifying the completeness and correctness of items” Identification describes the system structure, the nature of its elements, their identity, and gives access to each item version Control organises versions and changes to system items while keeping coherency and consistency on the complete system.

CMT 3 Jan. 1999C. Arnault LAL Principles of the package Based on some scenarios –Projects or sub-projects promote part of their software base as reusable –Projects are divided into small groups of closely related developers –Integration phases are iterative and must remain under the control of the package managers –Configuration parameters should be defined/specified independently to their implementation –Configuration parameters should be queried at any time outside of any effective software operation –Maintain several concurrently visible versions of each package –...

CMT 4 Jan. 1999C. Arnault LAL Principles of the package …and on some definitions and conventions –the package »the smallest autonomous entity in the software base »support use relationships to other packages »the physical organisation of packages is independent of their logical structure –the configuration parameters »identify and describe the constituents of a package applications, libraries, … »set up the environment needed to develop the package environment variables, make macros, include paths, … »set up the environment needed to operate the package environment variables, aliases, setup scripts, …

CMT 5 Jan. 1999C. Arnault LAL Principles of the package …and on some definitions and conventions –physical organisation / / /src /mgr / >/ / /src /mgr / /...

CMT 6 Jan. 1999C. Arnault LAL Principles of the package...conventions –configuration tag »reflects the machine type, the operating system, the context (debug, gnu, etc…) »may be either automatically from system features ( uname, fs sysname, …) or freely defined

CMT 7 Jan. 1999C. Arnault LAL Conceptual and user requirements –Packages are autonomous entities –Packages are related to each other by use relationships –Package evolution and history is specific to each package –Configuration parameters are any information required to »identify the constituents of the package »set up the environment needed to develop and operate the package »describe the use relationships between package –Version tag semantics reflects backward compatibility or incompatibility –Configuration parameters are propagated through the chain of use relationships. ABC uses A

CMT 8 Jan. 1999C. Arnault LAL Design Based on the modelling of the configuration management parameters –one object model (used to build tools) –one syntax (used to make conf. Parameters persistent) use script symbol_value macro alias set symbol tag setup_script cleanup_script library application source_file consituent n n n n n 1

CMT 9 Jan. 1999C. Arnault LAL Implementation Parameters are stored and maintained within a textual file named requirements Use a simple (easy to read) and homogeneous syntax One basic parser application implements the object model from the textual representation ( cmt_parser.exe ) One main user interface ( cmt ) to the parser provides the command oriented (à la CVS) interface used for –querying the configuration parameters –generate the effective environments »for package development »for package usage

CMT 10 Jan. 1999C. Arnault LAL Some scenarios Creating a package > cmt config > edit requirements use A v1 library mylib mylib1.cxx application myapp myapp1.cxx > edit source files > gmake > run

CMT 11 Jan. 1999C. Arnault LAL...Some scenarios Selecting cooperating projects > setenv CMTPATH projectA:projectB:projectC or > cat >~/.cmtrc CMTPATH=projectA:projectB:projectC

CMT 12 Jan. 1999C. Arnault LAL...Some scenarios Iterative integration >edit use statements within the requirements use A v2 > cmt config > source setup.csh > gmake > run

CMT 13 Jan. 1999C. Arnault LAL...Some scenarios Package evolution > cd dev > cmt checkout … > select new version tag > cmt config > gmake > change source files > test > cvs commit > cvs rtag

CMT 14 Jan. 1999C. Arnault LAL...Some scenarios Building domain packages –This is an interface package only containing a set of use statements towards a selection of versions for the packages belonging to a given conceptual domain »simulation »reconstruction »visualisation –A user of the simulation domain will simply use one given version of the simulation interface package, which automatically provides by transitivity (or inheritance) the appropriate selection of versions of all the simulation- related packages. –All configuration parameters defined in these packages are therefore inherited through this domain package.

CMT 15 Jan. 1999C. Arnault LAL The services Parameter monitoring cmt show macro xxx show a particular macro cmt show macros show all macros cmt show constituents show all constituents Environment generation cmt config (re-)install a package cmt build_setup compiles the setup script cmt checkout checkout a package from CVS

CMT 16 Jan. 1999C. Arnault LAL The requirements file General syntax package set “default value” [ “value” ] … alias “default value” [ “value” ] … macro “default value” [ “value” ] … application … library … tag … include_dirs … setup_script … cleanup_script … make_fragment

CMT 17 Jan. 1999C. Arnault LAL The requirements file Some examples –Virgo »Cm, CmTimer, Virgo (domain package) –LHCb »task (release package) –Atlas »atlas (link to SRT), AMDB

CMT 18 Jan. 1999C. Arnault LAL Status Ported to –all Unix flavours (Dec, AIX, SGI, SunOS, Linux, HP-UX) –Windows NT / Cygnus –LynxOS (Cetia, CES) Used by –the development team at LAL –the Virgo experiment ( ) (Lapp Firenze Frascati IPN-Lyon Napoli LAL ESPCI Perugia Pisa Roma) –the LHCb experiment –the NEMO experiment ( ) (France, Russia, INEL MHC Finland Ukraine Praha) –the AUGER experiment ( )