Community, Artifacts, and Versions André van der Hoek Institute for Software Research University of California, Irvine

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration Management
Configuration Management
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Multi-Mode Survey Management An Approach to Addressing its Challenges
Enhancing Configuration Management Systems with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
Palantír: Coordinating Distributed CMWorkspaces Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Enhancing Configuration Management Workspaces with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
June 17, 2015 – 14:03:501 (c) 2007 University of California, Irvine – André van der Hoek Informatics 211: Configuration Management & Coordination André.
Configuration Management and Software Environments André van der Hoek Institute for Software Research University of California, Irvine
1 / 16 CS 425/625 Software Engineering Software Configuration Management Guest Speaker Jim Hunt November 17, 2008.
Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research.
Collaborative Software Engineering – Awareness and Concurrency Agam.
Informatics 211: Configuration Management & Coordination André van der Hoek Department of Informatics Donald Bren School of Information and Computer Sciences.
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
Michael Solomon Tugboat Software Managing the Software Development Process.
This chapter is extracted from Sommerville’s slides. Text book chapter
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Software Configuration Management (SCM)
Regulatory Affairs Domain
Configuration Management T3 Webinar Feb 21, 2008 Chuck Larsen ITS Program Coordinator Oregon Department of Transportation.
Software Configuration Management
A Need-Based Collaboration Classification Framework Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Palantír: Raising Awareness among Configuration Management Workspaces Anita Sarma, Zahra Noroozi, André van der Hoek (Presented by Justin Erenkrantz)
Merlin Bar Graph: Problems, Solutions, Progress Status
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
© Grant Thornton | | | | | Guidance on Monitoring Internal Control Systems COSO Monitoring Project Update FEI - CFIT Meeting September 25, 2008.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
Identify steps for understanding and solving the
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools ©2008 John Wiley & Sons Ltd.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Software Configuration Management SEII-Lecture 21
Palantír: Increasing Awareness in Distributed Software Development Anita Sarma and André van der Hoek {asarma, Institute for Software.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Configuration Management Workspace Awareness for Distributed Software Development Anita Sarma Department of Informatics & Institute for Software Research.
Software Configuration Management (SCM)
Configuration Management
Configuration Management
Software Project Configuration Management
LECTURE 2: Software Configuration Management
Configuration Management
Concurrent Version Control
LECTURE 3: Software Configuration Management
Informatics 122 Software Design II
Informatics 121 Software Design I
Chapter # 6 Software Configuration Management
Informatics 122 Software Design II
Software Configuration Management
Presentation transcript:

Community, Artifacts, and Versions André van der Hoek Institute for Software Research University of California, Irvine

Community Set of people working together towards a common goal Here, we concern ourselves to those communities that are involved in the joint production of artifacts Intrinsic need: coordination

Limitations in Coordination Ability Group size Location of group members Technology Artifacts

Conceptual VisualizationStrengthsWeaknesses Formal, process- based coordination Scalable; Control; Insulation from other activities; Group-centric Resynchronization problems; Insulation becomes isolation Informal, awareness- based coordination Flexible; Promotes synergy; Raises awareness; User-centric Not scalable; Requires extensive human intermediation Typical Coordination Mechanisms

Conceptual VisualizationStrengthsWeaknesses Formal, process- based coordination Scalable; Control; Insulation from other activities; Group-centric Resynchronization problems; Insulation becomes isolation Informal, awareness- based coordination Flexible; Promotes synergy; Raises awareness; User-centric Not scalable; Requires extensive human intermediation Continuous coordination Expected to be the strengths of both formal and informal coordination To be discovered by the proposed research Continuous Coordination

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

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 Spectrum of Functionality Susan Dart, SCM-3, 1991 Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle Task mgmt. Communication Documentation Process Lifecycle Task mgmt. Communication Documentation Controlling Access control Change request Bug tracking Partitioning Controlling Access control Change request Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

Three Generations of CM Systems Functionality Time Research Development 1 st : version control 2 nd : configuration management 3 rd : process-based CM

A Typical Development Scenario CM repository Pete’s workspace CBA Ellen’s workspace ECD CD D C C

Direct Conflicts CM repository Pete’s workspace CBA Ellen’s workspace ECD Conflicting changes to the same artifact CC C D D

Indirect Conflicts CM repository Pete’s workspace CBA Ellen’s workspace ECD Conflicting changes to different artifacts CC C D D

Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts PessimisticLocking before changes are made Avoided, at the expense of project delays Not addressed OptimisticAutomated merging after changes have been made Resolved, except for overlapping changes Not addressed

Key Observations A CM workspace in reality provides two kinds of isolation: –Good isolation  Shields developers from parallel changes to artifacts –Bad isolation  Hides knowledge of what artifacts other developers are changing Opportunities for breaking isolation are limited –Based on repository information only –Initiated by developer only –Addressing direct conflicts only

Objective To increase awareness of ongoing workspace activities –Collect –Distribute –Organize –Present To do so automatically and continuously –Push information To, thereby, move earlier the point at which potential direct and indirect conflicts can be detected

Solution New situation: Share information when others perform CM operations, and not just when I perform a CM operation Old situation: Information available only when I carry out a CM operation or explicitly request information CM repository CM repository

Palantír Architecture CM repository Workspace Event wrapper Event service CM clientCM serverCM client Visualization(s) Event wrapper Internal state Extractor Visualization(s) Internal state Extractor

Event TypeIndication PopulatedArtifact has been placed in a workspace UnpopulatedArtifact has been removed from a workspace SynchronizedArtifact has been synchronized with repository ChangesInProgressArtifact has changed in a workspace ChangesCommittedArtifact has been stored in repository ChangesRevertedArtifact has been returned to its original state AddedNew artifact has been added to workspace RemovedArtifact has been removed from workspace RenamedArtifact has been renamed MovedArtifact has been moved from one artifact to another SeverityChangedSeverity of changes to an artifact has changed Types of Events

Typical Sequence of Events Pessimistic Populated ChangesInProgress SeverityChanged … ChangesCommitted ChangesInProgress SeverityChanged … ChangesCommitted UnPopulated Optimistic Populated ChangesInProgress SeverityChanged … ChangesCommitted ChangesInProgress SeverityChanged … ChangesCommitted UnPopulated

Event Wrapper Tasks –Intercept workspace activity –Interpret workspace activity –Determine whether the activity is relevant to Palantír –If relevant, gather information regarding the activity –Construct and emit one or more events Unique per CM system –Wrap command line –Use standard facilities (triggers, virtual file system) Can and should remain unobtrusive

Internal State Tasks –Maintain overview of activities in both the local and remote workspaces –Subscribe to relevant workspace activities  Those pertaining to the artifacts in the local workspace but occurring in other workspaces  Siena-based event routing –Bootstrap new workspaces with information on existing workspaces Same for every CM system Always remains unobtrusive

Extractor Tasks –Further narrow down the events to be viewed  Set of workspaces  Set of authors  Set of artifacts  … Same for every CM system One-time obtrusive

Extractor

Visualization Tasks –Organize and display events Same for every CM system Varying degrees of obtrusiveness –Ticker tape –Tabular –Explorer –Fully graphical

Ticker Tape

Tabular

Explorer

Fully Graphical

Severity Currently calculated as the percentage of lines of code that have changed –Simple –Not completely accurate  1 line change to an interface  1000 lines renaming a variable Work in progress –Other severity measures –Impact measures

Continuous Coordination Palantír addresses the first part of continuous coordination: information exchange and awareness Palantír still needs to address the second part of continuous coordination: allowing developers to act upon the information –Part is done subconsciously –Part should be supported explicitly

Conclusions Palantír is a novel prototype that raises awareness of workspace activities –Maintains good isolation while overcoming bad isolation –Based on workspace information –Automated (push instead of pull) –Addressing direct and indirect conflicts Palantír is a demonstration of continuous coordination, combining formal (CM system check-in/check-out) with information (awareness) mechanisms –Can we extend the same principles to other activities (e.g., design, …)?

Future Work Case study to determine the effectiveness of Palantír –Does it reduce the number of conflicts? –Does it improve coordination? –Does it speed up development time? Further support for indirect conflicts –Impact analysis –Dependencies Develop additional visualizations