{"title":"Modeling and Simulation of an Operational Transformation Algorithm Using Finite State Machines","authors":"C. Gadea, B. Ionescu, D. Ionescu","doi":"10.1109/SACI.2018.8440930","DOIUrl":null,"url":null,"abstract":"Although the principles of real-time collaborative editing have been explored since the eighties, team collaboration software facilitating the completion of tasks as a group continues to be a very hot research topic. A series of theoretical and practical results obtained by the research and industrial communities originated in the theory of distributed computing. They were devised for managing the concurrent nature of user actions and for maintaining the consistency of data as changes are introduced randomly, by multiple users and in real-time. As such, centralized collaborative editing servers were designed to allow users to work in parallel on a document from a typical web browser. In order to maintain the consistency of the content being modified at different sites in different orders, Operational Transformation (OT) mechanisms are at the core of collaboration servers enabling web-based co-editing. However, as expected of modern web application deployments, a centralized OT algorithm is required that must also exhibit properties such as scalability and reliability. In this paper, the processes involved in the client-server interactions of OT are modeled as real-time systems using Finite State Machine (FSM) theory. The consistency of the data is controlled by formal groups of FSMs. Hierarchical FSMs are used to define and simulate the real-time behavior of client and server components when processing and transforming changes initiated by users. The FSM-based OT implementation is tested using random inputs and the approach is shown to be helpful for organizing and managing the complex distributed aspects of such algorithms.","PeriodicalId":126087,"journal":{"name":"2018 IEEE 12th International Symposium on Applied Computational Intelligence and Informatics (SACI)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE 12th International Symposium on Applied Computational Intelligence and Informatics (SACI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SACI.2018.8440930","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Although the principles of real-time collaborative editing have been explored since the eighties, team collaboration software facilitating the completion of tasks as a group continues to be a very hot research topic. A series of theoretical and practical results obtained by the research and industrial communities originated in the theory of distributed computing. They were devised for managing the concurrent nature of user actions and for maintaining the consistency of data as changes are introduced randomly, by multiple users and in real-time. As such, centralized collaborative editing servers were designed to allow users to work in parallel on a document from a typical web browser. In order to maintain the consistency of the content being modified at different sites in different orders, Operational Transformation (OT) mechanisms are at the core of collaboration servers enabling web-based co-editing. However, as expected of modern web application deployments, a centralized OT algorithm is required that must also exhibit properties such as scalability and reliability. In this paper, the processes involved in the client-server interactions of OT are modeled as real-time systems using Finite State Machine (FSM) theory. The consistency of the data is controlled by formal groups of FSMs. Hierarchical FSMs are used to define and simulate the real-time behavior of client and server components when processing and transforming changes initiated by users. The FSM-based OT implementation is tested using random inputs and the approach is shown to be helpful for organizing and managing the complex distributed aspects of such algorithms.