Verified Operational Transformation for Trees

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9807)


Operational transformation (OT) is an approach to concurrency control in groupware editors first proposed by C. Ellis and S. Gibbs in 1989. Google Wave and Google Docs are examples of better known OT-based systems and there are many other experimental ones described in the literature. In their recent articles A. Imine et al. have shown that many OT implementations contain mistakes and do not possess claimed consistency properties.

The present work describes an experimental library which is based on SSReflect/Coq and contains several operational transformation algorithms and proofs of their correctness.


Root Node Transformation Function Operational Transformation Interpretation Function User Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Chlipala, A.: Certified Programming with Dependent Types. The MIT press, Cambridge (2013)zbMATHGoogle Scholar
  2. 2.
    Cormack, G.: A counterexample to the distributed operational transform and a corrected algorithm for point-to-point communication. Technical report, CS-95-06, Univ. Waterloo (1995).
  3. 3.
    Davis, A.H., Sun, C., Lu, J.: Generalizing operational transformation to the standard general markup language. In: Proceedings of Computer Supported Cooperative Work, pp. 58–67 (2002).
  4. 4.
    Ellis, C., Gibbs, S.: Concurrency control in groupware systems. In: Proceedings of 1989 ACM SIGMOD International Conference on Management of Data, vol. 18, pp. 399–407 (1989). Google Scholar
  5. 5.
    Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Research Report RR-6455, Inria Saclay Ile de France (2015).
  6. 6.
    Ignat, C.L., Norrie, M.C.: Customizable collaborative editor relying on treeOPT algorithm. In: Proceedings of 8th European Conference Computer Supported Cooperative Work, ECSCW 2003, pp. 315–334 (2003).
  7. 7.
    Imine, A., Rusinowitch, M., Molli, P., Oster, G.: Formal design and verification of operational transformation for copies convergence. Theor. Comput. Sci. 351(2), 167–183 (2006). MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Lushman, B., Cormack, G.V.: Proof of correctness of Ressel’s adOPTed algorithm. Inform. Process. Lett. 86(6), 303–310 (2003). MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Lushman, B., Roegist, A.: An automated verication of property tp2 for concurrent collaborative text buffers. Technical report, CS-2012-25, Univ. Waterloo, December 2012.
  10. 10.
    Randolph, A., Boucheneb, H., Imine, A., Quintero, A.: On consistency of operational transformation approach. Elec. Proc. Theor. Comput. Sci. 107, 45–59 (2013). CrossRefGoogle Scholar
  11. 11.
    Suleiman, M., Cart, M., Ferrié, J.: Concurrent operations in a distributed and mobile collaborative environment. In: Proceedings of 14th International Conference Data Engineering, Orlando, FL, USA, 23–27 February, pp. 36–45 (1998).
  12. 12.
    Sun, C.: Operational transformation frequently asked questions and answers (2010).
  13. 13.
    Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput. Hum. Interact. 5(1), 63–108 (1998). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.JetBrainsSt. PetersburgRussia
  2. 2.JetBrainsBostonUSA

Personalised recommendations