Real-time collaborative diagram editor unified element presentation concept
The software for collaborative editing with the real-time synchronization is currently spreading, and therefore the requirements to the functionality of such systems are rising. Obordesus is a centralized system for collaborative diagram editing with the real-time synchronization. Its main features are the following: 1. Real-time synchronization of currently active diagrams. 2. Extensibility, i.e. an ability to expand functionality without altering the system. 3. Stability of the client to changes in system functional (functional expansion should not affect client code). 4. Remote server, i.e. the main logic, project information and diagrams are stored remotely. The basic domain area elements include the model entities, their visual images, diagrams (sets of visual images) and projects (sets of model entities and diagrams). A goal of the system client-server interaction is to allow functional extension without the need to alter the clients. Targeting multiple platforms makes developing extensions for each client time-consuming. Moreover, the communication is held through network, which creates a delay between user's action and server's reaction. To sum up, the client-server interaction mechanism should allow: 1. Drawing of any arbitrary element. 2. Data synchronization between clients and server. 3. User-element and element-element interaction. The following higher-level solution meeting the requirements is suggested: client object model is based not on the server object model directly, rather on some kind of intermediate presentation description model. The presentation description model is based on the following principles: 1. All the information about elements is contained in their properties. 2. Presentation of the element is derived from the properties (of the element itself or of any other elements). 3. Any element consists of three parts: model, visual model and presentation. 4. Presentation of the element is described as a composition of primitive elements. New presentation description language based on the XML has been developed as the implementation of the listed principles. Server-side implementation of the extensible domain area model needs the following mechanisms to be implemented: 1. Saving and loading of any specific model objects. 2. Transactions for composite modification of the objects (including rollback support). 3. Access rights control for model objects. Model extensibility is provided by the extension module (plugin) subsystem on project server. The following requirements apply: 1. Plugins should be isolated from the project server and its hosting system. 2. Plugins should be isolated from each other. 3. The server should allow loading of different plugins (including different plugins versions) for each loaded project. To meet these requirements the application domain isolation technique is used. Each project is loaded into separate application domain along with the required plugins and with minimal permissions. Model objects operations are executed in the project application domain, while network communication operations are processed by the project server itself. As of this paper, the basic prototype of the system has been implemented. In addition to critical server-side infrastructure, clients for Windows (Windows Store app) and Web (HTML + JavaScript) have been implemented. Further research is focused on intensive and extensive development of the presentation description model.
Keywords
объектно-ориентированная разработка, клиент-серверная архитектура, синхронизация в режиме реального времени, collaborative editing, diagram, graphic element, client-server architecture, real-time synchronizationAuthors
Name | Organization | |
Moiseev Alexander N. | Tomsk State University | moiseev.tsu@gmail.com |
Politov Arsenty M. | Tomsk State University | a.m.politov@gmail.com |
Rakhimov Valentin V. | Tomsk State University | rakhimovvv@gmail.com |
Khomich Maxim O. | Tomsk State University | mohomich@gmail.com |
References

Real-time collaborative diagram editor unified element presentation concept | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2014. № 3(28).