Constraint-based tools for building user interfaces
ACM Transactions on Graphics (TOG) - Special issue on user interface software
An incremental constraint solver
Communications of the ACM
Multi-way versus one-way constraints in user interfaces: experience with the DeltaBlue algorithm
Software—Practice & Experience
Lisp and Symbolic Computation
An incremental algorithm for satisfying hierarchies of multiway dataflow constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
CSCW '96 Proceedings of the 1996 ACM conference on Computer supported cooperative work
ACM Transactions on Computer-Human Interaction (TOCHI)
GROUP '01 Proceedings of the 2001 International ACM SIGGROUP Conference on Supporting Group Work
Resource sharing for replicated synchronous groupware
IEEE/ACM Transactions on Networking (TON)
Consistency maintenance in real-time collaborative graphics editing systems
ACM Transactions on Computer-Human Interaction (TOCHI)
Operational transformation for collaborative word processing
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Grouping in collaborative graphical editors
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Hi-index | 0.00 |
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.