Skip to main content

Verified Operational Transformation for Trees

  • Conference paper
  • First Online:
Interactive Theorem Proving (ITP 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9807))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Jetpad is a closed-source proprietary collaborative platform of JetBrains upon which several products such as CoachingSpaces or CensusAnalyzer are based.

  2. 2.

    https://github.com/JetBrains/ot-coq/blob/master/Comp.v.

  3. 3.

    https://github.com/JetBrains/ot-coq/blob/master/TreeOt.v.

  4. 4.

    https://github.com/JetBrains/ot-coq/blob/master/Fs.v.

  5. 5.

    https://github.com/JetBrains/ot-coq/blob/master/RichText.v.

  6. 6.

    https://github.com/JetBrains/ot-coq/blob/master/ListTools.v

References

  1. Chlipala, A.: Certified Programming with Dependent Types. The MIT press, Cambridge (2013)

    MATH  Google Scholar 

  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). http://cs.uwaterloo.ca/research/tr/1995/08/dopt.pdf

  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). http://dx.doi.org/10.1145/587078.587088

  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). http://dx.doi.org/10.1145/66926.66963

    Google Scholar 

  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). https://hal.inria.fr/inria-00258384

  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). http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.70.9273&rep=rep1&type=pdf

  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). http://dx.doi.org/10.1016/j.tcs.2005.09.066

    Article  MathSciNet  MATH  Google Scholar 

  8. Lushman, B., Cormack, G.V.: Proof of correctness of Ressel’s adOPTed algorithm. Inform. Process. Lett. 86(6), 303–310 (2003). http://www.sciencedirect.com/science/article/pii/S0020019003002278

    Article  MathSciNet  MATH  Google Scholar 

  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. http://cs.uwaterloo.ca/sites/ca.computer-science/files/uploads/files/CS-2012-25.pdf

  10. Randolph, A., Boucheneb, H., Imine, A., Quintero, A.: On consistency of operational transformation approach. Elec. Proc. Theor. Comput. Sci. 107, 45–59 (2013). http://dx.doi.org/10.4204/EPTCS.107.5

    Article  Google Scholar 

  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). http://dx.doi.org/10.1109/ICDE.1998.655755

  12. Sun, C.: Operational transformation frequently asked questions and answers (2010). http://cooffice.ntu.edu.sg/otfaq/

  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). http://dx.doi.org/10.1145/274444.274447

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pavel Chuprikov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Sinchuk, S., Chuprikov, P., Solomatov, K. (2016). Verified Operational Transformation for Trees. In: Blanchette, J., Merz, S. (eds) Interactive Theorem Proving. ITP 2016. Lecture Notes in Computer Science(), vol 9807. Springer, Cham. https://doi.org/10.1007/978-3-319-43144-4_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-43144-4_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-43143-7

  • Online ISBN: 978-3-319-43144-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics