Скачать презентацию Informatics 211 Configuration Management Coordination André van Скачать презентацию Informatics 211 Configuration Management Coordination André van

267ce114300c9376888b3cdb3b51b207.ppt

  • Количество слайдов: 105

Informatics 211: Configuration Management & Coordination André van der Hoek University of California, Irvine Informatics 211: Configuration Management & Coordination André van der Hoek University of California, Irvine Donald Bren School of Information and Computer Sciences Department of Informatics andre@ics. uci. edu 19 March 2018 – 10: 58: 19 (c) 2007 University of California, Irvine – André van der Hoek 1

A Simplified Development Scenario Pete’s workspace Ellen’s workspace CM repository Pete 19 March 2018 A Simplified Development Scenario Pete’s workspace Ellen’s workspace CM repository Pete 19 March 2018 – 10: 58: 19 Ellen (c) 2007 University of California, Irvine – André van der Hoek 2

Direct Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes Direct Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes to the same artifact 19 March 2018 – 10: 58: 20 (c) 2007 University of California, Irvine – André van der Hoek 3

Indirect Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes Indirect Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes to different artifacts 19 March 2018 – 10: 58: 20 (c) 2007 University of California, Irvine – André van der Hoek 4

Configuration Management n “Configuration management (CM) is a discipline whose goal is to control Configuration Management n “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 19 March 2018 – 10: 58: 20 (c) 2007 University of California, Irvine – André van der Hoek 5

CM Spectrum of Functionality Components Structure Construction Controlling • Versions • Configurations • Baselines CM Spectrum of Functionality Components Structure Construction Controlling • Versions • Configurations • Baselines • Project contexts • System model • Interfaces • Consistency • Selection • Building • Snapshots • Regeneration • Optimization • Access control • Change requests • Bug tracking • Partitioning Accounting Auditing Process Team • Statistics • Status • Reports • History • Traceability • Logging • Lifecycle support • Task mgmt. • Communication • Documentation • Workspaces • Merging • Families Susan Dart, SCM-3, 1991 19 March 2018 – 10: 58: 20 (c) 2007 University of California, Irvine – André van der Hoek 6

Functionality Three Generations of CM Systems Continuus Da. SC Clear. Case Perforce Asgard NUCM Functionality Three Generations of CM Systems Continuus Da. SC Clear. Case Perforce Asgard NUCM CCC/Harvest TRUEchange Proteus ICE Serena Vesta Endevor NSE PVCS EPOS DSEE Source Integrity Adele VOODOO CVS RCS Odin Shape. Tools Sablime Jasmine Research Development SCCS Time 19 March 2018 – 10: 58: 21 (c) 2007 University of California, Irvine – André van der Hoek 7

First Generation n Focused on: – archiving individual elements – strictly avoiding conflicts n First Generation n Focused on: – archiving individual elements – strictly avoiding conflicts n Characterized by: – simple, separate tools – development orientation n Canonical examples – SCCS – RCS – Make 19 March 2018 – 10: 58: 21 (c) 2007 University of California, Irvine – André van der Hoek 8

First Generation: Version Graphs 1. 0 1. 1 1. 2. 1. 0 2. 0 First Generation: Version Graphs 1. 0 1. 1 1. 2. 1. 0 2. 0 Author = “André v/d Hoek” Date = 01/12/2001 Time = 7: 52 am Comment = “Trying new stuff” Lock = “andre@ics. uci. edu” 1. 2. 1. 1 2. 1 19 March 2018 – 10: 58: 21 (c) 2007 University of California, Irvine – André van der Hoek 9

First Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project First Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project contexts • System model • Interfaces • Consistency • Selection • Building • Snapshots • Regeneration • Optimization • Access control • Change requests • Bug tracking • Partitioning Accounting Auditing Process Team • Statistics • Status • Reports • History • Traceability • Logging • Lifecycle support • Task mgmt. • Communication • Documentation • Workspaces • Merging • Families 19 March 2018 – 10: 58: 21 (c) 2007 University of California, Irvine – André van der Hoek 10

Second Generation n Focused on: – archiving compound elements – different version models n Second Generation n Focused on: – archiving compound elements – different version models n Characterized by: – integrated versioning & build tools – development orientation n Canonical examples: – – 19 March 2018 – 10: 58: 22 CVS Subversion PVCS Source. Safe (c) 2007 University of California, Irvine – André van der Hoek 11

Four Canonical Version Models n State-based extensional – version tree n State-based intensional – Four Canonical Version Models n State-based extensional – version tree n State-based intensional – conditional compilation n Change-based extensional – change packages n Change-based intensional – change sets 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 12

Conditional Compilation … #ifdef UNIX #include <stdio. h> #endif #ifdef GRAPHICS #include <graphics. h> Conditional Compilation … #ifdef UNIX #include #endif #ifdef GRAPHICS #include #ifdef SMARTGRAPHICS #include #endif … 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 13

Change Packages 1. 0 1. 1 1. 0 2. 0 1. 1 1. 2. Change Packages 1. 0 1. 1 1. 0 2. 0 1. 1 1. 2. 1. 0 2. 1 1. 2 2. 0 1. 2. 1. 1 2. 2 1. 3 2. 0 2. 1 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 2. 0. 1. 0 14

Change Sets SYSTEM SELECTION Bug fix #17 Feature addition #103 Bug fix #16 Baseline Change Sets SYSTEM SELECTION Bug fix #17 Feature addition #103 Bug fix #16 Baseline 19 March 2018 – 10: 58: 22 AVAILABLE CHANGE SETS Feature addition #104 Bug fix #21 Bug fix #8 Bug fix #6 Bug fix #16 (c) 2007 University of California, Irvine – André van der Hoek 15

Second Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project Second Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project contexts • System model • Interfaces • Consistency • Selection • Building • Snapshots • Regeneration • Optimization • Access control • Change requests • Bug tracking • Partitioning Accounting Auditing Process Team • Statistics • Status • Reports • History • Traceability • Logging • Lifecycle support • Task mgmt. • Communication • Documentation • Workspaces • Merging • Families 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 16

Third Generation n Focused on: – providing process support – being all-encompassing n Characterized Third Generation n Focused on: – providing process support – being all-encompassing n Characterized by: – large, complex tools – management orientation n Canonical examples: – Clear. Case together with Clear. Guide – CM/Synergy 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 17

Third Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project Third Generation Components Structure Construction Controlling • Versions • Configurations • Baselines • Project contexts • System model • Interfaces • Consistency • Selection • Building • Snapshots • Regeneration • Optimization • Access control • Change requests • Bug tracking • Partitioning Accounting Auditing Process Team • Statistics • Status • Reports • History • Traceability • Logging • Lifecycle support • Task mgmt. • Communication • Documentation • Workspaces • Merging • Families 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 18

A Fourth Generation ? 19 March 2018 – 10: 58: 22 (c) 2007 University A Fourth Generation ? 19 March 2018 – 10: 58: 22 (c) 2007 University of California, Irvine – André van der Hoek 19

No… n CM core functionality is stable with well-understood choices n CM tool enhancement No… n CM core functionality is stable with well-understood choices n CM tool enhancement seems to be limited to feature creep, not fundamental new approaches n SCM workshop series has ended n Only a few pure CM papers are being published as of late 19 March 2018 – 10: 58: 23 (c) 2007 University of California, Irvine – André van der Hoek 20

Maybe… n CM functionality is now appearing in domains other than source code management Maybe… n 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 … n Mining software repositories – no better repository than the CM repository n Still some problems left – indirect conflicts – concern management n Coordination 19 March 2018 – 10: 58: 23 (c) 2007 University of California, Irvine – André van der Hoek 21

Product Line Architectures: The Problem n “A software product line (SPL) is a strategic Product Line Architectures: The Problem n “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] n But how to manage this asset? 19 March 2018 – 10: 58: 23 (c) 2007 University of California, Irvine – André van der Hoek 22

Classic Versioning for Product Lines 19 March 2018 – 10: 58: 23 (c) 2007 Classic Versioning for Product Lines 19 March 2018 – 10: 58: 23 (c) 2007 University of California, Irvine – André van der Hoek 23

Creating the Baseline 19 March 2018 – 10: 58: 23 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 23 (c) 2007 University of California, Irvine – André van der Hoek 24

Creating the Baseline 19 March 2018 – 10: 58: 24 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 24 (c) 2007 University of California, Irvine – André van der Hoek 25

Creating the Baseline 19 March 2018 – 10: 58: 25 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 25 (c) 2007 University of California, Irvine – André van der Hoek 26

Creating the Baseline 19 March 2018 – 10: 58: 25 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 25 (c) 2007 University of California, Irvine – André van der Hoek 27

Creating the Baseline 19 March 2018 – 10: 58: 26 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 26 (c) 2007 University of California, Irvine – André van der Hoek 28

Creating the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of California, Irvine – André van der Hoek 29

Creating the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of Creating the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of California, Irvine – André van der Hoek 30

Viewing the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of Viewing the Baseline 19 March 2018 – 10: 58: 27 (c) 2007 University of California, Irvine – André van der Hoek 31

Excluding the Baseline 19 March 2018 – 10: 58: 28 (c) 2007 University of Excluding the Baseline 19 March 2018 – 10: 58: 28 (c) 2007 University of California, Irvine – André van der Hoek 32

Including the Baseline 19 March 2018 – 10: 58: 29 (c) 2007 University of Including the Baseline 19 March 2018 – 10: 58: 29 (c) 2007 University of California, Irvine – André van der Hoek 33

Creating the Record Support 19 March 2018 – 10: 58: 29 (c) 2007 University Creating the Record Support 19 March 2018 – 10: 58: 29 (c) 2007 University of California, Irvine – André van der Hoek 34

Creating the Record Support 19 March 2018 – 10: 58: 29 (c) 2007 University Creating the Record Support 19 March 2018 – 10: 58: 29 (c) 2007 University of California, Irvine – André van der Hoek 35

Viewing the Record Support 19 March 2018 – 10: 58: 30 (c) 2007 University Viewing the Record Support 19 March 2018 – 10: 58: 30 (c) 2007 University of California, Irvine – André van der Hoek 36

Removing Old Elements 19 March 2018 – 10: 58: 30 (c) 2007 University of Removing Old Elements 19 March 2018 – 10: 58: 30 (c) 2007 University of California, Irvine – André van der Hoek 37

Removing Old Elements 19 March 2018 – 10: 58: 31 (c) 2007 University of Removing Old Elements 19 March 2018 – 10: 58: 31 (c) 2007 University of California, Irvine – André van der Hoek 38

Removing Old Elements 19 March 2018 – 10: 58: 31 (c) 2007 University of Removing Old Elements 19 March 2018 – 10: 58: 31 (c) 2007 University of California, Irvine – André van der Hoek 39

Removing Old Elements 19 March 2018 – 10: 58: 33 (c) 2007 University of Removing Old Elements 19 March 2018 – 10: 58: 33 (c) 2007 University of California, Irvine – André van der Hoek 40

Adding New Elements 19 March 2018 – 10: 58: 33 (c) 2007 University of Adding New Elements 19 March 2018 – 10: 58: 33 (c) 2007 University of California, Irvine – André van der Hoek 41

Viewing the CD Writer 19 March 2018 – 10: 58: 34 (c) 2007 University Viewing the CD Writer 19 March 2018 – 10: 58: 34 (c) 2007 University of California, Irvine – André van der Hoek 42

Trial Product 19 March 2018 – 10: 58: 34 (c) 2007 University of California, Trial Product 19 March 2018 – 10: 58: 34 (c) 2007 University of California, Irvine – André van der Hoek 43

Pro Product 19 March 2018 – 10: 58: 35 (c) 2007 University of California, Pro Product 19 March 2018 – 10: 58: 35 (c) 2007 University of California, Irvine – André van der Hoek 44

All Music Player Change Sets 19 March 2018 – 10: 58: 35 (c) 2007 All Music Player Change Sets 19 March 2018 – 10: 58: 35 (c) 2007 University of California, Irvine – André van der Hoek 45

Visualizing Relationships Change Set CD Writer MP 3 Encoder Pro Version Record Support Purchase Visualizing Relationships Change Set CD Writer MP 3 Encoder Pro Version Record Support Purchase Reminder 19 March 2018 – 10: 58: 36 (c) 2007 University of California, Irvine – André van der Hoek 46

Example Relationships 19 March 2018 – 10: 58: 36 (c) 2007 University of California, Example Relationships 19 March 2018 – 10: 58: 36 (c) 2007 University of California, Irvine – André van der Hoek 47

Product Compositions 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Product Compositions 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Irvine – André van der Hoek 48

Additional Relationships 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Additional Relationships 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Irvine – André van der Hoek 49

Violated Relationships 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Violated Relationships 19 March 2018 – 10: 58: 37 (c) 2007 University of California, Irvine – André van der Hoek 50

Mining Software Repositories n Configuration management repositories are traditionally a “depot” – occasional roll-back Mining Software Repositories n Configuration management repositories are traditionally a “depot” – occasional roll-back – occasional search for relevant information n But what if we used the information captured by configuration management repositories to our advantage – understanding software developers – helping software developers 19 March 2018 – 10: 58: 38 (c) 2007 University of California, Irvine – André van der Hoek 51

Possible Data Sources Pete’s Workspace Ellen’s Workspace Palantír Client Visualization Extractor Internal State Visualization Possible Data Sources Pete’s Workspace Ellen’s Workspace Palantír Client Visualization Extractor Internal State Visualization Palantír Server Capture Bootstrap Extractor Event Database Internal State Analyzer Workspace Wrapper The Eclipse Platform Analyzer CM System Workspace Wrapper CM Server The Eclipse Platform Event Listeners Workspace Event Listeners CM Plug-in 19 March 2018 – 10: 58: 38 Workspace Repository CM Plug-in (c) 2007 University of California, Irvine – André van der Hoek 52

Workspace Activity Viewer 19 March 2018 – 10: 58: 39 (c) 2007 University of Workspace Activity Viewer 19 March 2018 – 10: 58: 39 (c) 2007 University of California, Irvine – André van der Hoek 53

Three-Dimensional Rotation for Different Perspectives 19 March 2018 – 10: 58: 40 (c) 2007 Three-Dimensional Rotation for Different Perspectives 19 March 2018 – 10: 58: 40 (c) 2007 University of California, Irvine – André van der Hoek 54

Some Advanced Features 19 March 2018 – 10: 58: 41 (c) 2007 University of Some Advanced Features 19 March 2018 – 10: 58: 41 (c) 2007 University of California, Irvine – André van der Hoek 55

GAIM 19 March 2018 – 10: 58: 41 (c) 2007 University of California, Irvine GAIM 19 March 2018 – 10: 58: 41 (c) 2007 University of California, Irvine – André van der Hoek 56

GAIM 19 March 2018 – 10: 58: 42 (c) 2007 University of California, Irvine GAIM 19 March 2018 – 10: 58: 42 (c) 2007 University of California, Irvine – André van der Hoek 57

Filters n Artifact n Developer n Age n Absolute date n Artifact pattern n Filters n Artifact n Developer n Age n Absolute date n Artifact pattern n Event type n Parallelism 19 March 2018 – 10: 58: 45 (c) 2007 University of California, Irvine – André van der Hoek 58

GAIM with Artifact Pattern Filter 19 March 2018 – 10: 58: 45 (c) 2007 GAIM with Artifact Pattern Filter 19 March 2018 – 10: 58: 45 (c) 2007 University of California, Irvine – André van der Hoek 59

GAIM with Additional Age Filter 19 March 2018 – 10: 58: 46 (c) 2007 GAIM with Additional Age Filter 19 March 2018 – 10: 58: 46 (c) 2007 University of California, Irvine – André van der Hoek 60

GAIM with Additional Parallelism Filter 19 March 2018 – 10: 58: 48 (c) 2007 GAIM with Additional Parallelism Filter 19 March 2018 – 10: 58: 48 (c) 2007 University of California, Irvine – André van der Hoek 61

Replaying History n Extends the usefulness of Workspace Activity Viewer from just understanding the Replaying History n Extends the usefulness of Workspace Activity Viewer from just understanding the present moment to also beginning to understand how projects evolve n In the following videos, history is partially simulated based on CM archive data 19 March 2018 – 10: 58: 49 (c) 2007 University of California, Irvine – André van der Hoek 62

(Scarab Videos) 19 March 2018 – 10: 58: 49 (c) 2007 University of California, (Scarab Videos) 19 March 2018 – 10: 58: 49 (c) 2007 University of California, Irvine – André van der Hoek 63

Indirect Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes Indirect Conflicts Pete’s workspace Ellen’s workspace CM repository changes Pete changes Ellen Conflicting changes to different artifacts 19 March 2018 – 10: 58: 50 (c) 2007 University of California, Irvine – André van der Hoek 64

Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts Pessimistic Locking before Avoided, at Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts Pessimistic Locking before Avoided, at the Not addressed changes are made expense of project delays Optimistic Automated merging after changes have been made 19 March 2018 – 10: 58: 50 Resolved, except for overlapping changes (c) 2007 University of California, Irvine – André van der Hoek Not addressed 65

Key Observations n CM workspaces in reality provide two kinds of isolation – “good” Key Observations n CM workspaces in reality provide two kinds of isolation – “good” isolation (insulation) v shields developers from parallel changes to artifacts – “bad” isolation (seclusion) v hides knowledge of what artifacts other developers are changing n Opportunities for breaking “bad” isolation are limited – based on repository information only – initiated by developer only – addressing direct conflicts only n In essence, a specific form of coordination is enforced and limited by the process underlying the CM system 19 March 2018 – 10: 58: 50 (c) 2007 University of California, Irvine – André van der Hoek 66

Undesirable Consequences (Field Studies) n The more parallel work takes place, the lower the Undesirable Consequences (Field Studies) n The more parallel work takes place, the lower the quality of the code that is delivered n 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 n 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) 19 March 2018 – 10: 58: 51 (c) 2007 University of California, Irvine – André van der Hoek 67

Our Objective n Support more effective coordination of parallel work by allowing “good” isolation Our Objective n Support more effective coordination of parallel work by allowing “good” isolation but breaking “bad” isolation n Enable early detection and resolution of direct and indirect conflicts – while these conflicts emerge n Mitigate the impact of direct and indirect conflicts – through provoked self-coordination of developers 19 March 2018 – 10: 58: 51 (c) 2007 University of California, Irvine – André van der Hoek 68

Workspace Awareness Pete’s workspace Ellen’s workspace CM repository changes Pete 19 March 2018 – Workspace Awareness Pete’s workspace Ellen’s workspace CM repository changes Pete 19 March 2018 – 10: 58: 51 Ellen (c) 2007 University of California, Irvine – André van der Hoek 69

Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 51 (c) 2007 University Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 51 (c) 2007 University of California, Irvine – André van der Hoek 70

Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 52 (c) 2007 University Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 52 (c) 2007 University of California, Irvine – André van der Hoek 71

Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 52 (c) 2007 University Eclipse Visualization: Peripheral Integration 19 March 2018 – 10: 58: 52 (c) 2007 University of California, Irvine – André van der Hoek 72

Three Laboratory Experiments n Text-based evaluation of the effectiveness of the user interface – Three Laboratory Experiments n Text-based evaluation of the effectiveness of the user interface – Palantír versus no Palantír n 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 19 March 2018 – 10: 58: 53 (c) 2007 University of California, Irvine – André van der Hoek 73

Experiment Design n Confederate-based design – ensured consistency in number and nature of conflicts Experiment Design n Confederate-based design – ensured consistency in number and nature of conflicts – introduced direct and indirect conflicts – controlled individual differences in project activities n Dependent variables – number of conflicts detected (and resolved) – time-to-completion of tasks – number of coordination attempts 19 March 2018 – 10: 58: 53 (c) 2007 University of California, Irvine – André van der Hoek 74

Result 1: Early Conflict Detection and Resolution n More direct conflicts were identified and Result 1: Early Conflict Detection and Resolution n More direct conflicts were identified and resolved before check-in n More indirect conflicts were identified n More indirect conflicts were resolved 19 March 2018 – 10: 58: 53 (c) 2007 University of California, Irvine – André van der Hoek 75

Result 2: Indirect Conflict Notification n More indirect conflicts were detected and resolved when Result 2: Indirect Conflict Notification n More indirect conflicts were detected and resolved when potential indirect conflicts were highlighted – the indirect conflicts we seeded were easy n Developers’ knowledge of the structure of the code is inadequate to just rely on direct conflict notification 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 76

Result 3: Time-to-Completion n Direct conflicts – group using Palantír is faster – resolution Result 3: Time-to-Completion n Direct conflicts – group using Palantír is faster – resolution time for conflict is less n Indirect conflicts – group using Palantír is a little slower – more conflicts are detected and resolved 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 77

Result 4: Amount of Communication n The use of awareness leads to fewer coordination Result 4: Amount of Communication n 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 DC Cntrl Exp IC 19 March 2018 – 10: 58: 55 group Cntrl Exp detect SCM chat 39 39 78 71 17 12 0 2 95 85 5 38 7 30 4 11 0 9 11 50 (c) 2007 University of California, Irvine – André van der Hoek others total 78

Interpreting The Results n Direct and indirect conflicts are detected as they n n Interpreting The Results n Direct and indirect conflicts are detected as they n n 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 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 79

Limitations to Palantír n Disconnect between awareness and action n Potential for information overload Limitations to Palantír n Disconnect between awareness and action n Potential for information overload n Effective, but not a rich work context – further examination is required n 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 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 80

Lighthouse Approach n Leverage a secondary monitor to provide developers with a coordination platform Lighthouse Approach n Leverage a secondary monitor to provide developers with a coordination platform that integrates awareness and action n Center the platform on the metaphor of emerging design n Contextualize the awareness information based on the changes currently being made 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 81

Vision 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine Vision 19 March 2018 – 10: 58: 55 (c) 2007 University of California, Irvine – André van der Hoek 82

Awareness Information: Basics Class n Emerging design is the Online. Store name: String address: Awareness Information: Basics Class n Emerging design is the Online. Store name: String address: URL place. Order(order: Order): void add. Item(item: Item): void get. Quantity(item: String): int scan(item: ID): boolean design as it resides in the code n Continuously kept up to date with every code change – UML-like diagrams n Keeps the developer abreast of how the code changes at the interface level 19 March 2018 – 10: 58: 56 (c) 2007 University of California, Irvine – André van der Hoek 83

Awareness Information: Basics Class n Emerging design is the design as it resides in Awareness Information: Basics Class n Emerging design is the design as it resides in the code n Continuously kept up to date with every code change Store (Store) Online. Store name: String address: Address address: URL place. Order(order: Order): void add. Item(item: Item): void get. Quantity(item: String): int (scan(item: ID): boolean) scan(item: ID): boolean 19 March 2018 – 10: 58: 56 – UML-like diagrams n Keeps the developer abreast of how the code changes at the interface level (c) 2007 University of California, Irvine – André van der Hoek 84

Which Changes by Whom and When? Class Store (Store) Online. Store name: String address: Which Changes by Whom and When? Class Store (Store) Online. Store name: String address: Address address: URL place. Order(order: Order): void add. Item(item: Item): void get. Quantity(item: String): int (scan(item: ID): boolean) scan(item: ID): boolean 19 March 2018 – 10: 58: 57 (c) 2007 University of California, Irvine – André van der Hoek 85

Progression of Changes Class Store (Store) Online. Store name: String address: Address address: URL Progression of Changes Class Store (Store) Online. Store name: String address: Address address: URL place. Order(order: Order): void add. Item(item: Item): void get. Quantity(item: String): int (scan(item: ID): boolean) scan(item: ID): boolean 19 March 2018 – 10: 58: 57 (c) 2007 University of California, Irvine – André van der Hoek 86

Coordination Actions Class Store (Store) Online. Store name: String address: Address address: URL place. Coordination Actions Class Store (Store) Online. Store name: String address: Address address: URL place. Order(order: Order): void add. Item(item: Item): void get. Quantity(item: String): int (scan(item: ID): boolean) scan(item: ID): boolean 19 March 2018 – 10: 58 (c) 2007 University of California, Irvine – André van der Hoek 87

19 March 2018 – 10: 58 (c) 2007 University of California, Irvine – André 19 March 2018 – 10: 58 (c) 2007 University of California, Irvine – André van der Hoek 88

19 March 2018 – 10: 59: 00 (c) 2007 University of California, Irvine – 19 March 2018 – 10: 59: 00 (c) 2007 University of California, Irvine – André van der Hoek 89

19 March 2018 – 10: 59: 01 (c) 2007 University of California, Irvine – 19 March 2018 – 10: 59: 01 (c) 2007 University of California, Irvine – André van der Hoek 90

Default: Minimized Appearance 19 March 2018 – 10: 59: 02 (c) 2007 University of Default: Minimized Appearance 19 March 2018 – 10: 59: 02 (c) 2007 University of California, Irvine – André van der Hoek 91

Two-Stage Auto-Expansion upon Changes 19 March 2018 – 10: 59: 03 (c) 2007 University Two-Stage Auto-Expansion upon Changes 19 March 2018 – 10: 59: 03 (c) 2007 University of California, Irvine – André van der Hoek 92

Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 08 Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 08 (c) 2007 University of California, Irvine – André van der Hoek 93

Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 09 Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 09 (c) 2007 University of California, Irvine – André van der Hoek 94

Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 10 Radial Layout – Code Distance as “Coupling” 19 March 2018 – 10: 59: 10 (c) 2007 University of California, Irvine – André van der Hoek 95

In Use 19 March 2018 – 10: 59: 11 (c) 2007 University of California, In Use 19 March 2018 – 10: 59: 11 (c) 2007 University of California, Irvine – André van der Hoek 96

Future Plans #1: Design Devations 19 March 2018 – 10: 59: 13 (c) 2007 Future Plans #1: Design Devations 19 March 2018 – 10: 59: 13 (c) 2007 University of California, Irvine – André van der Hoek 97

Future Plans #2: Project Management Base abstraction upon which to show design deviations, test Future Plans #2: Project Management Base abstraction upon which to show design deviations, test coverage, code volatility, aging, … – for the entire system 19 March 2018 – 10: 59: 14 (c) 2007 University of California, Irvine – André van der Hoek 98

Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes to artifacts Communication archival along with artifacts Advanced conflict detection Collocation benefits to distributed development Fine grained versioning, conflict resolution Parallel development, roles and access rights Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Fu Basi nct c ion alit y R Pro igid ces s Inf o Dis rmati cov on ery Inf or Pro mati vis on ion Coordination Asynchronous communication Communication 19 March 2018 – 10: 59: 17 Access to common set of artifacts, isolated workspaces and version control Artifact Management (c) 2007 University of California, Irvine – André van der Hoek T ask allocation and assignment Task Management 99

Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes to artifacts Communication archival along with artifacts Advanced conflict detection Collocation benefits to distributed development Fine grained versioning, conflict resolution Parallel development, roles and access rights Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Fu Basi nct c ion alit y R Pro igid ces s Inf o Dis rmati cov on ery Inf or Pro mati vis on ion Layers: Coordination Paradigms Asynchronous communication Communication 19 March 2018 – 10: 59: 18 Access to common set of artifacts, isolated workspaces and version control Artifact Management (c) 2007 University of California, Irvine – André van der Hoek T ask allocation and assignment Task Management 100

Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes to artifacts Communication archival along with artifacts Advanced conflict detection Collocation benefits to distributed development Fine grained versioning, conflict resolution Parallel development, roles and access rights Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Fu Basi nct c ion alit y R Pro igid ces s Inf o Dis rmati cov on ery Inf or Pro mati vis on ion Strands: Technical Dimensions of Coordination Asynchronous communication Communication 19 March 2018 – 10: 59: 18 Access to common set of artifacts, isolated workspaces and version control Artifact Management (c) 2007 University of California, Irvine – André van der Hoek T ask allocation and assignment Task Management 101

Continuous coordination, collaborative architecture, seamless development environments, Passive awareness of development activities and developers, Continuous coordination, collaborative architecture, seamless development environments, Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes to artifacts Communication archival along with artifacts Advanced conflict detection Collocation benefits to distributed development Fine grained versioning, conflict resolution Parallel development, roles and access rights Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Fu Basi nct c ion alit y R Pro igid ces s Inf o Dis rmati cov on ery Inf or Pro mati vis on ion Pro Be voke ha vio d r A New Paradigm: Provoked Behavior Asynchronous communication Communication 19 March 2018 – 10: 59: 19 Access to common set of artifacts, isolated workspaces and version control Artifact Management (c) 2007 University of California, Irvine – André van der Hoek T ask allocation and assignment Task Management 102

Continuous coordination, collaborative architecture, seamless development environments, Passive awareness of development activities and developers, Continuous coordination, collaborative architecture, seamless development environments, Passive awareness of development activities and developers, manage information overload Instant messaging, monitoring changes to artifacts Communication archival along with artifacts Advanced conflict detection Collocation benefits to distributed development Fine grained versioning, conflict resolution Parallel development, roles and access rights Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Fu Basi nct c ion alit y R Pro igid ces s Inf o Dis rmati cov on ery Inf or Pro mati vis on ion Pro Be voke ha vio d r Configuration Management Asynchronous communication Communication 19 March 2018 – 10: 59: 19 Access to common set of artifacts, isolated workspaces and version control Artifact Management (c) 2007 University of California, Irvine – André van der Hoek T ask allocation and assignment Task Management 103

Conclusion n CM is a long-standing field which has seen numerous contributions – some Conclusion n 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 n 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 n Software engineering can be cool 19 March 2018 – 10: 59: 21 (c) 2007 University of California, Irvine – André van der Hoek 104

Acknowledgments n David Redmiles n Anita Sarma n Chris Van der Westhuizen n Ban Acknowledgments n David Redmiles n Anita Sarma n Chris Van der Westhuizen n Ban Al-Ani n Ping Chen n Erik Trainer n Isabella Almeida n Stephen Quirk n Marcelo Alvim n Roger Ripley . . and the rest of the Continuous Coordination research group at UC Irvine. 19 March 2018 – 10: 59: 21 (c) 2007 University of California, Irvine – André van der Hoek 105