Palantír: Raising Awareness Among Configuration Management Workspaces
description
Transcript of Palantír: Raising Awareness Among Configuration Management Workspaces
![Page 1: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/1.jpg)
Palantír: Raising Awareness Among Configuration
Management Workspaces
Palantír: Raising Awareness Among Configuration
Management Workspaces
Anita Sarma, Zahra Noroozi, André van der HoekDepartment of Informatics & Institute for Software Research
University of California, [email protected], [email protected], [email protected]
![Page 2: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/2.jpg)
A Typical Development ScenarioA Typical Development Scenario
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD CDDCC
![Page 3: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/3.jpg)
Direct ConflictsDirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to the same artifact
CCC DD
![Page 4: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/4.jpg)
Indirect ConflictsIndirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to different artifacts
CCC DD
![Page 5: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/5.jpg)
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 6: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/6.jpg)
Key ObservationsKey Observations
A CM workspace in reality provides two kinds of isolation:– Good isolation
Shields developers from parallel changes to artifacts
– Bad isolation Hides knowledge of what artifacts other developers are
changing
Opportunities for breaking isolation are limited– Based on repository information only– Initiated by developer only– Addressing direct conflicts only
![Page 7: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/7.jpg)
ObjectiveObjective
To increase awareness of ongoing workspace activities– Collect– Distribute– Organize– Present
To do so automatically and continuously– Push information
To, thereby, move earlier the point at which potential direct and indirect conflicts can be detected
![Page 8: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/8.jpg)
ApproachApproach
Provide continuous workspace awareness – Which artifacts are being changed by whom?– What is the severity of the changes?– What is the impact of the changes?
Design constraints– Non-obtrusiveness– Scalability– Flexibility– Configurability
![Page 9: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/9.jpg)
Palantír ArchitecturePalantír Architecture
CMrepository
Workspace Workspace
Event wrapper
Event service
CM client CM server CM client
Visualization(s)
Event wrapper
Internal state
Extractor
Visualization(s)
Internal state
Extractor
![Page 10: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/10.jpg)
Event Type Indication
Populated Artifact has been placed in a workspace
Unpopulated Artifact has been removed from a workspace
Synchronized Artifact has been synchronized with repository
ChangesInProgress Artifact has changed in a workspace
ChangesCommitted Artifact has been stored in repository
ChangesReverted Artifact has been returned to its original state
Added New artifact has been added to workspace
Removed Artifact has been removed from workspace
Renamed Artifact has been renamed
Moved Artifact has been moved from one artifact to another
SeverityChanged Severity of changes to an artifact has changed
Types of EventsTypes of Events
![Page 11: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/11.jpg)
Typical Sequence of EventsTypical Sequence of EventsPessimistic Populated ChangesInProgress SeverityChanged SeverityChanged … ChangesCommitted ChangesInProgress SeverityChanged SeverityChanged … ChangesCommitted UnPopulated
Optimistic Populated ChangesInProgress SeverityChanged SeverityChanged … ChangesCommitted ChangesInProgress SeverityChanged SeverityChanged … ChangesCommitted UnPopulated
![Page 12: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/12.jpg)
Event WrapperEvent Wrapper
Tasks– Intercept workspace activity– Interpret workspace activity– Determine whether the activity is relevant to Palantír– If relevant, gather information regarding the activity– Construct and emit one or more events
Unique per CM system– Wrap command line– Use standard facilities (triggers, virtual file system)
Can and should remain unobtrusive
![Page 13: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/13.jpg)
Internal StateInternal State
Tasks– Maintain overview of activities in both the local and
remote workspaces– Subscribe to relevant workspace activities
Those pertaining to the artifacts in the local workspace but occurring in other workspaces
Siena-based event routing
– Bootstrap new workspaces with information on existing workspaces
Same for every CM system Always remains unobtrusive
![Page 14: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/14.jpg)
ExtractorExtractor
Tasks– Further narrow down the events to be viewed
Set of workspaces Set of authors Set of artifacts …
Same for every CM system One-time obtrusive
![Page 15: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/15.jpg)
ExtractorExtractor
![Page 16: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/16.jpg)
VisualizationVisualization
Tasks– Organize and display events
Same for every CM system Varying degrees of obtrusiveness
– Ticker tape– Tabular– Explorer– Fully graphical
![Page 17: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/17.jpg)
Ticker TapeTicker Tape
![Page 18: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/18.jpg)
TabularTabular
![Page 19: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/19.jpg)
ExplorerExplorer
![Page 20: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/20.jpg)
Fully GraphicalFully Graphical
![Page 21: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/21.jpg)
Fully GraphicalFully Graphical
![Page 22: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/22.jpg)
Fully GraphicalFully Graphical
![Page 23: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/23.jpg)
SeveritySeverity
Currently calculated as the percentage of lines of code that have changed– Simple– Not completely accurate
1 line change to an interface 1000 lines renaming a variable
Work in progress– Other severity measures– Impact measures
![Page 24: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/24.jpg)
Integration ExperienceIntegration Experience
RCS– Pessimistic CM system– 500 lines of Java code– Single day
CVS– Optimistic CM system– 500 lines of Java code– Single day
JSVN– Optimistic CM system– 500 lines of Java code– Few days
![Page 25: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/25.jpg)
Related WorkRelated Work
CVS and many other CM systems– Only e-mail notifications
Coven– Developers do not know in advance what they will
change
BSCW, TUKAN, COOP/Orm– No pair-wise comparisons, no severity measure
State Treemap– No pair-wise comparisons
![Page 26: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/26.jpg)
ConclusionsConclusions
Palantír is a novel prototype that brings awareness to CM workspaces– Which artifacts are being changed by whom?– What is the severity of the changes?– Push instead of pull– Automated instead of manual
Palantír is independent of the type of CM system used
Palantír was successfully integrated with RCS, CVS, and JSVN
![Page 27: Palantír: Raising Awareness Among Configuration Management Workspaces](https://reader035.fdocuments.in/reader035/viewer/2022070405/56814020550346895dab7b7b/html5/thumbnails/27.jpg)
Future WorkFuture Work
Case study to determine the effectiveness of Palantír– Does it reduce the number of conflicts?– Does it improve coordination?– Does it speed up development time?
Further support for indirect conflicts– Impact analysis– Dependencies
Develop additional visualizations