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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Jetpad is a closed-source proprietary collaborative platform of JetBrains upon which several products such as CoachingSpaces or CensusAnalyzer are based.
- 2.
- 3.
- 4.
- 5.
- 6.
References
Chlipala, A.: Certified Programming with Dependent Types. The MIT press, Cambridge (2013)
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
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
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
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
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
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
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
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
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
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
Sun, C.: Operational transformation frequently asked questions and answers (2010). http://cooffice.ntu.edu.sg/otfaq/
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)