Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Begole James et al. (2001): ‘Resource sharing for replicated synchronous groupware’, IEEE/ACM Transactions on Networking, vol. 9, no. 6, Dec. 2001, pp. 833–843.
Bharat, K. and Hudson, S. E. (1995): ‘Supporting distributed, concurrent, one-way constraints in user interface applications’, In Proceedings of the ACM Symposium on User Interface Software and Technology, ACM, New York, pp. 121–132.
Borning, A. and Duisberg, R. (1986): ‘Constraint-based tools for building user interfaces’, ACM Transactions on Graphics, vol.5, no.4, Oct. 1986, pp. 345–374.
Chen, D. and Sun, C. (2001): ‘Undoing any operation in collaborative graphics editing systems’, In Proc. of the ACM 2001 International Conference on Supporting Group Work, Sept. 2001, pp. 197–206.
Dourish, P. (1995): ‘Developing a reflective model of collaborative systems’, ACM Transactions on Computer-Human Interaction, 2(1), Mar. 1995.
Dourish, P. (1996): ‘Consistency guarantees: Exploiting application semantics for consistency management in a collaborative tookit’, In Proceedings of the ACM Conference on Computer Supported Cooperative Work, ACM, New York, pp. 268–277.
Dromey, R.G. (2001): ‘Genetic Software Engineering — simplifying design using requirements integration’, IEEE Working Conference on Complex and Dynamic Systems Architecture, Dec. 2001.
Dromey, R.G. (2003): ‘Using behavior trees to design large systems by requirements integration’, (Invited Paper) Dagstuhl-Seminar 03371, Scenarios: Models, Transformations and Tools, International Conference and Research Seminar for Computer Science, Sept. 2003.
Edwards, W.K. (1997): ‘Flexible conflict detection and management in collaborative applications’, In Proceedings of the ACM Symposium on User Interface Software and Technology, ACM, New York, pp. 139–148.
Ignat, C.-L, Norrie, M.C.(2004): ‘Grouping in collaborative graphical editors’, ACM Conference on Computer-Supported Cooperative Work, Chicago, USA, Nov. 6–10, 2004, pp. 447–456.
Lafore, Robert (2003): Data Structures and Algorithms in Java, Second Edition, Sams Publishing, 2003.
Li, D. and Patrao, J. (2001): ‘Demonstrational customization of a shared whiteboard to support user-defined semantic relationships among objects’, ACM GROUP’01, Sept. 30–Oct. 3, 2001, Boulder, Colorado, USA, pp. 97–106.
Lin, K., Chen, D. et al. (2004): ‘Tree structure maintenance in collaborative genetic software engineering system’, Proceedings of the Sixth International Workshop on Collaborative Editing Systems, ACM, Chicago, USA, Nov. 6–10, 2004.
MacLean, A., Carter, K., Lovstrand, L. and Moran, T. (1990): ‘User-tailorable systems: Pressing the issues with buttons’, In Proceedings of ACM CHI’90 Conference, 1990.
Monfroy, E. and Castro, C. (2003): ‘Basic components for constraint solver cooperations’, Proceedings of SAC, 2003.
Myers, B. A. (1991): ‘Graphical techniques in a spreadsheet for specifying user interfaces’, In Proceedings of ACM CHI’91 Conference on Human Factors in Computing Systems, User Interface Management Systems, 1991, pp. 243–249.
Sannella, M. et al. (1993): ‘Multi-way versus one-way constraints in user interfaces: experience with the DeltaBlue algorithm’, SOFTWARE-PRACTICE AND EXPERIENCE, vol. 23(5), pp. 529–566.
Skaf-Molli Hala, Molli Pascal and Ostér Gerald. (2003): ‘Semantic consistency for collaborative systems’, the Fifth International Workshop on Collaborative Editing Systems Hosted by the 8th European Conference of Computer-supported Cooperative Work, Helsinki, Sept. 15, 2003.
Sun, C., et al. (1998): ‘Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems’, ACM Transactions on Computer-human Interaction, 5(1), Mar. 1998, pp. 63–108.
Sun, C. and Chen, D. (2002): ‘Consistency maintenance in real-time collaborative graphics editing systems’, ACM Transactions on Computer-Human Interaction, vol. 9, no.1, Mar. 2002, pp. 1–41.
Sun, C. (2002): ‘Undo as concurrent inverse in group editors’, ACM Transactions on Computerhuman Interaction, vol. 9, no. 4, Dec. 2002, pp. 309–361.
Sun, D. et al. (2004): ‘Operational transformation for collaborative word processing’, ACM Conference on CSCW, Chicago, USA, Nov. 6–10, 2004.
Valiente Gabriel (2002): Algorithms on Trees and Graphs, Springer Verlag, Nov. 1, 2002.
Wang, X.Y, Bu J.J and Chen, C. (2002): ‘Semantic preservation in real-time collaborative graphics designing systems’, The Fourth International Workshop on Collaborative, New Orleans, USA, 2002.
Wilde, N. and Lewis, C. (1990): ‘Spreadsheet-based interactive graphics: from prototype to tool’, In Proceedings of ACM CHI’90 Conference on Human Factors in Computing Systems, Application Areas, 1990. pp. 153–159.
Xia, Q. et al. (2004): ‘Leveraging single-user applications for multi-user collaboration: the CoWord approach’, ACM Conference on CSCW, Chicago, USA, Nov. 6–10, 2004, pp. 162–171.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer
About this paper
Cite this paper
Lin, K., Chen, D., Sun, C., Dromey, G. (2005). Maintaining Constraints in Collaborative Graphic Systems: The CoGSE Approach. In: Gellersen, H., Schmidt, K., Beaudouin-Lafon, M., Mackay, W. (eds) ECSCW 2005. Springer, Dordrecht. https://doi.org/10.1007/1-4020-4023-7_10
Download citation
DOI: https://doi.org/10.1007/1-4020-4023-7_10
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-4022-1
Online ISBN: 978-1-4020-4023-8
eBook Packages: Computer ScienceComputer Science (R0)