Skip to main content

ALIEN: A Prototype-Based Constraint System

  • Chapter
Object-Oriented Programming for Graphics

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

Abstract

The main objective of the work reported in this article is the use of constraints in graphics and user interfaces. We believe that constraints need to be integrated in a powerful programming paradigm in order to be usable in large-scale systems. The system we present embeds constraints in a prototype-based model. A prototype object (a template) contains internal constraints, and exports slots so that instances of the prototype can be further constrained. Instantiation uses delegation to share constraints between instances. As a consequence, changing a template has an immediate effect on all its instances. The model also features generic templates and skeletons to create complex constrained objects. The system is open and extensible: new constraint types can be defined and alternative solvers can be used. The basic solver uses local propagation.

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

  • Beaudouin-Lafon, M., Berteaud, Y, and Chatty, S., Creating direct manipulation applications with Xtv. In Proc. EX’90, November 1990.

    Google Scholar 

  • Borning, A., Duisberg, R., Freeman-Benson, B.N., Kramer, A., and Woolf, M., Constraint hierarchies. In Proc. OOPSLA’87, pages 48-60, October 1987.

    Google Scholar 

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

    Article  Google Scholar 

  • Borning, A., and Duisberg, R., Constraint-based tools for building user interfaces. ACM Transactions on Graphics, 5(4):345–374, October 1986.

    Article  Google Scholar 

  • Ege, R.K., Direct manipulation user interfaces based on constraints. In Proc. COMP-SAC’89, pages 374-380, September 1989.

    Google Scholar 

  • Freeman-Benson, B.N., The DeltaBlue algorithm: an incremental constraint hierarchy solver. Technical Report 88-11-09, Dept. of Computer Science, University of Washington, November 1988.

    Google Scholar 

  • Freeman-Benson, B.N., Kaleidoscope: Mixing constraints, objects and imperative programming. In Proc. ECOOP-OOPSLA’90, pages 77-87, 1990.

    Google Scholar 

  • Henry, T.R., and Hudson, S.E., Using active data in a UIMS. In Proc. ACM Siggraph Symposium on User Interface Software, October 1988.

    Google Scholar 

  • Ingalls, D., Wallace, S., Chow, Y.Y., Ludolph, F., and Doyle, K., Fabrik: A visual programming environment. In Proc. OOPSLA’88, pages 176-190, September 1988.

    Google Scholar 

  • Jaffar, J., and Lassez, J-L., Constraint logic programming. In Proc. 14th Annual ACM Symposium on Principles of Programming Languages, pages 111-119, January 1987.

    Google Scholar 

  • Leler, Wm. Constraint Programming Languages. Addison-Wesley, 1987.

    Google Scholar 

  • Lieberman, H., Using prototypical objects to implement shared behavior in object oriented systems. In Proc. OOPSLA’86, pages 214-223, September 1986.

    Google Scholar 

  • Mackworth, A.K., Consistency in networks of relations. Artificial Intelligence, 8(1):99–118, 1977.

    Article  MATH  MathSciNet  Google Scholar 

  • Maloney, J.H., Borning, A., and Freeman-Benson, B.N., Constraint technology for user-interface construction in ThingLab II. In Proc. OOPSLA’89, pages 381-388, October 1989.

    Google Scholar 

  • Mourlin, F., and Cournarie, E., A graphical environment for Occam programming. In Proc. of the First International Conference on Applications of Transputer, August 1989.

    Google Scholar 

  • Myers, B., Giuse, D., Dannenberg, R.B., Vander Zanden, B.T., Kosbie, D.S., Pervin, E., Mickish, A., and Marchai, P., Garnet, comprehensive support for graphical, highly interactive user interfaces. IEEE Computer, pages 71-85, November 1990.

    Google Scholar 

  • Nelson, G., Juno, a constraint-based graphics system. In Proc. SIGGRAPH’85, pages 235-243, July 1985.

    Google Scholar 

  • Rankin, J.R., A graphics object-oriented constraint solver. In Second Eurographics Workshop on object-oriented Graphics, June 1991.

    Google Scholar 

  • Szekely, P.A, and Myers, B., A user interface toolkit based on graphical objects and constraints. In Proc. OOPSLA’88, pages 36-45, September 1988.

    Google Scholar 

  • Ungar, D., and Smith, R.B., Self: The power of simplicity. In Proc. OOPSLA’87, pages 227-241, October 1987.

    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

Cournarie, E., Beaudouin-Lafon, M. (1995). ALIEN: A Prototype-Based Constraint System. 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_8

Download citation

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

  • 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