|
ABSTRACT
As an important mechanism for error recovery and exploration of alternatives in interactive and collaborative applications, an undo facility should have the capability of undoing any operation at any time. However, supporting undo in collaborative applications is technically challenging and none of the existing group undo solutions is able to offer such a capability. In this article, we contribute an undo solution with such a capability for group text editors. The basic idea is to interpret an undo command as a concurrent inverse operation by means of operational transformation. To cope with the high complexity of group undo, a generic undo framework has been adopted to separate undo policy from the undo mechanism and to separate transformation control algorithms from transformation functions. The proposed undo solution consists of a generic transformation control algorithm that is capable of generating, transforming, and representing valid inverse operations in any context, and a set of transformation functions that are capable of preserving undo-related transformation conditions and properties. Formal proofs are provided to show the correctness of the undo transformation control algorithm in achieving the required undo effect, undo property, and consistency properties. Solutions to the known undo puzzles are provided to show soundness of the transformation functions. A Web-based group text editor REDUCE (REal-time Distributed Unconstrained Cooperative Editing) has been implemented to demonstrate the feasibility and usability of the proposed undo and other technical solutions. The proposed undo solution is generally applicable to collaborative applications that support concurrent insertion and deletion on shared documents consisting of one or multiple dimensions of linearly ordered data objects with positional references.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
Choudhary, R. and Dewan, P. 1995. A general multi-user undo/redo model. In Proceedings of European Conference on Computer Supported Work. 231--246.
|
 |
7
|
|
| |
8
|
|
| |
9
|
Dix, A., Mancini, R., and Levialdi, S. 1997. The cube-extending systems for undo. In Proceedings of DSVIS'97. Eurographics (Granada, Spain). 473--495.
|
 |
10
|
|
 |
11
|
|
| |
12
|
Fidge, C. 1988. Timestamps in message-passing systems that preserve the partial ordering. In Proceedings of the 11th Australian Computer Science Conference. 56--66.
|
 |
13
|
Robert F. Gordon , George B. Leeman, Jr. , Clayton H. Lewis, Concepts and implications of undo for interactive recovery, Proceedings of the 1985 ACM annual conference on The range of computing : mid-80's perspective: mid-80's perspective, p.150-157, October 1985, Denver, Colorado, United States
[doi> 10.1145/320435.320483]
|
| |
14
|
Knister, M. and Prakash, A. 1993. Issues in the design of a toolkit for supporting multiple group editors. J. Usenix Assoc. 6, 2, 135--166.
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
 |
18
|
|
 |
19
|
Matthias Ressel , Doris Nitsche-Ruhland , Rul Gunzenhäuser, An integrating, transformation-oriented approach to concurrency control and undo in group editors, Proceedings of the 1996 ACM conference on Computer supported cooperative work, p.288-297, November 16-20, 1996, Boston, Massachusetts, United States
[doi> 10.1145/240080.240305]
|
 |
20
|
|
| |
21
|
|
| |
22
|
Shneiderman, B. 1982. The future of interactive systems and the emergence of direct manipulation. Behav. Inform. Techn. 1, 3, 237--256.
|
 |
23
|
|
| |
24
|
|
 |
25
|
|
 |
26
|
Chengzheng Sun , Clarence Ellis, Operational transformation in real-time group editors: issues, algorithms, and achievements, Proceedings of the 1998 ACM conference on Computer supported cooperative work, p.59-68, November 14-18, 1998, Seattle, Washington, United States
[doi> 10.1145/289444.289469]
|
 |
27
|
Chengzheng Sun , Xiaohua Jia , Yanchun Zhang , Yun Yang , David Chen, Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems, ACM Transactions on Computer-Human Interaction (TOCHI), v.5 n.1, p.63-108, March 1998
[doi> 10.1145/274444.274447]
|
| |
28
|
Chengzheng Sun , Yun Yang , Yanchun Zhang , David Chen, Distributed Concurrency Control in Real-time Cooperative Editing Systems, Proceedings of the Second Asian Computing Science Conference on Concurrency and Parallelism, Programming, Networking, and Security, p.84-95, December 02-05, 1996
|
 |
29
|
|
 |
30
|
|
CITED BY 22
|
|
|
|
|
|
|
|
|
|
|
Pascal Molli , Gérald Oster , Hala Skaf-Molli , Abdessamad Imine, Using the transformational approach to build a safe and generic data synchronizer, Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work, November 09-12, 2003, Sanibel Island, Florida, USA
|
|
|
Steven Xia , David Sun , Chengzheng Sun , David Chen , Haifeng Shen, Leveraging single-user applications for multi-user collaboration: the coword approach, Proceedings of the 2004 ACM conference on Computer supported cooperative work, November 06-10, 2004, Chicago, Illinois, USA
|
|
|
David Sun , Steven Xia , Chengzheng Sun , David Chen, Operational transformation for collaborative word processing, Proceedings of the 2004 ACM conference on Computer supported cooperative work, November 06-10, 2004, Chicago, Illinois, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gérald Oster , Pascal Urso , Pascal Molli , Abdessamad Imine, Data consistency for P2P collaborative editing, Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work, November 04-08, 2006, Banff, Alberta, Canada
|
|
|
|
|
|
Chengzheng Sun , Steven Xia , David Sun , David Chen , Haifeng Shen , Wentong Cai, Transparent adaptation of single-user applications for multi-user real-time collaboration, ACM Transactions on Computer-Human Interaction (TOCHI), v.13 n.4, p.531-582, December 2006
|
|
|
Abdessamad Imine , Pascal Molli , Gérald Oster , Michaël Rusinowitch, Proving correctness of transformation functions in real-time groupware, Proceedings of the eighth conference on European Conference on Computer Supported Cooperative Work, p.277-293, September 14-18, 2003, Helsinki, Finland
|
|
|
Kai Lin , David Chen , Chengzheng Sun , Geoff Dromey, Maintaining constraints in collaborative graphic systems: the CoGSE approach, Proceedings of the ninth conference on European Conference on Computer Supported Cooperative Work, p.185-204, September 18-22, 2005, Paris, France
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
H.
Information Systems
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.3
Group and Organization Interfaces
Subjects:
Collaborative computing
Additional Classification:
C.
Computer Systems Organization
C.2
COMPUTER-COMMUNICATION NETWORKS
C.2.4
Distributed Systems
Subjects:
Distributed applications
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.2
Design Tools and Techniques
Subjects:
User interfaces
H.
Information Systems
H.1
MODELS AND PRINCIPLES
H.1.2
User/Machine Systems
Subjects:
Human factors
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.2
User Interfaces (D.2.2, H.1.2, I.3.6)
Subjects:
Theory and methods
I.
Computing Methodologies
I.7
DOCUMENT AND TEXT PROCESSING
I.7.1
Document and Text Editing
General Terms:
Algorithms,
Design,
Human Factors,
Theory,
Verification
Keywords:
Group undo,
REDUCE,
collaborative applications,
computer-supported cooperative work,
concurrency control,
consistence maintenance,
distributed systems,
operational transformation
|