A Constraint Maintenance Strategy and Applications in Real-Time Collaborative Environments

A constraint expresses a relationship among one or more variables. Constraints are very useful in the development of collaborative applications, such as collaborative CAD and CASE systems, but satisfying constraints in the presence of concurrency in collaborative systems is difficult. In this article, we discuss the issues and techniques in maintaining constraints in collaborative systems. In particular, we also proposed a novel priority strategy that is able to maintain both constraints and system consistency in the face of concurrent operations. The strategy is able to resolve constraint violations in multi-constraint systems and is independent of the execution orders of concurrent operations. To illustrate the applicability of the proposed priority strategy, the applications of the approach in various collaborative systems are discussed in detail.

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

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

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

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

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

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

[7]  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..

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

[9]  Hala Skaf-Molli,et al.  Semantic Consistency for Collaborative Systems , 2003 .

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

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

[12]  Alan Borning,et al.  Constraint hierarchies , 1992 .

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