Skip to main content

An Object-Oriented Architecture for Constraint-Based Graphical Editing

  • Chapter
Object-Oriented Programming for Graphics

Part of the book series: Focus on Computer Graphics ((FOCUS COMPUTER))

Abstract

Direct-manipulation graphics editors are useful tools for a wide variety of domains such as technical drawing, computer-aided design, application building, and music composition. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few domain-specific graphics editors have provided constraint-based specification and manipulation facilities. Part of the reason is that graphical editors are hard enough to develop without implementing a constraint system as well. Even though graphical editing frameworks can reduce the difficulty of constructing domain specific graphical editors, a fundamental problem remains: there do not exist general constraint solving architectures that are efficient enough to support highly interactive editing, yet suitably flexible and extensible to adapt to different editing domains.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bier, E. and Stone, M. (1986). Snap-dragging. In ACM SIGGRAPH’ 86 Conference Proceedings, pages 233-240, Dallas, TX.

    Google Scholar 

  • Borning, A. (1981). The programming language aspects of ThingLab — a constraint-oriented simulation laboratory. ACM Transactions on Programming Languages and Systems, 3(4):343–387.

    Article  Google Scholar 

  • Borning, A. and Duisberg, R. (1986). Constraint based tools for building user interfaces. ACM Transactions on Graphics, 4(4).

    Google Scholar 

  • Borning, A., Maher, M., Martindale, A., and Wilson, M. (1989). Constraint hierarchies and logic programming. In International Conference on Logic Programming. MIT Press.

    Google Scholar 

  • Epstein, D. and Lalonde, W. (1988). A Smalltalk window system based on constraints. In Object-Oriented Programming Systems, Languages and Applications Conference, pages 83-94. ACM Press.

    Google Scholar 

  • Freeman-Benson, B.N. (1990). Kaleidoscope: Mixing objects, constraints, and imperative programming. In Object-Oriented Programming Systems, Languages and Applications Conference, pages 77-88.

    Google Scholar 

  • Freeman-Benson, B.N. and Borning, A. (1992). Integrating constraints with an object-oriented language. In European Conference on Object-Oriented Programming, pages 268-286.

    Google Scholar 

  • (1990). GECK User’s Guide. V.I. Corporation.

    Google Scholar 

  • Gleeson, J. and Ryan, J. (1990). Identifying minimally infeasible subsystems of inequalities. ORSA Journal on Computing, 2(1):61–63.

    MATH  Google Scholar 

  • Helm, R., Huynh, T., Lassez, C., and Marriott, K. (1992a). A linear constraint technology for user interfaces. In Graphics Interface, pages 301-309, Vancouver, Canada.

    Google Scholar 

  • Helm, R., Huynh, T., Marriott, K., and Vlissides, J. (1992b). QOCA: An extensible object-oriented constraint solving toolkit. Technical Report In Preparation, IBM T.J. Watson Research Center.

    Google Scholar 

  • Helm, R., Marriott, K., and Odersky, M. (1991). Building visual language parsers. In Computer Human Interaction (CHI), pages 105-112. ACM Press.

    Google Scholar 

  • Hudson, S.E. (1990). Adaptive semantic snapping—a technique for semantic feedback at the lexical level. In ACM CHI’ 90 Conference Proceedings, pages 65-70.

    Google Scholar 

  • Olson, D.R., and Allan, K. (1990). Creating interactive techniques by symbolically solving geometric constraints. In ACM User Interface Software Technologies Conference, pages 102-107, Snowbird, Utah.

    Google Scholar 

  • Lassez, C. and Lassez, J.-L. (To Appear). Quantifier elimination for conjunctins of linear constraints via a convex hull algorithm. In Kahn, G., MacQueen, D., and Plotkin, G., editors, Symbolic and Numerical Computation-Towards Integration. Springer-Verlag.

    Google Scholar 

  • Linton, M.A., Vlissides, J.M., and Calder, P.R. (1989). Composing user interfaces with Interviews. Computer, 22(2):8–22.

    Article  Google Scholar 

  • Maloney, J., Borning, A., and Freeman-Benson, B. (1990). An incremental constraint solver. Communications of the ACM, 33(1):55–63.

    Google Scholar 

  • Maloney, J.H., Borning, A.H., and Freeman-Benson, B.N. (1989). Constraint technology for user interface construction in ThingLab II. In ACM OOPSLA’ 89 Conference Proceedings, pages 381-388, New Orleans, LA.

    Google Scholar 

  • Murty, K.G. (1988). Linear Complementarity, Linear and Nonlinear Programming. Heldermann Verlag, Berlin.

    MATH  Google Scholar 

  • Myers, B.A., Guise, D.A., Dannenberg, R.B., Zanden, B.V., Kosbie, D.S., Pervin, E., Mickish, A., and Marchel, P. (1990). Comprehensive support for graphical, highly interactive user interfaces: The Garnet system. IEEE Computer Magazine, 23(11):71–85.

    Google Scholar 

  • Nelson, G. (1985). Juno, a constraint-based graphics system. In ACM SIGGRAPH’ 85 Conference Proceedings, pages 235-243, San Fransisco, CA.

    Google Scholar 

  • Sutherland, I. (1963). Sketchpad: A man-machine graphical communication system. In Spring Joint Computer Conference, pages 329-345.

    Google Scholar 

  • Szekely, P. and Myers, B. (1988). A user interface toolkit based on graphical objects and constraints. In Object-Oriented Programming Systems, Languages and Applications Conference, pages 36-45.

    Google Scholar 

  • Tarumi, H., Rekimoto, J., Sugai, M., Yamazake, G., Sugiyama, T., and Akiguchi, C. (1990). Canae—a user interface construction environment with editors as software parts. NEC Research and Development, 98:89–98.

    Google Scholar 

  • Vlissides, J.M. (1990). Generalized Graphical Object Editing. PhD thesis, Stanford University.

    Google Scholar 

  • Vlissides, J.M. and Linton, M.A. (1988). Applying object-oriented design to structured graphics. In Proceedings of the 1988 USENIX C++ Conference, pages 81-94, Denver, CO.

    Google Scholar 

  • Vlissides, J.M. and Linton, M.A. (1990). Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3):237–268.

    Article  Google Scholar 

  • Witkin, A., Gleicher, M., and Welch, W. (1990). Interactive dynamics. In ACM/SIGRAPH Conference.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 EUROGRAPHICS The European Association for Computer Graphics

About this chapter

Cite this chapter

Helm, R., Huynh, T., Marriott, K., Vlissides, J. (1995). An Object-Oriented Architecture for Constraint-Based Graphical Editing. In: Laffra, C., Blake, E.H., de Mey, V., Pintado, X. (eds) Object-Oriented Programming for Graphics. Focus on Computer Graphics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-79192-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-79192-5_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-79194-9

  • Online ISBN: 978-3-642-79192-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics