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
(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
(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
(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
(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
(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
(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
(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
(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
(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]”
(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
(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
(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
(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…
(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
(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
(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
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:45 19
A Fourth GenerationA Fourth Generation
?
(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
(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
(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?
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 24
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 25
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 26
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 27
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:46 28
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 29
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 30
Creating the BaselineCreating the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 31
Viewing the BaselineViewing the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 32
Excluding the BaselineExcluding the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 33
Including the BaselineIncluding the Baseline
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 34
Creating the Record SupportCreating the Record Support
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 35
Creating the Record SupportCreating the Record Support
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:47 36
Viewing the Record SupportViewing the Record Support
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 37
Removing Old ElementsRemoving Old Elements
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 38
Removing Old ElementsRemoving Old Elements
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 39
Removing Old ElementsRemoving Old Elements
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 40
Removing Old ElementsRemoving Old Elements
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 41
Adding New ElementsAdding New Elements
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 42
Viewing the CD WriterViewing the CD Writer
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 43
Trial ProductTrial Product
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:48 44
Pro ProductPro Product
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 47
Example RelationshipsExample Relationships
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 48
Product CompositionsProduct Compositions
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 49
Additional RelationshipsAdditional Relationships
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 50
Violated RelationshipsViolated Relationships
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:49 53
Workspace Activity ViewerWorkspace Activity Viewer
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 55
Some Advanced FeaturesSome Advanced Features
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 56
GAIMGAIM
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:50 57
GAIMGAIM
(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
(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
(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
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:52 63
(Scarab Videos)(Scarab Videos)
(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
(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
(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
(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)
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 70
Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 71
Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:53 72
Eclipse Visualization: Peripheral IntegrationEclipse Visualization: Peripheral Integration
(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
(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
(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
(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
(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
(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
(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
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:54 82
VisionVision
(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
(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
(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
(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
(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
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 88
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:55 89
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 90
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:56 91
Default: Minimized AppearanceDefault: Minimized Appearance
(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
(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”
(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”
(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”
(c) 2007 University of California, Irvine – André van der HoekApril 21, 2023 – 07:58:57 96
In UseIn Use
(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
(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
(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
(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
(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
(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
(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
(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
(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.