Maintaining Constraints in Collaborative Graphic Systems: the CoGSE Approach

A constraint specifies a relation or condition that must be maintained in a system. It is common for a single user graphic system to specify some constraints and provide methods to satisfy these constraints automatically. Constraints are even more useful in collaborative systems, which can confine and coordinate concurrent operations, 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 strategy that is able to maintain both constraints and system consistency in the face of concurrent operations. The strategy is independent of the execution orders of concurrent operations and able to retain the effects of all operations in resolving constraint violation. The proposed strategy has been implemented in a Collaborative Genetic Software Engineering system, called CoGSE, for maintaining the tree structure constraint. Specific issues related to CoGSE are also discussed in detail.

[1]  Clayton Lewis,et al.  Spreadsheet-based interactive graphics: from prototype to tool , 1990, CHI '90.

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

[3]  Gabriel Valiente,et al.  Algorithms on Trees and Graphs , 2002, Springer Berlin Heidelberg.

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

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

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

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

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

[9]  Michael T. Goodrich,et al.  Education forum: Web Enhanced Textbooks , 1998, SIGA.

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

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

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

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

[14]  Chengzheng Sun,et al.  Undoing any operation in collaborative graphics editing systems , 2001, GROUP.

[15]  Kai Lin,et al.  Tree Structure Maintenance in a Collaborative Genetic Software Engineering System , 2004 .

[16]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[17]  Chun Chen,et al.  Semantic Preservation in Real-time Collaborative Graphics Designing Systems , 2002 .

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

[19]  Robert Lafore,et al.  Data Structures and Algorithms , 1998 .

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

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

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

[23]  Adam Drozdek,et al.  Data Structures and Algorithms in Java, Second Edition , 2004 .

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

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