, Volume 7, Issue 3–4, pp 229–254 | Cite as

QOCA: A Constraint Solving Toolkit for Interactive Graphical Applications

  • Kim Marriott
  • Sitt Sen Chok


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.

constraint-based graphics HCI linear arithmetic constraint object oriented 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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.Google Scholar
  2. 2.
    Borning, A., & Freeman-Benson, B. (1998). Ultraviolet: A constraint satisfaction algorithm for interactive graphics. Constraints: an International Journal, 3(1): 9–32.Google Scholar
  3. 3.
    Borning, A., Freeman-Benson, B., & Wilson, M. (1992). Constraint hierarchies. Lisp andSymbolic Computation, 5(3): 223–270.Google Scholar
  4. 4.
    Borning, A., Lin, R., & Marriott, K. (1997). Constraints for the Web. In Proceedings of the Fifth ACM International Multi-Media Conference, pages 173–182.Google Scholar
  5. 5.
    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.Google Scholar
  6. 6.
    Chok, S. S., & Marriott, K. (1995). Automatic construction ofuser interfaces from constraint multiset grammars. In IEEE Symposium on Visual Languages, pages 242–250.Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    Fletcher, R. (1987). Practical Methods of Optimization. John Wiley & Sons, Chichester.Google Scholar
  10. 10.
    He, W., & Marriott, K. (1998). Constrained graph layout. Constraints: an International Journal, 3(4): 289–314.Google Scholar
  11. 11.
    He, W., & Marriott, K. (1998). Removing node overlapping using constrained optimisation. In Twenty-First Australasian Computer Science Conference, pages 169–180. Springer-Verlag.Google Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    Huynh, T., & Marriott, K. (1995). Incremental constraint deletion in systems oflinear constraints. Information Processing Letters, 55: 111–115.Google Scholar
  16. 16.
    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.Google Scholar
  17. 17.
    Marriott, K., & Stuckey, P. (1998). Programming with Constraints: An Introduction. The MIT Press.Google Scholar
  18. 18.
    Sutherland, I. (1963). Sketchpad: A man-machine graphical communication system. In Proceedings of the Spring Joint Computer Conference, pages 329–346. IFIPS.Google Scholar
  19. 19.
    Van Wyk, C. J. (1991). A class library for solving simultaneous equations. In Proceedings of the USENIX C++ Technical Conference, pages 229–234.Google Scholar
  20. 20.
    Van Wyk, C. J. (1992). Arithmetic equality constraints as C++ statements. Software—Practice and Experience, 22(6): 467–494.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Kim Marriott
    • 1
  • Sitt Sen Chok
    • 1
  1. 1.School of Computer Science & Software EngineeringMonash UniversityClaytonAustralia

Personalised recommendations