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).

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.

Download file
Counter downloads: 364

Keywords

объектно-ориентированная разработка, клиент-серверная архитектура, синхронизация в режиме реального времени, collaborative editing, diagram, graphic element, client-server architecture, real-time synchronization

Authors

NameOrganizationE-mail
Moiseev Alexander N.Tomsk State Universitymoiseev.tsu@gmail.com
Politov Arsenty M.Tomsk State Universitya.m.politov@gmail.com
Rakhimov Valentin V.Tomsk State Universityrakhimovvv@gmail.com
Khomich Maxim O.Tomsk State Universitymohomich@gmail.com
Всего: 4

References

Моисеев А.Н., Политов А.М., Хомич М.О. Концепция системы поддержки командной разработки программного обеспече ния с синхронизацией в режиме реального времени // Информационные технологии и математическое моделирование (ИТММ-2011) : материалы X Всерос. нау
An overview of Google Docs: Google Docs Help / Google. Service information. 2013. URL: http://support.google.com/drive/bin/answer.py?hl=en&answer=49008 (retrieval date: 13.03.2013).
Status of Google Wave: Google Wave Help / Google. Service information. 2013. URL: http://support.google.com/bin/answer.py?hl=en&answer=1083134 (retrieval date: 13.03.2013).
Flow Chart Maker & Online Diagram Software : Lucidchart / Lucid Software Inc. 2013. Service information. URL: http://www.lucidchart.com/ (retrieval date: 13.03.2013).
Cacoo: Create diagrams online Real time collaboration / Nulab inc. 2013. Service information. URL: https://cacoo.com/ (retrieval date: 13.03.2013).
UML, BPMN and Database Tool for Software Development / Visual Paradigm. 2011. Product information. URL: http://www.visual-paradigm.com/ (retrieval date: 13.03.2013).
ISO/IEC 19505-2:2012(E). Information technology - Object Management Group Unified Modeling Language (OMG UML). Pt. 2: Superstructure. April 2012. International Organization for Standardization, 2012. 740 p.
Политов А.М., Рахимов В.В., Хомич М.О. Клиент-серверное взаимодействие в системе поддержки командной разработки с синхронизацией в реальном времени // Материалы 50-й Международной научной студенческой конференции «Студент и научно-технический прогресс»: И
W3C SVG Working Group / W3C. 2010. Electronic data. URL: http://www.w3.org/Graphics/SVG/ (retrieval date: 13.03.2013).
VML : the Vector Markup Launguage / J. Bowler, H. Cooperstein, B. Dister, A. Jindal, D. Lee, B. Mathews, T. Sandal, P. Wu. 1998. URL: http://www.w3.org/TR/NOTE-VML (retrieval date: 13.03.2013).
Mamta Dalal, Ashish Ghoda. XAML Developer Reference. Microsoft Press, December 2011. 342p.
Raffaele Garofalo. Building Enterprise Applications with Windows® Presentation Foundation and the Model View ViewModel Pattern. Microsoft Press, March 2011. 226 p.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. 416 p.
Amazon Elastic Compute Cloud (Amazon EC2), Cloud Computing Servers // Amazon. 2013. Service information. URL: http://aws.amazon.com/ec2/ (retrieval date: 13.03.2013).
Cloud Services on Windows Azure // Microsoft. 2013. Service information. URL: http://www.windowsazure.com/en-us/home/scenarios/cloud-services/ (retrieval date: 13.03.2013).
Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley Professional, 2002. 560 p.
Programming with Application Domains and Assemblies // Microsoft. 2013. Technology overview. URL: http://msdn.microsoft.com/en-us/library/dah4cwez.aspx (retrieval date: 13.03.2013).
NET Remoting / Microsoft. 2013. Technology overview. URL: http://msdn.microsoft.com/en-us/library/vstudio/72x4h507(v=vs.100).aspx (retrieval date: 13.03.2013).
Политов А.М., Рахимов В.В., Хомич М.О. Прототип системы совместного редактирования диаграмм // Материалы XI Всероссийской научно-практической конференции с международным участием «Информационные технологии и математическое моделирование (ИТММ-2012)», Анже
 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).

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).

Download full-text version
Counter downloads: 1534