What is OT?

OT (Operational Transformation) is a technology for supporting collaborative computing capabilities and applications.  OT was originally invented for consistency maintenance in collaborative editing of plain text documents. Two decades of research has extended its capabilities and expanded its applications to include group undo, locking, conflict resolution, operation notification and compression, group-awareness, HTML/XML and tree-structured document editing, collaborative office productivity tools, application-sharing, and collaborative computer-aided media design tools. OT has been adopted as the core technique behind the real-time collaboration features in  Google Wave, which took OT to a new range of web-based applications, including e-mail, instant messaging, blogging, wiki, and social networking.

The complexity of OT necessitates the development of special tools, such as the OTXplorer, to support OT design and evaluation. 

What is OTXplorer?

The OTXplorer (Operational Transformation eXplorer) is a web-based software tool for benchmarking and evaluating real OT systems.  The OTXplorer has been designed to support:
·    researcher to explore and benchmark OT issues and solutions,  and
·    developers to test and evaluate real OT implementations. 

The OTXplorer has a TSD (Time-Space Diagram)-based GUI (Graphic User Interface), as shown in Figure 1, which allows the user to draw arbitrary collaborative editing scenarios and view operation transformation and execution results produced by real OT implementations (e.g. the  GCE (Generic Collaboration Engine)).

With the support of the OTXplorer, a TSD-based real-time collaborative editing scenario can be manually drawn by the user, or automatically created according to user-provided operation causal relation expressions, or reloaded from prior saved TSD scripts. Given a user-drawn scenario or a user-provided causal relation expression, the OTXplorer can automatically validate them and derive all valid operation sequences and scenarios, which can be used for selective or exhaustive case testing.  The OTXplorer system also contains a comprehensive set of benchmarking scenarios and solutions to all known  OT puzzles.

The OTXplorer can translate TSD-based scenarios into real testing code (e.g. C++ or Java),  drive real OT implementations to run the testing code, and finally display operation transformation and execution results in the TSD scenarios. Detailed traces of internal working of OT algorithm components are also provided to support debugging (for OT system developers).   Multiple OT implementations (e.g. COT-based GCE, GOTO-ANYUNDO-based GCE) can be plugged into the OTXplorer.  A public programming interface is to be released for supporting plugging OT implementations into the OTXplorer for comparison study.


Figure 1 The OTXplorer GUI based on Time-Space Diagram. 

More technological background about the OTXplorer can be found in:

1.       C. Sun: "OTFAQ – Operational Transformation   Frequently Asked Questions and Answers", 2010.

2.       D. Sun, C. Sun, S. Xia and J. Guo: "Using Time-Space Diagram for Testing Real OT Systems," Presented at the International Workshop on Collaborative Editing, in conjunction with  ACM Conference on Computer Supported Cooperative Work, Banff, Canada, Nov, 2006.

3.       D. Sun and C. Sun: "Context-based Operational Transformation in Distributed Collaborative Editing Systems," 
IEEE Transactions on Parallel and Distributed Systems, Vol. 20, No. 10, October 2009, pp1454-1470.      

4.       C. Sun, S. Xia, D. Sun, D. Chen. H.F. Shen, W. Cai: "Transparent adaptation of single-user applications for multi-user real-time collaboration,"ACM Transactions on Computer-Human Interaction,  Vol. 13, No.4, December 2006, pp.531-582.

5.       C. Sun: "Undo as concurrent inverse in group editors," ACM Transactions on Computer-Human Interaction, Vol. 9, No. 4, December 2002, pp.309-361.

6.       C. Sun, X. Jia, Y. Zhang, Y. Yang, D. Chen: "Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems," ACM Transactions on Computer-Human Interaction, Vol.5, No.1, March, 1998, pp.63-108.

7.       C. Sun and C.A. Ellis:   "Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements," 
Proceedings of ACM Conference on Computer Supported Cooperative Work, pp.59-68, Seattle, USA, Nov 14-18, 1998.