Presentation is loading. Please wait.

Presentation is loading. Please wait.

Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research.

Similar presentations


Presentation on theme: "Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research."— Presentation transcript:

1 Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research University of California, Irvine andre@ics.uci.edu

2 ©2001, University of California, IrvineInstitute for Software Research Configuration Management “Configuration management (CM) is a discipline whose goal is to control changes to large software through the functions of: component identification, change tracking, version selection and baselining, software manufacture, and managing simultaneous updates (team work).” Walter Tichy, SCM-1, 1988

3 ©2001, University of California, IrvineInstitute for Software Research Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts CM Spectrum of Functionality Susan Dart, SCM-3, 1991 Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

4 ©2001, University of California, IrvineInstitute for Software Research CCC/Harvest Three Generations of CM Systems Functionality Proteus Jasmine EPOS VOODOO ShapeTools Asgard NUCM DaSC Vesta Adele ICE Odin Time Source Integrity Continuus CVS PVCS DSEE SCCS NSE ClearCase TRUEchange Serena Endevor Perforce RCS Sablime Research Development

5 ©2001, University of California, IrvineInstitute for Software Research First Generation Focused on: Archiving individual elements Strictly avoiding conflicts Optimizing builds Characterized by: Simple, separate tools Development orientation Canonical examples: RCS Make

6 ©2001, University of California, IrvineInstitute for Software Research Archiving Individual Elements 1.0 1.1 2.0 1.2 2.1 REVISION NEW BASELINE

7 ©2001, University of California, IrvineInstitute for Software Research Archiving Individual Elements 1.0 1.1 2.0 1.2 2.1 BRANCH LEADS TO VARIANTS 1.2.1.0 1.2.1.1

8 ©2001, University of California, IrvineInstitute for Software Research Archiving Individual Elements 1.0 1.1 2.0 1.2 2.1 MERGE 1.2.1.0 1.2.1.1

9 ©2001, University of California, IrvineInstitute for Software Research Archiving Individual Elements 1.0 1.1 2.0 1.2 2.1 1.2.1.0 1.2.1.1 Author = “André v/d Hoek” Date = 01/12/2001 Time = 7:52am Comment = “Trying new stuff” ATTRIBUTES (TAGS)

10 ©2001, University of California, IrvineInstitute for Software Research Avoiding Conflicts 1.0 1.1 2.0 1.2 2.1 1.2.1.0 1.2.1.1 Author = “André v/d Hoek” Date = 01/12/2001 Time = 7:52am Comment = “Trying new stuff” Lock = “andre@ics.uci.edu” LOCK

11 ©2001, University of California, IrvineInstitute for Software Research Optimizing the Build Process accesslist.o: accesslist.h accesslist.c gcc –o accesslist.o accesslist.c andre.o: andre.c gcc –c andre.o andre.c clientprotocol.o: clientprotocol.c clientprotocol.h gcc –c clientprotocol.o clientprotocol.c main.exe: andre.o accesslist.o clientprotocol.o gcc andre.o accesslist.o mv a.out main.exe chmod a+x main.exe

12 ©2001, University of California, IrvineInstitute for Software Research Optimizing the Build Process -r--r--r-- 1 andre faculty 2651 Aug 4 1999 Makefile drwxr-xr-x 2 andre faculty 4096 Aug 4 1999 RCS/ -r--r--r-- 1 andre faculty 5688 Aug 4 1999 accesslist.c -r--r--r-- 1 andre faculty 1608 Aug 5 1999accesslist.h -rw-r--r-- 1 andre faculty 22840 Aug 4 1999accesslist.o -rw-r--r-- 1 andre faculty 10061 Aug 4 1999 andre.c -rw-r--r-- 1 andre faculty 21944 Aug 4 1999 andre.o -rw-r--r-- 1 andre faculty 14224 Aug 5 1999 clientprotocol.c -rw-r--r-- 1 andre faculty 3491 Aug 6 1999 clientprotocol.h -rw-r--r-- 1 andre faculty 48272 Aug 4 1999 clientprotocol.o

13 ©2001, University of California, IrvineInstitute for Software Research Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts First Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

14 ©2001, University of California, IrvineInstitute for Software Research Second Generation Focused on: Archiving compound elements Different version models Characterized by: Integrated versioning & build tools Development orientation Canonical examples: DSSE Adele

15 ©2001, University of California, IrvineInstitute for Software Research Archiving Compound Elements 1.0 1.1 2.0 1.2 2.1 1.2.1.0 1.2.1.1 1.0 2.0 2.2 2.1 2.3 1.0 1.1 1.3 1.2 2.0 2.0.1.0 1.0 1.1 1.2

16 ©2001, University of California, IrvineInstitute for Software Research Different Version Models State-based extensional Version tree State-based intensional Conditional compilation Change-based extensional Change packages Change-based intensional Change sets

17 ©2001, University of California, IrvineInstitute for Software Research Conditional Compilation … #ifdef UNIX #include #endif #ifdef GRAPHICS #include #ifdef SMARTGRAPHICS #include #endif #endif

18 ©2001, University of California, IrvineInstitute for Software Research Change Packages 1.0 1.1 2.0 1.2 2.1 1.2.1.0 1.2.1.1 1.0 2.0 2.2 2.1 2.3 1.0 1.1 1.3 1.2 2.0 2.0.1.0 1.0 1.1 1.2 1.0: BASELINE 1.1: BUG FIX for reporting error #16 1.2: FEATURE ADDITION for graphical user interface

19 ©2001, University of California, IrvineInstitute for Software Research Change Sets Baseline Bug fix #16 Feature addition #103 Bug fix #17 Feature addition #104 Bug fix #8 Bug fix #16 Bug fix #6 Bug fix #21 AVAILABLE CHANGE SETS SYSTEM SELECTION

20 ©2001, University of California, IrvineInstitute for Software Research Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts Second Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

21 ©2001, University of California, IrvineInstitute for Software Research Third Generation Focused on: Providing process support Being all-encompassing Characterized by: Large, complex tools Management orientation Canonical examples: ClearCase + ClearGuide Continuus

22 ©2001, University of California, IrvineInstitute for Software Research Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts Third Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

23 ©2001, University of California, IrvineInstitute for Software Research Fourth Generation ?

24 ©2001, University of California, IrvineInstitute for Software Research Today’s Rapidly Changing Landscape Construction by component assembly Integrators and suppliers Multiple organizations and locations Decentralized control Customized products tailored to the individual customer Continuous change management management after development

25 ©2001, University of California, IrvineInstitute for Software Research Long-Term Vision Implementation Deployment System Testing Run-Time Design Components Source Files Features Systems Executables Versioned Components (Architecture)

26 ©2001, University of California, IrvineInstitute for Software Research Long-Term Vision Implementation Deployment System Testing Run-Time Design Components Source Files Features Systems Executables Versioned Components (Architecture)

27 ©2001, University of California, IrvineInstitute for Software Research Versioned Components Required modeling capabilities Evolution Multiple revisions, temporary branches, baselines Variability Property-based alternatives, interface compatibility Optionality Property-based inclusion Results in modeling a product family/product line

28 ©2001, University of California, IrvineInstitute for Software Research Ménage

29 ©2001, University of California, IrvineInstitute for Software Research Ménage

30 ©2001, University of California, IrvineInstitute for Software Research Long-Term Vision Implementation Deployment System Testing Run-Time Design Components Source Files Features Systems Executables Versioned Components (Architecture)

31 ©2001, University of California, IrvineInstitute for Software Research CM policy Z (WebDAV) CM policy Z (WebDAV) CM policy Y (change set) CM policy Y (change set) Separation of Repository from Policy Current monolithic centralized CM systems Current monolithic centralized CM systems Generic and distributed CM repository CM policy X (checkout/checkin) CM policy X (checkout/checkin) CM system = CM repository + CM policy Examples RCS =,v files + checkout/checkin TrueCHANGE = flat file + change set

32 ©2001, University of California, IrvineInstitute for Software Research Peer-to-Peer Repositories Policy Pattern checkout/checkin Manages compound artifacts Each artifact can be stored in a different location cross-repository membership

33 ©2001, University of California, IrvineInstitute for Software Research Repository Design artifactstrees artifactstrees artifactstrees BOULDER MILANO ROTTERDAM

34 ©2001, University of California, IrvineInstitute for Software Research Core Policy Design proc createfederation { myhost collection itshost theartifact } { set user $env(USER) set workspace “/tmp/workws” set filename [file tail $collection] set artifact “//myhost/Artifacts/$collection” set wsartifact “$workspace/$filename” lock $artifact $user nc_open $artifact $workspace nc_initiatechange $wsartifact nc_add //$itshost/theartifact nc_commitchange $wsartifact nc_close $wsartifact nc_removeattribute $artifact “Lock” }

35 ©2001, University of California, IrvineInstitute for Software Research Movement upon Checkout Policy Pattern peer-to-peer repositories Artifacts move from physical repository to physical repository move is triggered by checkout

36 ©2001, University of California, IrvineInstitute for Software Research Repository Design artifactstrees artifactstrees artifactstrees BOULDER MILANO ROTTERDAM

37 ©2001, University of California, IrvineInstitute for Software Research proc movingcheckout { workspace content version } { set user $env(USER) set host $env(REPOSITORYHOME) set artifact “//$host/Artifacts/$content” set tree “//$host/Trees/$content” set filename [file tail $content] set wsartifact “$workspace/$filename” set storageversion [lindex [nc_selectversions $artifact “PolicyVersion” $version] 0] set artifact “$artifact:$storageversion” set locked [nc_testandsetattribute $artifact “Lock” $user] lock $artifact $user nc_open $artifact $workspace nc_initiatechange $wsartifact nc_move $artifact $host nc_move $tree $host } Core Policy Design

38 ©2001, University of California, IrvineInstitute for Software Research Long-Term Vision Implementation Deployment System Testing Run-Time Design Components Source Files Features Systems Executables Versioned Components (Architecture)

39 ©2001, University of California, IrvineInstitute for Software Research Software Deployment: the Problem ProducerConsumer

40 ©2001, University of California, IrvineInstitute for Software Research Software Deployment: the Problem ProducerConsumer

41 ©2001, University of California, IrvineInstitute for Software Research Software Deployment: the Problem ProducerConsumer

42 ©2001, University of California, IrvineInstitute for Software Research Software Deployment: the Problem ProducerConsumer

43 ©2001, University of California, IrvineInstitute for Software Research Software Deployment Life Cycle Release Retire ReconfigAdaptRemoveUpdate Install Producer Consumer

44 ©2001, University of California, IrvineInstitute for Software Research SRM Releasing a complete system of systems.

45 ©2001, University of California, IrvineInstitute for Software Research SRM Retrieving a complete system of systems.

46 ©2001, University of California, IrvineInstitute for Software Research Software Dock Agent Release Dock Agent Enterprise Dock Agent Field Dock Agent Field Dock Wide-Area Event Service Agent-based deployment.

47 ©2001, University of California, IrvineInstitute for Software Research Software Dock Enterprise, distributed control.

48 ©2001, University of California, IrvineInstitute for Software Research Long-Term Vision Implementation Deployment System Testing Run-Time Design Components Source Files Features Systems Executables Versioned Components (Architecture)

49 ©2001, University of California, IrvineInstitute for Software Research Conclusion CM as a discipline is changing Broader scope Wide-ranging responsibility Intermingling with other disciplines CM tools will be vastly different Component-based Design, development, deployment, and run-time Not just implementation Much research remains to be done


Download ppt "Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research."

Similar presentations


Ads by Google