UCI ICS 228 - VConfiguration Management and Software Environments

Unformatted text preview:

Configuration Management and Software EnvironmentsConcerns for Software EnvironmentsCritical QuestionsConfiguration ManagementSpectrum of FunctionalityMany CM SystemsA History of CM ResearchVersioning ParadigmsConditional CompilationVersion TreeChange PackagesChange SetsBack to CM & EnvironmentsCritical CM ConsiderationsCM – Integrated in the EditorSlide 16Slide 17CM – A Separate ToolSlide 19Slide 20CM – An Integrated Data ModelSlide 22Slide 23CM – The EnvironmentSlide 25Slide 26Current State of the ArtBut Where Do We Go from Here?Some Possible DirectionsToday’s Rapidly Changing LandscapeCritical Questions RevisitedA New Kind of EnvironmentResearch ProjectsSlide 34Required Modeling ConceptsxADL 2.0Slide 37MénageSlide 39Slide 40Software Deployment: the ProblemSlide 42Slide 43Slide 44Software Deployment Life CycleSRMSlide 47Slide 48Software DockSlide 50Slide 51Architectural Differencing / MergingSlide 53Slide 54Slide 55Current StatusSlide 57ConclusionsConfiguration ManagementandSoftware EnvironmentsConfiguration ManagementandSoftware EnvironmentsAndré van der HoekInstitute for Software ResearchUniversity of California, [email protected] for Software EnvironmentsConcerns for Software EnvironmentsLarge software–Many components–Many artifacts–Many kinds of artifactsLarge teams–Many developersLong term evolution–Many changesCritical QuestionsCritical QuestionsHow do I keep track of changes?How do I put a product together?How do I avoid conflicts?How do I account for what happened?How do I go “back in time”?Etc., etc., …Configuration ManagementConfiguration 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).”Tichy,SCM-1, 1988Dart,SCM-3, 1991Construction•Building•Snapshots•Regeneration•OptimizationConstruction•Building•Snapshots•Regeneration•OptimizationAuditing•History•Traceability•LoggingAuditing•History•Traceability•LoggingComponents•Versions•Configurations•Baselines•Project contextsComponents•Versions•Configurations•Baselines•Project contextsSpectrum of FunctionalitySpectrum of FunctionalityAccounting•Statistics•Status•ReportsAccounting•Statistics•Status•ReportsProcess•Lifecycle•Task mgmt.•Communication•DocumentationProcess•Lifecycle•Task mgmt.•Communication•DocumentationControlling•Access control•Change request•Bug tracking•PartitioningControlling•Access control•Change request•Bug tracking•PartitioningTeam•Workspaces•Merging•FamiliesTeam•Workspaces•Merging•FamiliesStructure•System model•Interfaces•Consistency•SelectionStructure•System model•Interfaces•Consistency•SelectionMany CM SystemsMany CM SystemsClearCaseTelelogicDimensionsAllChangeChangeManRazorBitKeeperPerforcePVCSAccuRev…CVSRCSAegisSubversionKeep-ItODESourceCast…CM Yellow Pages,www.cmtoday.com, 2002A History of CM ResearchA History of CM ResearchAsgardClearCaseCoMaPOEMPCTEDamoklesRCSSCCSVOODOO Adele IIICEP-EditPCLCOVAide deCampDSEEShapeTools InscapeSIOPIEConditionalcompilationCedar Adele IGandalfConradi & Westfechtel,ACM Surveys, 2000Versioning ParadigmsVersioning ParadigmsRepresentationState-based Change-basedConditionalcompilationChangesetsVersiontreeChangepackagesIntensionalExtensionalSelectionConditional CompilationConditional Compilation #ifdef UNIX#include <stdio.h>#endif#ifdef GRAPHICS#include <graphics.h>#ifdef SMARTGRAPHICS#include <smart.>#endif#endifInline storage of individual changes with pre-processing1.01.12.11.2 1.2.1.0Version TreeVersion Tree2.0 1.2.1.11.2.1.0.1.0External storage of individual changes with checkout/checkinChange PackagesChange Packages1.01.12.01.22.11.2.1.01.2.1.11.02.02.22.12.31.01.11.31.22.02.0.1.0Feature #12Bug fix #21Bug fix #2External storage of coordinated changes with checkout/checkinChange SetsChange SetsBaselineBug fix #16Feature addition#103Bug fix #17AVAILABLECHANGESETSACTUALSYSTEMSELECTIONFeature#104Bug fix #8Bug fix #16Bug fix #6Bug fix #21...External storage of coordinated changes with mergingBack to CM & EnvironmentsBack to CM & EnvironmentsIntegrated in the editor–“Editor is the environment”A separate tool–“File system is the environment”An integrated data model–“Data model is the environment”The environment–“CM tool is the environment”Critical CM ConsiderationsCritical CM ConsiderationsWhat is the CM focus?What versioning paradigms are used?How usable is the resulting environment?CM – Integrated in the EditorCM – Integrated in the EditorBig, Feature-Rich EditorCM – Integrated in the EditorCM – Integrated in the EditorPIE–Integrated SmallTalk environment–Change sets as dependent layersP-Edit/MVPE–Text editor–Simultaneous editing of multiple versions of a single text source file–Source file is partitioned into fragments–Control constructs are hiddenWord (!)Emacs (!)CM – Integrated in the EditorCM – Integrated in the EditorWhat is the CM focus?–Change trackingWhat versioning paradigms are used?–AnyHow usable is the resulting environment?–Easy–Only sufficient for a single userCM – A Separate ToolCM – A Separate ToolFile SystemDesigntoolCMtoolTestingtoolAnalysistool…CM – A Separate ToolCM – A Separate ToolSCCS / RCS / …–Revision control system–Locks prevent conflicts–Access to artifacts via individual workspacesDSEE–Configuration management system–Access to repository via a virtual file systemAlmost all regular CM systemsCM – A Separate ToolCM – A Separate ToolWhat is the CM focus?–Change tracking–Conflict avoidanceWhat versioning paradigms are used?–Any, provided that text files are versionedHow usable is the resulting environment?–Relatively easy to moderately complex–Able to support moderate groups of usersCM – An Integrated Data ModelCM – An Integrated Data ModelDesigntoolTestingtoolAnalysistool…Rich Data Model with RelationshipsCM CM CM CMCM – An Integrated Data ModelCM – An Integrated Data ModelGandalf / Inscape / Cedar / DAMOKLES / …–System models–Interfaces, pre- and post-conditions, typing, …PCTE–Software engineering


View Full Document
Download VConfiguration Management and Software Environments
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view VConfiguration Management and Software Environments and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view VConfiguration Management and Software Environments 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?