Flexible Merging for Asynchronous Collaborative Systems
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.
KeywordsCollaborative system version control system document merging operational transformation
Unable to display preview. Download preview PDF.
- 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.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.B. Berliner. Cvs ii:parallelizing software development. In Proc. of 1990 Winter USENIX, pages 341–352, 1990.Google Scholar
- 4.B. Collins-Sussman. The subversion project: buiding a better cvs. Linux Journal, Volume 2002(Issue 94), 2002.Google Scholar
- 5.W. Courington. The network software environment. In Technical Report FE197-0, Sun Microsystems,1989.Google Scholar
- 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.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.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
- 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.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.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