Skip to main content
Log in

QOCA: A Constraint Solving Toolkit for Interactive Graphical Applications

  • Published:
Constraints Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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. 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. Borning, A., Freeman-Benson, B., & Wilson, M. (1992). Constraint hierarchies. Lisp andSymbolic Computation, 5(3): 223–270.

    Google Scholar 

  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.

  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.

  6. Chok, S. S., & Marriott, K. (1995). Automatic construction ofuser interfaces from constraint multiset grammars. In IEEE Symposium on Visual Languages, pages 242–250.

  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.

  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.

  9. Fletcher, R. (1987). Practical Methods of Optimization. John Wiley & Sons, Chichester.

    Google Scholar 

  10. He, W., & Marriott, K. (1998). Constrained graph layout. Constraints: an International Journal, 3(4): 289–314.

    Google Scholar 

  11. He, W., & Marriott, K. (1998). Removing node overlapping using constrained optimisation. In Twenty-First Australasian Computer Science Conference, pages 169–180. Springer-Verlag.

  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.

  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.

  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.

  15. Huynh, T., & Marriott, K. (1995). Incremental constraint deletion in systems oflinear constraints. Information Processing Letters, 55: 111–115.

    Google Scholar 

  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.

  17. Marriott, K., & Stuckey, P. (1998). Programming with Constraints: An Introduction. The MIT Press.

  18. Sutherland, I. (1963). Sketchpad: A man-machine graphical communication system. In Proceedings of the Spring Joint Computer Conference, pages 329–346. IFIPS.

  19. Van Wyk, C. J. (1991). A class library for solving simultaneous equations. In Proceedings of the USENIX C++ Technical Conference, pages 229–234.

  20. Van Wyk, C. J. (1992). Arithmetic equality constraints as C++ statements. Software—Practice and Experience, 22(6): 467–494.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1020513316058

Navigation