27
Palantír: Raising Awareness Among Configuration Management Workspaces Anita Sarma, Zahra Noroozi, André van der Hoek Department of Informatics & Institute for Software Research University of California, Irvine [email protected], [email protected], [email protected]

Palantír: Raising Awareness Among Configuration Management Workspaces

  • Upload
    orsen

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

Palantír: Raising Awareness Among Configuration Management Workspaces. Anita Sarma, Zahra Noroozi, Andr é van der Hoek Department of Informatics & Institute for Software Research University of California, Irvine [email protected], [email protected], [email protected]. - PowerPoint PPT Presentation

Citation preview

Page 1: Palantír: Raising Awareness Among Configuration Management Workspaces

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ExtractorExtractor

Page 16: Palantír: Raising Awareness Among Configuration Management Workspaces

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

Ticker TapeTicker Tape

Page 18: Palantír: Raising Awareness Among Configuration Management Workspaces

TabularTabular

Page 19: Palantír: Raising Awareness Among Configuration Management Workspaces

ExplorerExplorer

Page 20: Palantír: Raising Awareness Among Configuration Management Workspaces

Fully GraphicalFully Graphical

Page 21: Palantír: Raising Awareness Among Configuration Management Workspaces

Fully GraphicalFully Graphical

Page 22: Palantír: Raising Awareness Among Configuration Management Workspaces

Fully GraphicalFully Graphical

Page 23: Palantír: Raising Awareness Among Configuration Management Workspaces

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

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

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

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

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