105
(c) 2007 University of California, Irvine – André van der Hoek May 16, 2022 – 14:14:07 1 Informatics 211: Configuration Management & Coordination André van der Hoek University of California, Irvine Donald Bren School of Information and Computer Sciences Department of Informatics [email protected]

Informatics 211: Configuration Management & Coordination

  • Upload
    dyanne

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Informatics 211: Configuration Management & Coordination. Andr é van der Hoek University of California, Irvine Donald Bren School of Information and Computer Sciences Department of Informatics [email protected]. A Simplified Development Scenario. Pete’s workspace. Ellen’s workspace. - PowerPoint PPT Presentation

Citation preview

Page 1: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 1

Informatics 211:Configuration Management &

Coordination

Informatics 211:Configuration Management &

Coordination

André van der Hoek

University of California, IrvineDonald Bren School of Information and Computer

SciencesDepartment of Informatics

[email protected]

Page 2: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 2

A Simplified Development ScenarioA Simplified Development Scenario

Pete

Pete’s workspace Ellen’s workspace

Ellen

CM repository

Page 3: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 3

Direct ConflictsDirect Conflicts

Conflicting changes to the same artifact

Pete

Pete’s workspace Ellen’s workspace

Ellen

CM repository changeschanges

Page 4: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 4

Indirect ConflictsIndirect Conflicts

Conflicting changes to different artifacts

Pete

Pete’s workspace Ellen’s workspace

Ellen

CM repository changeschanges

Page 5: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 5

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).”

Walter Tichy, SCM-1, 1988

Page 6: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 6

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 FunctionalityCM 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

Page 7: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 7

CCC/Harvest

Three Generations of CM SystemsThree Generations of CM SystemsFu

nct

ionalit

y Proteus

Jasmine

EPOS

VOODOO

ShapeTools

Asgard NUCMDaSC

Vesta

Adele

ICE

Odin

Time

Source Integrity

Continuus

CVS

PVCSDSEE

SCCS

NSE

ClearCase

TRUEchangeSerena

Endevor

Perforce

RCSSablime Research

Development

Page 8: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:44 8

First GenerationFirst Generation

Focused on:– archiving individual elements– strictly avoiding conflicts

Characterized by:– simple, separate tools– development orientation

Canonical examples– SCCS– RCS– Make

Page 9: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 9

First Generation: Version GraphsFirst Generation: Version Graphs

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/2001Time = 7:52amComment = “Trying new stuff”Lock = “[email protected]

Page 10: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 10

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 GenerationFirst 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

Page 11: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 11

Second GenerationSecond Generation

Focused on:– archiving compound elements– different version models

Characterized by:– integrated versioning & build tools– development orientation

Canonical examples:– CVS– Subversion– PVCS– SourceSafe

Page 12: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 12

Four Canonical Version ModelsFour Canonical Version Models

State-based extensional– version tree

State-based intensional– conditional compilation

Change-based extensional– change packages

Change-based intensional– change sets

Page 13: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 13

Conditional CompilationConditional Compilation

…#ifdef UNIX

#include <stdio.h>#endif#ifdef GRAPHICS

#include <graphics.h>#ifdef SMARTGRAPHICS

#include <smart.>#endif

#endif…

Page 14: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 14

Change PackagesChange 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

Page 15: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 15

Change SetsChange Sets

Baseline

Bug fix #16

Feature addition#103

Bug fix #17Feature addition

#104

Bug fix #8

Bug fix #16

Bug fix #6

Bug fix #21

AVAILABLECHANGE

SETS

SYSTEMSELECTION

Page 16: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 16

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 GenerationSecond 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

Page 17: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 17

Third GenerationThird Generation

Focused on:– providing process support– being all-encompassing

Characterized by:– large, complex tools– management orientation

Canonical examples:– ClearCase together with ClearGuide– CM/Synergy

Page 18: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 18

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 GenerationThird 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

Page 19: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 19

A Fourth GenerationA Fourth Generation

?

Page 20: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 20

No…No…

CM core functionality is stable with well-understood choices

CM tool enhancement seems to be limited to feature creep, not fundamental new approaches

SCM workshop series has ended Only a few pure CM papers are being

published as of late

Page 21: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 21

Maybe…Maybe…

CM functionality is now appearing in domains other than source code management– web content management– product data management– web services and components– software deployment– product line architectures– …

Mining software repositories– no better repository than the CM repository

Still some problems left– indirect conflicts– concern management

Coordination

Page 22: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 22

Product Line Architectures: The ProblemProduct Line Architectures: The Problem

“A software product line (SPL) is a strategic software-based asset that explicitly recognizes, optimizes, and manages variability towards current and future feature changes.” [van der Hoek]

But how to manage this asset?

Page 23: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 23

Classic Versioning for Product LinesClassic Versioning for Product Lines

Page 24: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 24

Creating the BaselineCreating the Baseline

Page 25: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 25

Creating the BaselineCreating the Baseline

Page 26: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 26

Creating the BaselineCreating the Baseline

Page 27: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 27

Creating the BaselineCreating the Baseline

Page 28: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 28

Creating the BaselineCreating the Baseline

Page 29: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 29

Creating the BaselineCreating the Baseline

Page 30: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 30

Creating the BaselineCreating the Baseline

Page 31: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 31

Viewing the BaselineViewing the Baseline

Page 32: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 32

Excluding the BaselineExcluding the Baseline

Page 33: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 33

Including the BaselineIncluding the Baseline

Page 34: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 34

Creating the Record SupportCreating the Record Support

Page 35: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 35

Creating the Record SupportCreating the Record Support

Page 36: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 36

Viewing the Record SupportViewing the Record Support

Page 37: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 37

Removing Old ElementsRemoving Old Elements

Page 38: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 38

Removing Old ElementsRemoving Old Elements

Page 39: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 39

Removing Old ElementsRemoving Old Elements

Page 40: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 40

Removing Old ElementsRemoving Old Elements

Page 41: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 41

Adding New ElementsAdding New Elements

Page 42: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 42

Viewing the CD WriterViewing the CD Writer

Page 43: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 43

Trial ProductTrial Product

Page 44: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 44

Pro ProductPro Product

Page 45: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 45

All Music Player Change SetsAll Music Player Change Sets

Page 46: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 46

Visualizing RelationshipsVisualizing Relationships

Change Set

CD Writer

MP3 Encoder

Pro Version

Record Support

Purchase Reminder

Page 47: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 47

Example RelationshipsExample Relationships

Page 48: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 48

Product CompositionsProduct Compositions

Page 49: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 49

Additional RelationshipsAdditional Relationships

Page 50: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 50

Violated RelationshipsViolated Relationships

Page 51: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 51

Mining Software RepositoriesMining Software Repositories

Configuration management repositories are traditionally a “depot”– occasional roll-back– occasional search for relevant information

But what if we used the information captured by configuration management repositories to our advantage– understanding software developers– helping software developers

Page 52: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 52

The Eclipse Platform

Event Listeners

CM Plug-in

Workspace

Visualization

Extractor

Internal State

Palantír Client

Analyzer

Visualization

Extractor

Internal State

Palantír Client

Analyzer

Possible Data SourcesPossible Data Sources

Event Database

Palantír Server

BootstrapCapture

Workspace Wrapper

The Eclipse Platform

Event Listeners

CM Plug-in

Workspace

CM System

CM Server

Repository

Pete’s Workspace Ellen’s Workspace

Workspace Wrapper

Page 53: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 53

Workspace Activity ViewerWorkspace Activity Viewer

Page 54: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 54

Three-Dimensional Rotation for Different PerspectivesThree-Dimensional Rotation for Different Perspectives

Page 55: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 55

Some Advanced FeaturesSome Advanced Features

Page 56: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 56

GAIMGAIM

Page 57: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 57

GAIMGAIM

Page 58: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:51 58

FiltersFilters

Artifact Developer Age Absolute date Artifact pattern Event type Parallelism

Page 59: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:51 59

GAIM with Artifact Pattern FilterGAIM with Artifact Pattern Filter

Page 60: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:51 60

GAIM with Additional Age FilterGAIM with Additional Age Filter

Page 61: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 61

GAIM with Additional Parallelism FilterGAIM with Additional Parallelism Filter

Page 62: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 62

Replaying HistoryReplaying History

Extends the usefulness of Workspace Activity Viewer from just understanding the present moment to also beginning to understand how projects evolve

In the following videos, history is partially simulated based on CM archive data

Page 63: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 63

(Scarab Videos)(Scarab Videos)

Page 64: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 64

Indirect ConflictsIndirect Conflicts

Conflicting changes to different artifacts

Pete

Pete’s workspace Ellen’s workspace

Ellen

CM repository changeschanges

Page 65: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 65

Traditional CM ApproachesTraditional CM Approaches

Coordination mechanism

Directconflicts

Indirect conflicts

Pessimistic Locking before changes are made

Avoided, at the expense of project delays

Not addressed

Optimistic Automated merging after changes have been made

Resolved, except for overlapping changes

Not addressed

Page 66: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 66

Key ObservationsKey Observations

CM workspaces in reality provide two kinds of isolation– “good” isolation (insulation)

shields developers from parallel changes to artifacts– “bad” isolation (seclusion)

hides knowledge of what artifacts other developers are changing

Opportunities for breaking “bad” isolation are limited– based on repository information only– initiated by developer only– addressing direct conflicts only

In essence, a specific form of coordination is enforced and limited by the process underlying the CM system

Page 67: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 67

Undesirable Consequences (Field Studies)Undesirable Consequences (Field Studies)

The more parallel work takes place, the lower the quality of the code that is delivered

Developers recognize the significance of direct conflicts– direct conflicts are considered “a pain” – developers will race to be the first to commit their

changes, just to avoid the task of merging– much informal communication takes place in order to

attempt to avoid direct conflicts

Developers do not recognize the significance of indirect conflicts– considered to be a normal part of the work (e.g.,

integration, resolving test case failures, dealing with bugs)

Page 68: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 68

Our ObjectiveOur Objective

Support more effective coordination of parallel work by allowing “good” isolation but breaking “bad” isolation

Enable early detection and resolution of direct and indirect conflicts– while these conflicts emerge

Mitigate the impact of direct and indirect conflicts– through provoked self-coordination of developers

Page 69: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 69

Workspace AwarenessWorkspace Awareness

Pete

Pete’s workspace Ellen’s workspace

Ellen

CM repository

changeschanges

Page 70: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 70

Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration

Page 71: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 71

Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration

Page 72: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 72

Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration

Page 73: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 73

Three Laboratory ExperimentsThree Laboratory Experiments

Text-based evaluation of the effectiveness of the user interface– Palantír versus no Palantír

Code-based evaluation of the effectiveness of providing awareness information– Palantír versus no Palantír

Code-based evaluation of the effectiveness of providing awareness information on indirect conflicts– Palantír with direct and indirect conflicts versus

Palantír with direct conflicts only

Page 74: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 74

Experiment DesignExperiment Design

Confederate-based design– ensured consistency in number and nature of

conflicts– introduced direct and indirect conflicts– controlled individual differences in project activities

Dependent variables– number of conflicts detected (and resolved)– time-to-completion of tasks– number of coordination attempts

Page 75: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 75

Result 1: Early Conflict Detection and ResolutionResult 1: Early Conflict Detection and Resolution

More direct conflicts were identified and resolved before check-in

More indirect conflicts were identified More indirect conflicts were resolved

Page 76: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 76

Result 2: Indirect Conflict NotificationResult 2: Indirect Conflict Notification

More indirect conflicts were detected and resolved when potential indirect conflicts were highlighted– the indirect conflicts we seeded were easy

Developers’ knowledge of the structure of the code is inadequate to just rely on direct conflict notification

Page 77: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 77

Result 3: Time-to-CompletionResult 3: Time-to-Completion

Direct conflicts– group using Palantír is faster– resolution time for conflict is less

Indirect conflicts– group using Palantír is a little slower– more conflicts are detected and resolved

Page 78: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 78

Result 4: Amount of CommunicationResult 4: Amount of Communication

The use of awareness leads to fewer coordination attempts and less time spent in those attempts– not statistically significant– but sufficiently indicative and sufficiently provocative to

warrant additional study

Text group detect

SCM chat others total

DC CntrlExp

3939

7871

1712

02

9585

IC CntrlExp

538

730

411

09

1150

Page 79: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 79

Interpreting The ResultsInterpreting The Results

Direct and indirect conflicts are detected as they emerge

Developers undertake action upon noticing a potential conflict

Fewer conflicts grow “out of hand” The resulting code is of higher quality The penalty may be a small increase in time

now– but the experiments do not account for the time later

that developers must otherwise spend on resolving conflicts that are committed to the CM repository

Page 80: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 80

Limitations to PalantírLimitations to Palantír

Disconnect between awareness and action Potential for information overload Effective, but not a rich work context

– further examination is required

Opportunities for further improvement and extension are limited by the directory/file metaphor– does not map very well to our mental model of the

code

Page 81: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 81

Lighthouse ApproachLighthouse Approach

Leverage a secondary monitor to provide developers with a coordination platform that integrates awareness and action

Center the platform on the metaphor of emerging design

Contextualize the awareness information based on the changes currently being made

Page 82: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 82

VisionVision

Page 83: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 83

Awareness Information: BasicsAwareness Information: Basics

Emerging design is the design as it resides in the code

Continuously kept up to date with every code change– UML-like diagrams

Keeps the developer abreast of how the code changes at the interface level

OnlineStore

name:String

address:URL

placeOrder(order:Order):void

getQuantity(item:String):int

scan(item:ID):boolean

addItem(item:Item):void

Class

Page 84: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 84

OnlineStore

name:String

address:Address

address:URL

Store

(Store)

placeOrder(order:Order):void

getQuantity(item:String):int

(scan(item:ID):boolean)

scan(item:ID):boolean

addItem(item:Item):void

Class

Awareness Information: BasicsAwareness Information: Basics

Emerging design is the design as it resides in the code

Continuously kept up to date with every code change– UML-like diagrams

Keeps the developer abreast of how the code changes at the interface level

Page 85: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 85

Which Changes by Whom and When?Which Changes by Whom and When?

OnlineStore

name:String

address:Address

address:URL

Store

(Store)

placeOrder(order:Order):void

getQuantity(item:String):int

(scan(item:ID):boolean)

scan(item:ID):boolean

addItem(item:Item):void

Class

Page 86: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 86

Progression of ChangesProgression of Changes

OnlineStore

name:String

address:Address

address:URL

Store

(Store)

placeOrder(order:Order):void

getQuantity(item:String):int

(scan(item:ID):boolean)

scan(item:ID):boolean

addItem(item:Item):void

Class

Page 87: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 87

Coordination ActionsCoordination Actions

OnlineStore

name:String

address:Address

address:URL

Store

(Store)

placeOrder(order:Order):void

getQuantity(item:String):int

(scan(item:ID):boolean)

scan(item:ID):boolean

addItem(item:Item):void

Class

Page 88: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 88

Page 89: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 89

Page 90: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 90

Page 91: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 91

Default: Minimized AppearanceDefault: Minimized Appearance

Page 92: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 92

Two-Stage Auto-Expansion upon ChangesTwo-Stage Auto-Expansion upon Changes

Page 93: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 93

Radial Layout – Code Distance as “Coupling”Radial Layout – Code Distance as “Coupling”

Page 94: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:57 94

Radial Layout – Code Distance as “Coupling”Radial Layout – Code Distance as “Coupling”

Page 95: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:57 95

Radial Layout – Code Distance as “Coupling”Radial Layout – Code Distance as “Coupling”

Page 96: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:57 96

In UseIn Use

Page 97: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 97

Future Plans #1: Design DevationsFuture Plans #1: Design Devations

Page 98: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 98

Future Plans #2: Project ManagementFuture Plans #2: Project Management

Base abstraction upon which to show design deviations,test coverage, code volatility, aging, … – for the entire system

Page 99: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 99

CoordinationCoordination

Asynchronous communicationAccess to common set of artifacts,

isolated workspaces and version control

Parallel development,roles and access rights

Passive awareness ofdevelopment activities

and developers, manageinformation overload

Task allocation and assignment

Communication archivalalong with artifacts

Communication

Collocation benefits todistributed development

Organizational memory,knowledge acquisition and

dissemination, social navigation

Prescribed and defined coordination support

Artifact Management Task Management

Advanced conflictdetection

Bas

ic F

unct

iona

lity

Rig

id P

roce

ssIn

form

atio

n D

isco

very

Info

rmat

ion

Pro

visi

on

Fine grained versioning,conflict resolution

Instant messaging,monitoring changes

to artifacts

Page 100: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 100

Layers: Coordination ParadigmsLayers: Coordination Paradigms

Asynchronous communicationAccess to common set of artifacts,

isolated workspaces and version control

Parallel development,roles and access rights

Passive awareness ofdevelopment activities

and developers, manageinformation overload

Task allocation and assignment

Communication archivalalong with artifacts

Communication

Collocation benefits todistributed development

Organizational memory,knowledge acquisition and

dissemination, social navigation

Prescribed and defined coordination support

Artifact Management Task Management

Advanced conflictdetection

Bas

ic F

unct

iona

lity

Rig

id P

roce

ssIn

form

atio

n D

isco

very

Info

rmat

ion

Pro

visi

on

Fine grained versioning,conflict resolution

Instant messaging,monitoring changes

to artifacts

Page 101: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 101

Strands: Technical Dimensions of CoordinationStrands: Technical Dimensions of Coordination

Asynchronous communicationAccess to common set of artifacts,

isolated workspaces and version control

Parallel development,roles and access rights

Passive awareness ofdevelopment activities

and developers, manageinformation overload

Task allocation and assignment

Communication archivalalong with artifacts

Communication

Collocation benefits todistributed development

Organizational memory,knowledge acquisition and

dissemination, social navigation

Prescribed and defined coordination support

Artifact Management Task Management

Advanced conflictdetection

Bas

ic F

unct

iona

lity

Rig

id P

roce

ssIn

form

atio

n D

isco

very

Info

rmat

ion

Pro

visi

on

Fine grained versioning,conflict resolution

Instant messaging,monitoring changes

to artifacts

Page 102: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:58 102

A New Paradigm: Provoked BehaviorA New Paradigm: Provoked Behavior

Continuous coordination,collaborative architecture,

seamless development environments,

Asynchronous communicationAccess to common set of artifacts,

isolated workspaces and version control

Parallel development,roles and access rights

Passive awareness ofdevelopment activities

and developers, manageinformation overload

Task allocation and assignment

Communication archivalalong with artifacts

Communication

Collocation benefits todistributed development

Organizational memory,knowledge acquisition and

dissemination, social navigation

Prescribed and defined coordination support

Artifact Management Task Management

Advanced conflictdetection

Bas

ic F

unct

iona

lity

Rig

id P

roce

ssIn

form

atio

n D

isco

very

Info

rmat

ion

Pro

visi

onP

rovo

ked

Beh

avio

r

Fine grained versioning,conflict resolution

Instant messaging,monitoring changes

to artifacts

Page 103: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:59 103

Configuration ManagementConfiguration Management

Continuous coordination,collaborative architecture,

seamless development environments,

Asynchronous communicationAccess to common set of artifacts,

isolated workspaces and version control

Parallel development,roles and access rights

Passive awareness ofdevelopment activities

and developers, manageinformation overload

Task allocation and assignment

Communication archivalalong with artifacts

Communication

Collocation benefits todistributed development

Organizational memory,knowledge acquisition and

dissemination, social navigation

Prescribed and defined coordination support

Artifact Management Task Management

Advanced conflictdetection

Bas

ic F

unct

iona

lity

Rig

id P

roce

ssIn

form

atio

n D

isco

very

Info

rmat

ion

Pro

visi

on

Fine grained versioning,conflict resolution

Instant messaging,monitoring changes

to artifacts

Pro

voke

dB

ehav

ior

Page 104: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:59 104

ConclusionConclusion

CM is a long-standing field which has seen numerous contributions– some highly influential (sometimes delayed by as much as

20 years)– others indirectly shaping– others utterly useless

While the core ideas of CM have been well developed, there is still much room for improvement– particularly if one considers CM to be a coordination

problem– particularly if one brings together CM with other disciplines

Software engineering can be cool

Page 105: Informatics 211: Configuration Management & Coordination

(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:59 105

AcknowledgmentsAcknowledgments

David Redmiles

Ban Al-Ani

Isabella Almeida Marcelo Alvim

Anita Sarma Chris Van der

Westhuizen Ping Chen Erik Trainer Stephen Quirk Roger Ripley

..and the rest of the Continuous Coordinationresearch group at UC Irvine.