Verified Operational Transformation for Trees
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.
KeywordsRoot Node Transformation Function Operational Transformation Interpretation Function User Operation
- 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
- 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
- 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 MathSciNetCrossRefzbMATHGoogle 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
- 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/