Formal Design of Optimistic Replication Algorithms Towards Collaborative Edition in Peer-to-Peer Networks
Conception Formelle d'Algorithmes de Réplication Optimiste Vers l'Edition Collaborative dans les Réseaux Pair-à-Pair
Résumé
Collaborative editing systems provide computer support for manipulating objects such as a text document, shared by two or more users that are temporally and spatially distributed. Object replication is essential in such systems, but it can leads to a data divergence problem. To overcome this problem, an optimistic approach, called the operational transformation, is used. This thesis is aimed to propose a formal framework for designing correct transformation algorithms that can be embedded in collaborative editing systems for achieving data convergence. Firstly, we have proposed a formal methodology for specifying and verifying collaborative objects synchronized by operational transformation approach. This methodology relies on using advanced automated deduction techniques. Thanks to our formal framework, we have detected divergence situations in many well-known systems. Ensuring convergence for linear objects (such as a list, a text, an ordered XML tree) still remains challenging. In this respect, we have noticed that the known convergence conditions are hardly to be satisfied. So, we have proposed a new tranformation algorithm based on relaxed form of these conditions. Moreover, we have designed an integration environment for collaborative edition based on linear objects. The novelty of this environment is that it can be deployed in peer-to-peer networks (P2P). Lastly, we have proposed a compositional technique enabling construction of complex objects from primitive objects by preserving convergence criterias imposed on transformation algorithms.
Les systèmes d'édition collaborative permettent la manipulation d'objets, comme des documents texte, par plusieurs personnes qui sont réparties dan le temps et dans l'espace. La réplication des objets est indispensable dans de tels systèmes mais elle peut entraîner un problème de divergence de données. Pour pallier ce problème, une approche optimiste, appelée transformation opérationnelle, est utilisée dans ce domaine. L'objectif de cette thèse est de proposer un cadre formel pour la conception d'algorithmes de transformation corrects qui peuvent être déployés sur des systèmes d'édition collaborative en vue de garantir la convergence des données. Dans un premier temps, nous avons proposé une méthodologie formelle pour spécifier et vérifier des objets collaboratifs synchronisés par une transformation opérationnelle. Cette méthodologie repose sur l'utilisation de techniques avancées de déduction automatique. Son exploitation était conséquente puisqu'elle nous a permis de détecter des situations de divergence dans des systèmes collaboratifs bien connus dans la littérature. Assurer La convergence pour des objets linéaires (tels que la liste, le texte, l'arbre ordonné XML, etc) demeure toujours un défi. A ce titre, nous avons constaté que les conditions de convergence connues dans la littérature sont très difficiles à satisfaire. Aussi, nous avons proposé un nouvel algorithme de transformation basé sur une forme relaxée de ces conditions. Comme complément à cet algorithme de transformation, nous avons conçu un environnement d'intégration pour l'édition collaborative basée sur des objets linéaires. L'originalité de cet environnement est le fait qu'il peut être déployé sur un réseaux pair-à-pair (P2P). Enfin, nous avons proposé une technique permettant la composition d'objets simples pour former des objets complexes tout en préservant des critères de convergence imposés sur les algorithmes de transformation.