Maintaining constraints expressed as formulas in collaborative systems

Constraints allow users to declare relationships among objects and let the constraint systems maintain and satisfy these relationships. Formulas have been adopted to express constraints in a wide variety of single-user applications, because of their simplicity, efficiency and manageability. The needs and benefits of supporting formula-defined constraints in collaborative environments have long been recognized. However, maintaining both constraints and consistency in the presence of concurrency in collaborative systems is a challenge. In these systems, users may concurrently define formulas, which could result in that different formulas are defined to express the same object attribute at different sites. In this article, we discuss the issues and techniques in maintaining formula-defined constraints in collaborative systems. In particular, we also proposed a method that is able to maintain both constraints and system consistency in concurrent environments based on the existing consistency maintenance approaches. This method extends the application of these approaches from collaborative systems without constraint to systems that support formulas. The proposed method has been applied to implement a collaborative Visio system, called CoVisio, which leverages single-user Microsoft Visio for multi-user collaboration. Specific issues related to CoVisio are also discussed in detail.

[1]  Paul Dourish,et al.  Developing a reflective model of collaborative systems , 1995, TCHI.

[2]  Antony I. T. Rowstron,et al.  The IceCube approach to the reconciliation of divergent replicas , 2001, PODC '01.

[3]  Alan Borning,et al.  Constraint-Based Tools for Building User Interfaces , 1986, ACM Trans. Graph..

[4]  Krishna Bharat,et al.  Supporting distributed, concurrent, one-way constraints in user interface applications , 1995, UIST '95.

[5]  Kai Lin,et al.  Maintaining Constraints in Collaborative Graphic Systems: the CoGSE Approach , 2005, ECSCW.

[6]  Wentong Cai,et al.  Transparent adaptation of single-user applications for multi-user real-time collaboration , 2006, TCHI.

[7]  Paul Dourish,et al.  Consistency guarantees: exploiting application semantics for consistency management in a collaboration toolkit , 1996, CSCW '96.

[8]  Clifford A. Shaffer,et al.  Resource sharing for replicated synchronous groupware , 2001, TNET.

[9]  Bjørn N. Freeman-Benson,et al.  Multi‐way versus one‐way constraints in user interfaces: Experience with the deltablue algorithm , 1993, Softw. Pract. Exp..

[10]  Jeffrey D. Campbell Multi-user collaborative visual program development , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[11]  W. Keith Edwards,et al.  Flexible conflict detection and management in collaborative applications , 1997, UIST '97.

[12]  K. Bhargavan,et al.  The Actions-Constraints approach to replication: Definitions and proofs , 2004 .

[13]  Kai Lin,et al.  Maintaining multi-way dataflow constraints in collaborative systems , 2005, 2005 International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[14]  Du Li,et al.  Demonstrational customization of a shared whiteboard to support user-defined semantic relationships among objects , 2001, GROUP.

[15]  Jeffrey D. Campbell Interaction in collaborative computer supported diagram development , 2004, Comput. Hum. Behav..

[16]  Claudia-Lavinia Ignat,et al.  Grouping in collaborative graphical editors , 2004, CSCW.

[17]  Ralph D. Hill The Rendezvous constraint maintenance system , 1993, UIST '93.

[18]  Carlos Castro,et al.  Basic components for constraint solver cooperations , 2003, SAC '03.

[19]  Chengzheng Sun,et al.  Operational transformation for collaborative word processing , 2004, CSCW.

[20]  David Sun,et al.  Leveraging single-user applications for multi-user collaboration: the coword approach , 2004, CSCW.

[21]  Chengzheng Sun,et al.  Consistency maintenance in real-time collaborative graphics editing systems , 2002, TCHI.

[22]  Bjørn N. Freeman-Benson,et al.  Constraint hierarchies , 1987, OOPSLA '87.

[23]  Bjørn N. Freeman-Benson,et al.  An incremental constraint solver , 1990, CACM.

[24]  Bradley T. Vander Zanden,et al.  An incremental algorithm for satisfying hierarchies of multiway dataflow constraints , 1996, TOPL.

[25]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[26]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.