Formal Verification of Operational Transformation

Operational Transformation OT is a technology to provide consistency maintenance and concurrency control in real-time collaborative editing systems. The correctness of OT is critical due to its foundation role in supporting a wide range of real world applications. In this work, we formally model the OT-based collaborative editing systems and establish their correctness, w.r.t. convergence and intention preservation, using a set of well-defined transformation conditions and properties. We then use model checking to verify the transformation properties for basic data and operational models. To the best of our knowledge, this is the first work to conduct a complete verification of OT including control algorithms and transformation functions. Our evaluation confirmed the correctness of existing OT systems and transformation functions with important discoveries.

[1]  Michaël Rusinowitch,et al.  Proving Correctness of Transformation Functions in Real-Time Groupware , 2003, ECSCW.

[2]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

[3]  Hanifa Boucheneb,et al.  On Model-Checking Optimistic Replication Algorithms , 2009, FMOODS/FORTE.

[4]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[5]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[6]  David Lee,et al.  Formal Techniques for Distributed Systems, Joint 11th IFIP WG 6.1 International Conference FMOODS 2009 and 29th IFIP WG 6.1 International Conference FORTE 2009, Lisboa, Portugal, June 9-12, 2009. Proceedings , 2009, FMOODS/FORTE.

[7]  Atul Prakash,et al.  A framework for undoing actions in collaborative systems , 1994, TCHI.

[8]  Yi Xu,et al.  Exhaustive search of puzzles in operational transformation , 2014, CSCW.

[9]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[10]  Chengzheng Sun,et al.  Undo as concurrent inverse in group editors , 2002, TCHI.

[11]  Mo Li,et al.  Achieving convergence in operational transformation: conditions, mechanisms and systems , 2014, CSCW.

[12]  Matthias Ressel,et al.  An integrating, transformation-oriented approach to concurrency control and undo in group editors , 1996, CSCW '96.

[13]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[14]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[15]  David Sun,et al.  Context-Based Operational Transformation in Distributed Collaborative Editing Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.