palantr: increasing awareness in distributed software development anita sarma and andr van der hoek...
DESCRIPTION
Direct Conflicts Ellen’s CM Workspace in USA Pete’s CM Workspace in Canada Direct conflicts are overlapping changes to the same artifact in different workspaces /word pad/edit/spell /write /……… /word pad/edit/spell /undo /redo Configuration Management RepositoryTRANSCRIPT
![Page 1: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/1.jpg)
Palantír: Increasing Awareness in Distributed Software Development
Anita Sarma and André van der Hoek
{asarma, andre}@ics.uci.edu
Institute for Software Research University of California, Irvine
![Page 2: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/2.jpg)
ScenarioEllen’s CM Workspace in USA
Pete’s CM Workspace in Canada
Workspaces isolate developers from changes made concurrently by other developers
/word pad/edit/spell /write
/………
/word pad/edit/spell /undo
/redo
Configuration ManagementRepository
![Page 3: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/3.jpg)
Direct ConflictsEllen’s CM Workspace in USA
Pete’s CM Workspace in Canada
Direct conflicts are overlapping changes to the same artifact in different workspaces
/word pad/edit/spell /write
/………
/word pad/edit/spell /undo
/redo
Configuration ManagementRepository
![Page 4: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/4.jpg)
Indirect ConflictsEllen’s CM Workspace in USA
Pete’s CM Workspace in Canada
Indirect conflicts are changes to an artifact causing the behavior of another artifact to change
/word pad/edit/spell /write
/………
/word pad/edit/spell /undo
/redo
Configuration ManagementRepository
![Page 5: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/5.jpg)
Traditional CM Approach Locking
Only one person can change an artifact at a time (check-out/check-in)
Limited in allowing parallel changes Does not address indirect conflicts
Merging Conflicts have to be manually resolved Indirect conflicts not addressed
Current CM functionality is inadequate in addressing direct/indirect conflicts
![Page 6: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/6.jpg)
Goal Improve workspace awareness among
developers, such that they are continuously informed of parallel changes Which artifacts are changing? What is the severity of the changes?
(amount/size of change between two versions) What is the impact of the changes?
(effect of changes on my current work) Being aware of the parallel changes would enable
developers to reduce direct and indirect conflicts
Palantír deliberately but non-intrusively breaks the isolation of workspaces
![Page 7: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/7.jpg)
Existing Scenario
Ellen’s CM Workspace
Pete’s CM Workspace/word pad/edit/spell
/write /…..
/word pad/edit/spell /undo
/redo CMRepository
![Page 8: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/8.jpg)
Palantír Components
Ellen’s CM Workspace
Pete’s CM Workspace/word pad/edit/spell
/write /…..
/word pad/edit/spell /undo
/redoEllen’s Visualization Pete’s Visualization
Severity Analysis Change Impact Analysis
CMRepository
![Page 9: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/9.jpg)
Complete Palantír Architecture
Ellen’s CM Workspace
Pete’s CM Workspace/word pad/edit/spell
/write /…..
/word pad/edit/spell /undo
/redoEllen’s Visualization Pete’s Visualization
Severity Analysis Change Impact Analysis
CMRepository
Event notificati
on
![Page 10: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/10.jpg)
Visualization Component Shows pair-wise conflicts between developers Shows severity and impact of the changes Triggered by CM actions
Check-out, check-in, add, remove ... Unique view per workspace
Conflicts are shown only for artifacts present in that workspace
We plan to experiment with different visualizations Tabular form, graphical display, ticker tape, …
![Page 11: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/11.jpg)
1. Ellen populates her workspace
Workspace owner
Gray indicates no changes have occurred as of now
![Page 12: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/12.jpg)
2. Ellen makes changes to some artifacts in her workspace
Green indicates changes by the workspace owner (Ellen)
“?” indicates changes are being made but their exact nature is not known
![Page 13: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/13.jpg)
3. Ellen puts the changes back into the CM system
Severity and impact indicators
“!” indicates changes are now known
![Page 14: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/14.jpg)
4. Ellen makes changes to print and (again) spell, Pete makes changes to write
Red indicates changes in another workspace
Stack indicates evolution into new versions
![Page 15: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/15.jpg)
5. Pete makes changes to spell
![Page 16: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/16.jpg)
Back button for traversing up one layer
Other features: zooming in and zooming out
![Page 17: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/17.jpg)
Other features: examining other versions and meta-data
Examining a different version Artifact metadata
![Page 18: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/18.jpg)
Severity Analysis
“The amount (size) of change between two versions of an artifact”
Proposed algorithms Lines of code
Simple, but inaccurate Token based difference
Measures structural changes, but language dependent Abstract syntax tree
Very detailed analyses, but likely too expensive (and language dependent)
Work in progress
![Page 19: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/19.jpg)
Impact Analysis
“The effect of changes on my current work” Proposed algorithms
Overlapping lines of code Simple, but inaccurate
Changed interfaces Potentially accurate and effective, but language
dependent Dependency analysis
Very precise, semantic results, but complex (and language dependent)
Work in progress
![Page 20: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/20.jpg)
Related Work
Configuration Management ClearCase, Telelogic, Subversion, Coven, …
Software Visualization Code decay, 3D visualization, …
Computer-Supported Collaborative Work Edit wear and read wear, BSCW, TUKAN, …
Palantír provides a solution that combines contributions in each of these areas
![Page 21: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/21.jpg)
Conclusion
Palantír is a prototype that… …brings awareness to workspaces …shows pair-wise conflict …provides severity analysis …provides change impact analysis
Use of Palantír (hopefully) results in fewer direct and indirect conflicts
Future work Analysis algorithms for both atomic and
compound artifacts Additional visualizations
![Page 22: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/22.jpg)
![Page 23: Palantr: Increasing Awareness in Distributed Software Development Anita Sarma and Andr van der Hoek {asarma, Institute for Software](https://reader036.vdocuments.site/reader036/viewer/2022081515/5a4d1b8e7f8b9ab0599c03a4/html5/thumbnails/23.jpg)
Addressing Scale
Leverage hierarchical structure of artifact
Show pair-wise conflicts Sorting constituent artifacts according
to highest severity/change impact Explore “smaller boxed” in the user
interface Truncate number of layers being
visualized