the contrary, our framework will always ensure con-
vergence of copies. Simply, in a case of conflicting
changes, these changes will be transformed to be in-
tegrated as conflicting changes in the copies. This al-
lows every participant to later resolve the conflict. We
think sharing conflicts is useful, because sometimes
the user informed about he conflict has no knowledge
to resolve it.
6 CONCLUSION
We have presented the SO6 framework for supporting
cooperative writing over documents. This framework
relies on a theoretical model called operational trans-
formation approach. Our framework is generic in the
sense that it could be instantiated to manage multiple
types of document. In order to illustrate these fea-
tures, we explained how to enable cooperative writ-
ing of XML documents. This framework and the pre-
sented transformation functions are integrated in the
SO6 revision management tool included in the Libre-
Source (
http://www.libresource.org/
) collabo-
rative platform. This tool is able to reconciliate copies
of a file system containing text documents and XML
documents.
If our framework ensures convergence, the con-
vergence state may violate the DTD. For example
suppose two users add concurrently a “title” element
in an XML document. From the point of view of an
ordered tree, two title nodes can appear under the root.
However, from the point of view of the DTD, only one
title is allowed. Finally, the SO6 framework is able to
compute a convergence state, but this state may vio-
late the DTD. This is clearly an open issue for the So6
framework and for XML merge tools.
ACKNOWLEDGEMENTS
We wish to thank Claudia-Lavinia Ignat for her very
valuable comments and suggestions which helped us
to improve the presentation of this article.
REFERENCES
Berliner, B. (1990). CVS II: Parallelizing Software Devel-
opment. In Proceedings of the USENIX Winter Tech-
nical Conference, pages 341–352.
Chawathe, S. S. and Garcia-Molina, H. (1997). Meaningful
Change Detection in Structured Data. In Proceedings
of the ACM SIGMOD’97, pages 26–37.
Cobena, G., Abiteboul, S., and Marian, A. (2002). Detect-
ing Changes in XML Documents. In Proceedings of
the IEEE ICDE 2002, pages 41–52.
Davis, A. H., Sun, C., and Lu, J. (2002). Generalizing
Operational Transformation to the Standard General
Markup Language. In Proceedings of the ACM CSCW
2002, pages 58–67.
Ellis, C. A. and Gibbs, S. J. (1989). Concurrency Control
in Groupware Systems. 18:399–407.
Fontaine, R. L. (2002). Merging XML Files: A New
Approach Providing Intelligent Merge of XML Data
Sets. In Proceeding of XML Europe 2002.
Foster, J. N., Greenwald, M. B., Kirkegaard, C., Pierce,
B. C., and Schmitt, A. (2005). Exploiting Schemas in
Data Synchronization. In Proceedings of DBPL 2005,
volume 3774 of LNCS.
Ignat, C.-L. and Norrie, M. C. (2006). Supporting Cus-
tomised Collaboration over Shared Document Repos-
itories. In Proceedings of CAiSE 2006, volume 4001
of LNCS.
Imine, A., Molli, P., Oster, G., and Rusinowitch, M. (2003).
Proving Correctness of Transformation Functions in
Real-Time Groupware. In Proceedings of ECSCW
2003, pages 277–293.
Imine, A., Rusinowitch, M., Oster, G., and Molli, P. (2006).
Formal Design and Verification of Operational Trans-
formation Algorithms for Copies Convergence. Theo-
retical Computer Science, 351(2):167–183.
Kermarrec, A.-M., Rowstron, A., Shapiro, M., and Dr-
uschel, P. (2001). The IceCube Approach to the Rec-
onciliation of Divergent Replicas. In Proceedings of
the ACM PODC 2001, pages 210–218.
Molli, P., Oster, G., Skaf-Molli, H., and Imine, A. (2003).
Using the Transformational Approach to Build a Safe
and Generic Data Synchronizer. In Proceedings of the
ACM GROUP 2003, pages 212–220.
Munson, J. P. and Dewan, P. (1994). A Flexible Object
Merging Framework. In Proceedings of the ACM
CSCW’94, pages 231–242, New York, NY, USA.
Ressel, M., Nitsche-Ruhland, D., and Gunzenh
¨
auser, R.
(1996). An Integrating, Transformation-Oriented Ap-
proach to Concurrency Control and Undo in Group
Editors. In Proceedings of the ACM CSCW’96, pages
288–297.
Shen, H. and Sun, C. (2002). Flexible Merging for Asyn-
chronous Collaborative Systems. In Proceeding of the
CoopIS 2002, volume 2519 of LNCS, pages 304–321.
Suleiman, M., Cart, M., and Ferri
´
e, J. (1998). Concurrent
Operations in a Distributed and Mobile Collaborative
Environment. In Proceedings of the IEEE ICDE’98,
pages 36–45.
Sun, C. (2002). Undo as Concurrent Inverse in Group Ed-
itors. ACM Transactions on Computer-Human Inter-
action, 9(4):309–361.
Vidot, N., Cart, M., Ferri
´
e, J., and Suleiman, M. (2000).
Copies Convergence in a Distributed Real-Time Col-
laborative Environment. In Proceedings of the ACM
CSCW 2000, pages 171–180.