Results 1 - 10
of
29
A state-of-the-art survey on software merging
- IEEE Transactions on Software Engineering
, 2002
"... AbstractÐSoftware merging is an essential aspect of the maintenance and evolution of large-scale software systems. This paper provides a comprehensive survey and analysis of available merge approaches. Over the years, a wide variety of different merge techniques has been proposed. While initial tech ..."
Abstract
-
Cited by 89 (5 self)
- Add to MetaCart
AbstractÐSoftware merging is an essential aspect of the maintenance and evolution of large-scale software systems. This paper provides a comprehensive survey and analysis of available merge approaches. Over the years, a wide variety of different merge techniques has been proposed. While initial techniques were purely based on textual merging, more powerful approaches also take the syntax and semantics of the software into account. There is a tendency towards operation-based merging because of its increased expressiveness. Another tendency is to try to define merge techniques that are as general, accurate, scalable, and customizable as possible, so that they can be used in any phase in the software life-cycle and detect as many conflicts as possible. After comparing the possible merge techniques, we suggest a number of important open problems and future research directions. Index TermsÐSoftware merging, large-scale software development, merge conflicts, conflict detection, conflict resolution. æ 1
Timewarp: Techniques for Autonomous Collaboration
, 1997
"... This paper presents a set of techniques for supporting autonomous collaboration---collaboration where participants work independently for periods, and then join together to integrate their efforts. This paper posits that autonomous collaboration can be well-supported by systems in which the notion o ..."
Abstract
-
Cited by 52 (9 self)
- Add to MetaCart
This paper presents a set of techniques for supporting autonomous collaboration---collaboration where participants work independently for periods, and then join together to integrate their efforts. This paper posits that autonomous collaboration can be well-supported by systems in which the notion of time is made both explicit and editable, so that the parallel but divergent states of a shared artifact are exposed in the interface. We have developed a system, called timewarp, that explores these ideas, and provides support for distribution, awareness, and conflict resolution in an application-independent fashion.
A Selective Undo Mechanism for Graphical User Interfaces Based On Command Objects
- ACM Transactions on Computer-Human Interaction
, 1994
"... It is important to provide a recovery operation for applications with a graphical user interface. A restricted linear undo mechanism can conveniently be implemented using object-oriented techniques. Although linear undo provides an arbitrarily long history, it is not possible to undo isolated comman ..."
Abstract
-
Cited by 51 (0 self)
- Add to MetaCart
It is important to provide a recovery operation for applications with a graphical user interface. A restricted linear undo mechanism can conveniently be implemented using object-oriented techniques. Although linear undo provides an arbitrarily long history, it is not possible to undo isolated commands from the history without undoing all following commands. Various undo models have been proposed to overcome this limitation, but they all ignore the problem that in graphical user interfaces a previous user action might not have a sensible interpretation in another state. The selective undo mechanism introduced here can undo isolated commands by copying them into the current state if that is meaningful. Furthermore, the semantics of selective undo are argued to be more natural for the user because the mechanism only looks at the command to undo and the current state and does not depend on the history in between. The user interface for selective undo can also be implemented generically. S...
Integrating Communication, Cooperation, and Awareness: The DIVA Virtual Office Environment
, 1994
"... DIVA, a novel environment for group work, is presented. This prototype virtual office environment provides support for communication, cooperation, and awareness in both the synchronous and asynchronous modes, smoothly integrated into a simple and intuitive interface which may be viewed as a replacem ..."
Abstract
-
Cited by 50 (3 self)
- Add to MetaCart
DIVA, a novel environment for group work, is presented. This prototype virtual office environment provides support for communication, cooperation, and awareness in both the synchronous and asynchronous modes, smoothly integrated into a simple and intuitive interface which may be viewed as a replacement for the standard graphical user interface desktop. In order to utilize the skills that people have acquired through years of shared work in the real offices, DIVA is modeled after the standard office, abstracting elements of physical offices required to support collaborative work: people, rooms, desks, and documents. KEYWORDS: Groupware, Communication, Cooperation, Awareness, Synchronous/asynchronous, Virtual office, Integration, CSCW INTRODUCTION CSCW and groupware are sufficiently mature that there are now numerous examples of both commercial products and research prototypes for most of the major categories of CSCW technologies (the unOfficial Yellow Pages of CSCW lists 340 commerci...
A Framework for Undoing Actions in Collaborative Systems
- ACM Transactions on Computer-Human Interaction
, 1994
"... this paper, we propose a general framework for implementing undo in collaborative systems. The framework allows users to individually reverse their own changes, taking into account the possibility of conflicts between different users' operations that may prevent an undo. The proposed framework has b ..."
Abstract
-
Cited by 45 (0 self)
- Add to MetaCart
this paper, we propose a general framework for implementing undo in collaborative systems. The framework allows users to individually reverse their own changes, taking into account the possibility of conflicts between different users' operations that may prevent an undo. The proposed framework has been incorporated into DistEdit, a toolkit for building group text-editors. Based on our experience with DistEdit's undo facilities, we discuss several issues that need to be taken into account in using the framework, in order to ensure that a reasonable undo behavior is provided to users. We show that the framework is also applicable to single-user systems, since the operations to undo can be selected not just on the basis of who performed them, but by any appropriate criterion, such as the document region in which the operations occurred or the time interval in which the operations were carried out. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Tools and Techniques -- User Interfaces; H.1.2 [Models and Principles]: User/Machine Systems -- Human Factors; H.2.2 [Database
A Flexible Object Merging Framework
, 1994
"... The need to merge different versions of an object to a common state arises in collaborative computing due to several reasons including optimistic concurrency control, asynchronous coupling, and absence of access control. We have developed a flexible object merging framework that allows definition of ..."
Abstract
-
Cited by 42 (3 self)
- Add to MetaCart
The need to merge different versions of an object to a common state arises in collaborative computing due to several reasons including optimistic concurrency control, asynchronous coupling, and absence of access control. We have developed a flexible object merging framework that allows definition of the merge policy based on the particular application and the context of the collaborative activity. It performs automatic, semi-automatic, and interactive merges, supports semanticsdetermined merges, operates on objects with arbitrary structure and semantics, and allows fine-grained specification of merge policies. It is based on an existing collaborative applications framework and consists of a merge matrix,which defines merge functions and their parameters and allows definition of multiple merge policies, and a merge algorithm, which performs the merge based on the results computed by the merge functions. In conjunction with our framework we introduce a set of merge policies for several u...
An Editing-Based Characterization of the Design Space of Collaborative Applications
- Journal of Organizational Computing
, 1994
"... this paper, we define and motivate the notion of generalized multiuser editing and describe some of the issues, approaches, tradeoffs, principles, and requirements related to the design of the functions offered by it. ..."
Abstract
-
Cited by 26 (3 self)
- Add to MetaCart
this paper, we define and motivate the notion of generalized multiuser editing and describe some of the issues, approaches, tradeoffs, principles, and requirements related to the design of the functions offered by it.
Architectures for Synchronous Groupware
, 1999
"... Synchronous groupware systems allow physically separated users to interact with one another and with shared computational objects in real time. Such systems are problematic to build since their user interfaces must support multiple, concurrent users, and both their application logic and their user i ..."
Abstract
-
Cited by 24 (6 self)
- Add to MetaCart
Synchronous groupware systems allow physically separated users to interact with one another and with shared computational objects in real time. Such systems are problematic to build since their user interfaces must support multiple, concurrent users, and both their application logic and their user interfaces must be distributed across multiple platforms. This survey explores the range of software architectures that have been proposed to solve this problem. The presentation includes three distinct architectural views: reference models, which divide complete systems into named functional elements and specify data flow between those elements; architectural styles, which prescribe component and connector types and their allowed patterns of interaction; and distribution architectures, which represent the distribution of system functionality across connected computing platforms. The distribution architectures are presented using a new descriptive framework called Interlace. The architectural presentation is complemented by a brief overview of consistency maintenance
Two Worlds Apart: Bridging the Gap Between Physical and Virtual Media for Distributed Design Collaboration
- CHI 2003
, 2003
"... A tension exists between designers’ comfort with physical artifacts and the need for effective remote collaboration: physical objects live in one place. Previous research and technologies to support remote collaboration have focused on shared electronic media. Current technologies force distributed ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
A tension exists between designers’ comfort with physical artifacts and the need for effective remote collaboration: physical objects live in one place. Previous research and technologies to support remote collaboration have focused on shared electronic media. Current technologies force distributed teams to choose between the physical tools they prefer and the electronic communication mechanisms available. We present Distributed Designers’ Outpost, a remote collaboration system based on The Designers’ Outpost, a collaborative web site design tool that employs physical Post-it notes as interaction primitives. We extended the system for synchronous remote collaboration and introduced two awareness mechanisms: transient ink input for gestures and a blue shadow of the remote collaborator for presence. We informally evaluated this system with six professional designers. Designers were excited by the prospect of physical remote collaboration but found some coordination challenges in the interaction with shared artifacts.

