skip to main content
article

Undo as concurrent inverse in group editors

Published:01 December 2002Publication History
Skip Abstract Section

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

  1. Abowd, G. and Dix, A. 1992. Giving undo attention. Interact. Comput. 4, 3, 317--342. Google ScholarGoogle Scholar
  2. Berlage, T. 1994. A selective undo mechanism for graphical user interfaces based on comand objects. ACM Trans. Comput. Hum. Interact. 1, 3 (Sept.), 269--294. Google ScholarGoogle Scholar
  3. Birman, K., Schiper, A., and Stephenson, P. 1991. Lightweight causal and atomic group multicast. ACM Trans. Comp. Sys. 9, 3 (Aug.), 272--314. Google ScholarGoogle Scholar
  4. Chandy, K. M. and Lamport, L. 1985. Distributed snapshots: determining global states of distributed systems. ACM Trans. Comp. Sys. 3, 1 (Feb.), 63--73. Google ScholarGoogle Scholar
  5. Chen, D. and Sun, C. 2001. Undoing any operation in collaborative graphics editing systems. In Proceedings of the ACM Conference on Supporting Group Work. 197--206. Google ScholarGoogle Scholar
  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. Google ScholarGoogle Scholar
  7. Davis, A., Sun, C., and Lu, J. 2002. Generalizing operational transformation to the standard general markup language. In Proceedings of the ACM Conference on Computer Supported Cooperative Work, 58--67. Google ScholarGoogle Scholar
  8. Dewan, P., Choudhary, R., and Shen, H. 1994. An editing-based characterization of the design space of collaborative applications. J. Organizat. Comput. 4, 3, 219--240. Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  10. Ellis, C. A. and Gibbs, S. J. 1989. Concurrency control in groupware systems. In Proceedings of the ACM SIGMOD Conference on Management of Data. ACM Press, New York, NY, 399--407. Google ScholarGoogle Scholar
  11. Ellis, C. A., Gibbs, S. J., and Rein, G. L. 1991. Groupware: some issues and experiences. Commun. ACM 34, 1 (Jan.), 39--58. Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  13. Gordon, R. Leeman, G., and Lewis, G. 1985. Concepts and implications of undo for interactive recovery. In Proceedings of the ACM Annual Conference. 150--157. Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  15. Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7, 558--565. Google ScholarGoogle Scholar
  16. Norman, D. A. and Draper, S. W. 1986. User Centered System Design: New Perspectives on Human-Computer Interaction. Lawrence Erlbaum Associates, Hillsdale, NJ. Google ScholarGoogle Scholar
  17. Prakash, A. and Knister, M. 1994. A framework for undoing actions in collaborative systems. ACM Trans. Comput. Hum. Interact. 4, 1 (Dec.), 295--330. Google ScholarGoogle Scholar
  18. Ressel, M. and Gunzenhäuser, R. 1999. Reducing the problems of group undo. In Proceedings of the ACM Conference on Supporting Group Work. 131--139. Google ScholarGoogle Scholar
  19. Ressel, M., Nitsche-Ruhland, D., and Gunzenhäuser, R. 1996. An integrating, transformation-oriented approach to concurrency control and undo in group editors. In Proceedings of the ACM Conference on Computer Supported Cooperative Work. 288--297. Google ScholarGoogle Scholar
  20. Shen, H. and Sun, C. 2002a. Flexible notification in collaborative systems. In Proceedings of the ACM Conference on Computer Supported Cooperative Work, 77--86. Google ScholarGoogle Scholar
  21. Shen, H. and Sun, C. 2002b. A log compression algorithm for operation-based version control systems. In Proceedings of the 26th IEEE Annual International Computer Software and Application Conference (COMPSAC 2002), Oxford, England. IEEE Computer Society Press, Los Alamitos, Calif., 867--872. Google ScholarGoogle Scholar
  22. Shneiderman, B. 1982. The future of interactive systems and the emergence of direct manipulation. Behav. Inform. Techn. 1, 3, 237--256.Google ScholarGoogle Scholar
  23. Sun, C. 2000. Undo any operation at any time in group editors. In Proceedings of the ACM Conference on Computer Supported Cooperative Work. 191--200. Google ScholarGoogle Scholar
  24. Sun, C. 2002. Optional and responsive fine-grain locking in Internet-based collaborative systems. IEEE Trans. Parallel Distrib. Syst. 13, 9 (Sept.), 994--1008. Google ScholarGoogle Scholar
  25. Sun, C. and Chen, D. 2002. Consistency maintenance in real-time collaborative graphics editing systems. ACM Trans. Comput.-Hum. Interact. 9, 1 (March), 1--41. Google ScholarGoogle Scholar
  26. Sun, C. and Ellis, C. A. 1998. Operational transformation in real-time group editors: issues, algorithms, and achievements. In Proceedings of the ACM Conference on Computer Supported Cooperative Work. 59--68. Google ScholarGoogle Scholar
  27. Sun, C., Jia, X., Zhang, Y., Yang, Y., and Chen, D. 1998. Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems. ACM Trans. Comput.-Hum. Interact. 5, 1 (March), 63--108. Google ScholarGoogle Scholar
  28. Sun, C., Yang, Y., Zhang, Y., and Chen, D. 1996. Distributed concurrency control in real-time cooperative editing systems. In Proceedings of the 1996 Asian Computing Science Conference. Lecture Notes in Computer Science, vol. 1179. Springer, Bielefeld, Germany, 84--95. Google ScholarGoogle Scholar
  29. Thimbleby, H. 1990. User Interface Design. Addison-Wesley, Reading, MA. Google ScholarGoogle Scholar
  30. Yang, Y. 1988. A new conceptual model for interactive user recovery and command reuse facilities. In Proceedings of the CHI'88 Conference on Human Factors in Computing Systems. 165--170. Google ScholarGoogle Scholar

Index Terms

  1. Undo as concurrent inverse in group editors

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader