Скачать презентацию Palantír Raising Awareness Among Configuration Management Workspaces Anita Скачать презентацию Palantír Raising Awareness Among Configuration Management Workspaces Anita

628d2634cefa3339fa7d831a675ff9ca.ppt

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

Palantír: Raising Awareness Among Configuration Management Workspaces Anita Sarma, Zahra Noroozi, André van der 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 asarma@ics. uci. edu, znoroozi@yahoo. com, andre@ics. uci. edu

A Typical Development Scenario A B C C C D DD Pete’s workspace E A Typical Development Scenario A B C C C D DD Pete’s workspace E C C Ellen’s workspace CM repository

Direct Conflicts A B C C C D DD Pete’s workspace E C C Direct Conflicts A B C C C D DD Pete’s workspace E C C Ellen’s workspace CM repository Conflicting changes to the same artifact

Indirect Conflicts A B C C C D DD Pete’s workspace E C C Indirect Conflicts A B C C C D DD Pete’s workspace E C C Ellen’s workspace CM repository Conflicting changes to different artifacts

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 expense of made project delays Optimistic Automated merging after changes have been made Resolved, except for overlapping changes Not addressed

Key Observations n A CM workspace in reality provides two kinds of isolation: – Key Observations n A CM workspace in reality provides two kinds of isolation: – Good isolation v Shields developers from parallel changes to artifacts – Bad isolation v Hides knowledge of what artifacts other developers are changing n Opportunities for breaking isolation are limited – Based on repository information only – Initiated by developer only – Addressing direct conflicts only

Objective n To increase awareness of ongoing workspace activities – – Collect Distribute Organize Objective n To increase awareness of ongoing workspace activities – – Collect Distribute Organize Present n To do so automatically and continuously – Push information n To, thereby, move earlier the point at which potential direct and indirect conflicts can be detected

Approach n Provide continuous workspace awareness – Which artifacts are being changed by whom? Approach n 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? n Design constraints – – Non-obtrusiveness Scalability Flexibility Configurability

Palantír Architecture Visualization(s) Extractor Internal state Event service Event wrapper CM client Workspace CM Palantír Architecture Visualization(s) Extractor Internal state Event service Event wrapper CM client Workspace CM server CM repository Event wrapper CM client Workspace

Types of Events Event Type Indication Populated Artifact has been placed in a workspace Types of Events 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 Changes. In. Progress Artifact has changed in a workspace Changes. Committed Artifact has been stored in repository Changes. Reverted 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 Severity. Changed Severity of changes to an artifact has changed

Typical Sequence of Events Pessimistic n Populated n Changes. In. Progress n Severity. Changed Typical Sequence of Events Pessimistic n Populated n Changes. In. Progress n Severity. Changed n … n Changes. Committed n Un. Populated Optimistic n Populated n Changes. In. Progress n Severity. Changed n … n Changes. Committed n Un. Populated

Event Wrapper n Tasks – Intercept workspace activity – Interpret workspace activity – Determine Event Wrapper n 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 n Unique per CM system – Wrap command line – Use standard facilities (triggers, virtual file system) n Can and should remain unobtrusive

Internal State n Tasks – Maintain overview of activities in both the local and Internal State n Tasks – Maintain overview of activities in both the local and remote workspaces – Subscribe to relevant workspace activities v Those pertaining to the artifacts in the local workspace but occurring in other workspaces v Siena-based event routing – Bootstrap new workspaces with information on existing workspaces n Same for every CM system n Always remains unobtrusive

Extractor n Tasks – Further narrow down the events to be viewed v Set Extractor n Tasks – Further narrow down the events to be viewed v Set of workspaces v Set of authors v Set of artifacts v… n Same for every CM system n One-time obtrusive

Extractor Extractor

Visualization n Tasks – Organize and display events n Same for every CM system Visualization n Tasks – Organize and display events n Same for every CM system n Varying degrees of obtrusiveness – Ticker tape – Tabular – Explorer – Fully graphical

Ticker Tape Ticker Tape

Tabular Tabular

Explorer Explorer

Fully Graphical Fully Graphical

Fully Graphical Fully Graphical

Fully Graphical Fully Graphical

Severity n Currently calculated as the percentage of lines of code that have changed Severity n Currently calculated as the percentage of lines of code that have changed – Simple – Not completely accurate v 1 line change to an interface v 1000 lines renaming a variable n Work in progress – Other severity measures – Impact measures

Integration Experience n RCS – Pessimistic CM system – 500 lines of Java code Integration Experience n RCS – Pessimistic CM system – 500 lines of Java code – Single day n CVS – Optimistic CM system – 500 lines of Java code – Single day n JSVN – Optimistic CM system – 500 lines of Java code – Few days

Related Work n CVS and many other CM systems – Only e-mail notifications n Related Work n CVS and many other CM systems – Only e-mail notifications n Coven – Developers do not know in advance what they will change n BSCW, TUKAN, COOP/Orm – No pair-wise comparisons, no severity measure n State Treemap – No pair-wise comparisons

Conclusions n Palantír is a novel prototype that brings awareness to CM workspaces – Conclusions n 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 n Palantír is independent of the type of CM system used n Palantír was successfully integrated with RCS, CVS, and JSVN

Future Work n Case study to determine the effectiveness of Palantír – Does it Future Work n 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? n Further support for indirect conflicts – Impact analysis – Dependencies n Develop additional visualizations