Abstract
We describe an object-oriented constraint solving toolkit, QOCA, designed for interactive graphical applications. It has a simple yet powerful interface based on the metric space model for constraint manipulation. In this model interaction with the constraint solver can occur in three ways: a constraint may be added, a constraint may be deleted, or values for designated “edit” variables may be suggested. Currently, QOCA supports linear arithmetic constraints and two different metrics: the square of the Euclidean distance and Manhattan distance. It provides three solvers, all of which rely on keeping the constraints in solved form and relies on novel algorithms for efficient resolving of constraints during direct manipulation. We provide a thorough evaluation of QOCA, both of the interface design and the speed of constraint solving.
Similar content being viewed by others
References
Borning, A., & Freeman-Benson, B. (1995). The OTI constraint solver: A constraint library for constructing interactive graphical user interfaces. In Proceedings of the First International Conference on Principles andPr actice of Constraint Programming, pages 624–628, Cassis, France.
Borning, A., & Freeman-Benson, B. (1998). Ultraviolet: A constraint satisfaction algorithm for interactive graphics. Constraints: an International Journal, 3(1): 9–32.
Borning, A., Freeman-Benson, B., & Wilson, M. (1992). Constraint hierarchies. Lisp andSymbolic Computation, 5(3): 223–270.
Borning, A., Lin, R., & Marriott, K. (1997). Constraints for the Web. In Proceedings of the Fifth ACM International Multi-Media Conference, pages 173–182.
Borning, A., Marriott, K., Stuckey, P., & Xiao, Y. (1997). Solving linear arithmetic constraints for user interface applications. In Proceedings of the 10th ACM Symposium on User Interface Software and Technology, pages 87–96.
Chok, S. S., & Marriott, K. (1995). Automatic construction ofuser interfaces from constraint multiset grammars. In IEEE Symposium on Visual Languages, pages 242–250.
Chok, S. S., & Marriott, K. (1998). Automatic construction ofintelligent diagram editors. In Proceedings of the 11th ACM Symposium on User Interface Software andT echnology, pages 185–194.
Chok, S. S., Marriott, K., & Paton, T. (1999). Constraint-based diagram beautification. In Proceedings of the IEEE Symposium on Visual Languages (VL'99), pages 12–19.
Fletcher, R. (1987). Practical Methods of Optimization. John Wiley & Sons, Chichester.
He, W., & Marriott, K. (1998). Constrained graph layout. Constraints: an International Journal, 3(4): 289–314.
He, W., & Marriott, K. (1998). Removing node overlapping using constrained optimisation. In Twenty-First Australasian Computer Science Conference, pages 169–180. Springer-Verlag.
Helm, R., Huynh, T., Marriott, K., & Vlissides, J. (1995). An object-oriented architecture for constraintbased graphical editing. In Laffra, C., Blake, E., de Mey, V., & Pintado, X. eds. Object-OrientedPr ogramming for Graphics, pages 217–238. Springer-Verlag.
Hosobe, H., Matsuoka, S., & Yonezawa, A. (1996). Generalized local propagation: A framework for solving constraint hierarchies. In Proceedings of the Second International Conference on Principles and Practice of Constraint Programming, pages 237–251. LLNCS 1118, Springer-Verlag.
Hosobe, H., Miyashita, K., Takahashi, S., Matsuoka, S., & Yonezawa, A. (1994). Locally simultaneous constraint satisfaction. In Proceedings of the 1994 Workshop on Principles and Practice of Constraint Programming, pages 51–62. LLNCS 874, Springer-Verlag.
Huynh, T., & Marriott, K. (1995). Incremental constraint deletion in systems oflinear constraints. Information Processing Letters, 55: 111–115.
Marriott, K., Chok, S. S., & Finlay, A. (1998). A tableau based constraint solving toolkit for interactive graphical applications. In International Conference on Principles andPr actice of Constraint Programming (CP98), pages 340–354.
Marriott, K., & Stuckey, P. (1998). Programming with Constraints: An Introduction. The MIT Press.
Sutherland, I. (1963). Sketchpad: A man-machine graphical communication system. In Proceedings of the Spring Joint Computer Conference, pages 329–346. IFIPS.
Van Wyk, C. J. (1991). A class library for solving simultaneous equations. In Proceedings of the USENIX C++ Technical Conference, pages 229–234.
Van Wyk, C. J. (1992). Arithmetic equality constraints as C++ statements. Software—Practice and Experience, 22(6): 467–494.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Marriott, K., Sen Chok, S. QOCA: A Constraint Solving Toolkit for Interactive Graphical Applications. Constraints 7, 229–254 (2002). https://doi.org/10.1023/A:1020513316058
Issue Date:
DOI: https://doi.org/10.1023/A:1020513316058