Palantír: Increasing Awareness in Distributed Software Development Anita Sarma and André van der Hoek {asarma, Institute for Software.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
1 GOES-R AWG Products Processing Framework Configuration Management Yunhui Zhao.
Enhancing Configuration Management Systems with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Palantír: Coordinating Distributed CMWorkspaces Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Enhancing Configuration Management Workspaces with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Using Activity Descriptions to Generate User Interfaces for ERP Software 22 nd July 2009.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
June 17, 2015 – 14:03:501 (c) 2007 University of California, Irvine – André van der Hoek Informatics 211: Configuration Management & Coordination André.
Community, Artifacts, and Versions André van der Hoek Institute for Software Research University of California, Irvine
Requirements Analysis Concepts & Principles
Collaborative Software Engineering – Awareness and Concurrency Agam.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
1 Copyright © 2014 Tata Consultancy Services Limited Source Code Management using Rational Team Concert IBM Rational, Alliance & Technology Unit 2 July.
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.
Informatics 211: Configuration Management & Coordination André van der Hoek Department of Informatics Donald Bren School of Information and Computer Sciences.
Supersize Me: Visualizing Parallel Workspace Activities on a Next-Generation, Massively-Tiled Display System Gabriela Marcu, Faculty Mentor: André van.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Software maintenance Managing the processes of system change.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
A Need-Based Collaboration Classification Framework Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Palantír: Raising Awareness among Configuration Management Workspaces Anita Sarma, Zahra Noroozi, André van der Hoek (Presented by Justin Erenkrantz)
Introduction to MDA (Model Driven Architecture) CYT.
Requirements for Multi-Program Systems
Interface analysis – User analysis, task analysis and modeling, analysis of display content and work environment Interface design steps Design issues.
Version control Using Git Version control, using Git1.
ClearCase Basics XML presentation.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
ClearCase Concepts and Terminology
Towards a Pattern Language for User Interface Design
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
4 November 2005 CS 838 Presentation 1 Nested Transactional Memory: Model and Preliminary Sketches J. Eliot B. Moss and Antony L. Hosking Presented by:
June 30, 2005 Public Web Site Search Project Update: 6/30/2005 Linda Busdiecker & Andy Nguyen Department of Information Technology.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Configuration Management Workspace Awareness for Distributed Software Development Anita Sarma Department of Informatics & Institute for Software Research.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Modelling & Simulation of Semiconductor Devices Lecture 1 & 2 Introduction to Modelling & Simulation.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
Configuration Management
Software Configuration Management CSC-532
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Control Choices and Network Effects in Hypertext Systems
Evolution of UML.
Version control, using Git
Unified Modeling Language
Note 11 Command Pattern SE2811 Software Component Design
Model-Driven Analysis Frameworks for Embedded Systems
12. Command Pattern SE2811 Software Component Design
Patterns.
Software Architecture
Algorithms File Systems Lab Environment.
12. Command Pattern SE2811 Software Component Design
Logical Architecture & UML Package Diagrams
Presentation transcript:

Palantír: Increasing Awareness in Distributed Software Development Anita Sarma and André van der Hoek {asarma, Institute for Software Research University of California, Irvine

Scenario Ellen’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 Management Repository

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 Repository

Indirect Conflicts Ellen’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 Management Repository

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

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

Existing Scenario Ellen’s CM WorkspacePete’s CM Workspace /word pad/edit/spell /write /….. /word pad/edit/spell /undo /redo CM Repository

Palantír Components Ellen’s CM WorkspacePete’s CM Workspace /word pad/edit/spell /write /….. /word pad/edit/spell /undo /redo Ellen’s Visualization Pete’s Visualization Severity Analysis Change Impact Analysis CM Repository

Complete Palantír Architecture Ellen’s CM WorkspacePete’s CM Workspace /word pad/edit/spell /write /….. /word pad/edit/spell /undo /redo Ellen’s Visualization Pete’s Visualization Severity Analysis Change Impact Analysis CM Repository Event notificatio n

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, …

1.Ellen populates her workspace Workspace owner Gray indicates no changes have occurred as of now

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

3.Ellen puts the changes back into the CM system Severity and impact indicators “!” indicates changes are now known

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

5.Pete makes changes to spell

Back button for traversing up one layer Other features: zooming in and zooming out

Other features: examining other versions and meta-data Examining a different version Artifact metadata

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

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

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

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

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