Flexible Merging for Asynchronous Collaborative Systems

  • Haifeng Shen
  • Chengzheng Sun
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2519)

Abstract

Version control systems are widely used asynchronous collaborative systems in team-working environments, where document merging is a key function. However most existing systems only support limited semantic merging, and techniques for supporting semantic merging are strictly bound up with the merging algorithms that do syntactic merging. In this paper, we propose a flexible merging framework in which semantic merging policies are separated from the syntactic merging mechanism for asynchronous collaborative systems. In this framework, seman tic merging policies are not restricted by the merging algorithms used in the syntactic merging mechanism,and the syntactic merging mechanism is flexible to support a wide range of semantic merging policies. This framework can be used to describe and compare a range of existing merging policies and mechanisms, and to guide the design of new merging policies and mechanisms. The proposed framework has been applied to the design of a flexible merging component in FORCE (Flexible Operation-based Revision Control Environment) prototype, which uses a single syntactic merging mechanism to support a range of semantic merging policies.

Keywords

Collaborative system version control system document merging operational transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    L. Allen, G. Fernandez, K. Kane, D. Leblang, D. Minard, and J. Posner. Clearcase multisite:supporting geographically-distributed software development. Software Configuration Management: Selected Papers of the ICSE SCM-4 and SCM-5Workshops, (number 1005 in LNCS):194–214, 1995.Google Scholar
  2. 2.
    T. Berlage and A. Genau. A framework for shared applications with a replicated architecure. In Proc. of ACM Symposium on User Interface Software and Technology, pages 249–257, 1993.Google Scholar
  3. 3.
    B. Berliner. Cvs ii:parallelizing software development. In Proc. of 1990 Winter USENIX, pages 341–352, 1990.Google Scholar
  4. 4.
    B. Collins-Sussman. The subversion project: buiding a better cvs. Linux Journal, Volume 2002(Issue 94), 2002.Google Scholar
  5. 5.
    W. Courington. The network software environment. In Technical Report FE197-0, Sun Microsystems,1989.Google Scholar
  6. 6.
    W. K. Edwards, E. D. Mynatt, K. Petersen, M. J. Spreitzer, D. B. Terry,and M. M. Theimer. Designing and implementing asynchronous collaborative applications with bayou. In Proc. of ACM Sympisium on User Interface Software anf Technology,pages 119–128,1997.Google Scholar
  7. 7.
    A. M. Kermarrec and P. Druschel. The icecube approach to the reconciliation of divergent replicas. In Proc. of ACM Symposium on Principles of Distributed Computing, pages 210–218, 2001.Google Scholar
  8. 8.
    E. Lippe and N. van Oosterom. Operation-based merging. In Proc. of the Fifth ACM SIGSOFT Symposium on Software development environments, pages 78–87, 1992.Google Scholar
  9. 9.
    W. Miller and E. W. Myers. A file comparison program. Software-Practice and Experience, 15(1):1025–1040,1990.CrossRefGoogle Scholar
  10. 10.
    J. P. Munson and P. Dewan. A flexible object merging framework. In Proc. of ACM conference on Computer Supported Cooperative Work,pages 231–242,1994.Google Scholar
  11. 11.
    H. Shen and C. Sun. A log compression algorithm for operation-based version control systems. In Proc. of the 26th IEEE Annual International Computer Software and Application Conference,to appear.Google Scholar
  12. 12.
    C. Sun and C. A. Ellis. Operational transformation in real-time group editors: issues,algorithms,and achievements. In Proc. of ACM conference on Computer Supported Cooperative Work,pages 59–68,1998.Google Scholar
  13. 13.
    C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen. Achieving convergence,causalit ypreservation, and intention-preservation in real-time cooperative editing systems. ACM Transaction on Computer Human Interaction, 5(1):63–108,1998.CrossRefGoogle Scholar
  14. 14.
    W. F. Ticky. Rcs-a system for version control. Software Practice and Experience, 15(7):637–654, 1985.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Haifeng Shen
    • 1
  • Chengzheng Sun
    • 1
  1. 1.School of Computing and Information TechnologyGrifth UniversityBrisbaneAustralia

Personalised recommendations