Skip to main content
Log in

Constraint hierarchies

  • Published:
LISP and Symbolic Computation

Abstract

Constraints allow programmers and users to state declaratively a relation that should be maintained, rather than requiring them to write procedures to maintain the relation themselves. They are thus useful in such applications as programming languages, user interface toolkits, and simulation packages. In many situations, it is desirable to be able to state bothrequired andpreferential constraints. The required constraints must hold. Since the other constraints are merely preferences, the system should try to satisfy them if possible, but no error condition arises if it cannot. Aconstraint hierarchy consists of a set of constraints, each labeled as either required or preferred at some strength. An arbitrary number of different strengths is allowed. In the discussion of a theory of constraint hierarchies, we present alternate ways of selecting among competing possible solutions, and prove a number of propositions about the relations among these alternatives. We then outline algorithms for satisfying constraint hierarchies, and ways in which we have used constraint hierarchies in a number of programming languages and systems.

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. Barth, Paul. An Object-Oriented Approach to Graphical Interfaces.ACM Transactions on Graphics, 5, 2 (April 1986) 142–172.

    Google Scholar 

  2. Böhringer, Karl-Friedrich. Using Constraints to Achieve Stability in Automatic Graph Layout Algorithms. InCHI'90 Conference Proceedings, ACM SIGCHI, Seattle, Washington (April 1990) 43–52.

    Google Scholar 

  3. Borning, Alan H. The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory.ACM Transactions on Programming Languages and Systems, 3, 4 (October 1981) 353–387.

    Google Scholar 

  4. Borning, Alan. Graphically Defining New Building Blocks in ThingLab.Human-Computer Interaction, 2, 4 (1986) 269–295.

    Google Scholar 

  5. Borning, Alan, Maher, Michael, Martindale, Amy, and Wilson, Molly. Constraint Hierarchies and Logic Programming. InProceedings of the Sixth International Conference on Logic Programming, Lisbon (June 1989) 149–164.

  6. Borning, Alan H. and Duisberg, Robert A. Constraint-Based Tools for Building User Interfaces.ACM Transactions on Graphics, 5, 4 (October 1986).

    Google Scholar 

  7. Borning, Alan, Duisberg, Robert, Freeman-Benson, Bjorn, Kramer, Axel, and Woolf, Michael. Constraint Hierarchies. InProceedings of the 1987 ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, ACM (October 1987) 48–60.

  8. Brewka, Gerhard. Preferred Subtheories: An Extended Logical Framework for Default Reasoning. InProceedings of the Eleventh International Joint Conference on Artificial Intelligence (August 1989) 1043–1048.

  9. Carter, C. A. and LaLonde, W. R.The Design of a Program Editor Based on Constraints. Technical Report CS TR 50, Carleton University (May 1984).

  10. Cohen, Ellis S., Smith, Edward T., and Iverson, Lee A. Constraint-Based Tiled Windows.IEEE Computer Graphics and Applications (May 1986) 35–45.

  11. Cohen, Jacques. Constraint Logic Programming Languages.Communications of the ACM, 33, 7 (July 1990) 52–68.

    Google Scholar 

  12. Colmerauer, Alain. An Introduction to Prolog III.Communications of the ACM (July 1990) 69–90.

  13. Descotte, Yannick and Latombe, Jean-Claude. Making Compromises among Antagonist Constraints in a Planner.Artificial Intelligence, 27, 2 (November 1985) 183–217.

    Google Scholar 

  14. Dincbas, M., Hentenryck, P. Van, Simonis, H., Aggoun, A., Graf, T., and Bertheir, F. The Constraint Logic Programming Language CHIP. InProceedings Fifth Generation Computer Systems-88 (1988).

  15. Duisberg, Robert A.Constraint-Based Animation: The Implementation of Temporal Constraints in the Animus System. PhD thesis, University of Washington (1986). Published as UW Computer Science Department Technical Report No. 86-09-01.

  16. Ege, Raimund, Maier, David, and Borning, Alan. The Filter Browser—Defining Interfaces Graphically. InProceedings of the European Conference on Object-Oriented Programming, Association Française pour la Cybernétique Économique et Technique, Paris (June 1987) 155–165.

  17. Epstein, Danny and LaLonde, Wilf. A Smalltalk Window System Based on Constraints. InProceedings of the 1988 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, ACM, San Diego (September 1988) 83–94.

    Google Scholar 

  18. Fox, Mark S.Constraint-Directed Search: A Case Study of Job-Shop Scheduling. Morgan Kaufmann, Los Altos, California (1987).

    Google Scholar 

  19. Freeman-Benson, Bjorn. A Module Compiler for ThingLab II. InProceedings of the 1989 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, ACM, New Orleans (October 1989).

    Google Scholar 

  20. Freeman-Benson, Bjorn. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. InProceedings of the 1990 Conference on Object-Oriented Programming Systems, Languages, and Applications, and European Conference on Object-Oriented Programming, ACM, Ottawa, Canada (October 1990) 77–88.

    Google Scholar 

  21. Freeman-Benson, Bjorn and Borning, Alan. Integrating Constraints with an Object-Oriented Language. InProceedings of the 1992 European Conference on Object-Oriented Languages (June 1992).

  22. Freeman-Benson, Bjorn and Borning, Alan. The Design and Implementation of Kaleidoscope'90, A Constraint Imperative Programming Language. InProceedings of the IEEE Computer Society International Conference on Computer Languages (April 1992) 174–180.

  23. Freeman-Benson, Bjorn and Maloney, John. The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver. InProceedings of the Eighth Annual IEEE Phoenix Conference on Computers and Communications, IEEE, Scottsdale, Arizona (March 1989).

    Google Scholar 

  24. Freeman-Benson, Bjorn and Wilson, Molly.DeltaStar, How I Wonder What You Are: A General Algorithm for Incremental Satisfaction of Constraint Hierarchies. Technical Report 90-05-02, Department of Computer Science and Engineering, University of Washington (May 1990).

    Google Scholar 

  25. Freeman-Benson, Bjorn, Maloney, John, and Borning, Alan.The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver. Technical Report 89-08-06, Department of Computer Science and Engineering, University of Washington (August 1989).

    Google Scholar 

  26. Freeman-Benson, Bjorn, Maloney, John, and Borning, Alan. An Incremental Constraint Solver.Communications of the ACM, 33, 1 (January 1990) 54–63.

    Google Scholar 

  27. Freeman-Benson, Bjorn, Wilson, Molly, and Borning, Alan. DeltaStar: A General Algorithm for Incremental Satisfaction of Constraint Hierarchies. InProceedings of the Eleventh Annual IEEE Phoenix Conference on Computers and Communications, IEEE, Scottsdale, Arizona (March 1992).

    Google Scholar 

  28. Freeman-Benson, Bjorn N.Multiple Solutions from Constraint Hierarchies. Technical Report 88-04-02, University of Washington, Seattle, WA (April 1988).

    Google Scholar 

  29. Freeman-Benson, Bjorn N.Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering (July 1991). Published as Department of Computer Science and Engineering Technical Report 91-07-02.

    Google Scholar 

  30. Freuder, Eugene. Partial Constraint Satisfaction. InProceedings of the Eleventh International Joint Conference on Artificial Intelligence (August 1989) 278–283.

  31. Gangnet, Michel and Rosenberg, Burton. Constraint Programming and Graph Algorithms. InSecond International Symposium on Artificial Intelligence and Mathematics (January 1992).

  32. Ginsberg, Matthew L., editor.Readings in Nonmonotonic Reasoning. Morgan Kaufmann, Los Altos, California (1987).

    Google Scholar 

  33. Gosling, James A.Algebraic Constraints. PhD thesis, Carnegie-Mellon University (May 1983). Published as CMU Computer Science Department tech report CMU-CS-83-132.

  34. Hill, Ralph. Languages for the Construction of Multi-User Multi-Media Synchronous (MUMMS) Applications. In Myers, Brad, editor,Languages for Developing User Interfaces, Jones and Bartlett, Boston (1992) 125–143.

    Google Scholar 

  35. Hill, Ralph D. A 2-D Graphics System for Multi-User Interactive Graphics Based on Objects and Constraints. In Blake, E. H. and Wisskirchen, P., editors,Advances in Object Oriented Graphics I, Springer-Verlag, Berlin (1990) 67–91.

    Google Scholar 

  36. Horn, Bruce. Constraint Patterns as a Basis for Object-Oriented Constraint Programming. InProceedings of the 1992 ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, Vancouver, British Columbia (October 1992). To appear.

    Google Scholar 

  37. Horn, Bruce. Properties of User Interface Systems and the Siri Programming Language. In Myers, Brad, editor,Languages for Developing User Interfaces, Jones and Bartlett, Boston (1992) 211–236.

    Google Scholar 

  38. Ignizio, James P. Generalized Goal Programming.Computers and Operations Research, 10, 4 (1983) 277–290.

    Google Scholar 

  39. Ignizio, James P.Introduction to Linear Goal Programming. Sage Publications, Beverly Hills (1985). Sage University Paper Series on Qualitative Applications in the Social Sciences, 07-056.

  40. Jaffar, Joxan and Michaylov, Spiro. Methodology and Implementation of a CLP System. InProceedings of the Fourth International Conference on Logic Programming, Melbourne (May 1987) 196–218.

  41. Jaffar, Joxan, Michaylov, Spiro, Stuckey, Peter, and Yap, Roland. The CLP (R) Language and System. (1992). To appear inACM Transactions on Programming Languages and Systems.

  42. Jaffar, Joxan and Lassez, Jean-Louis. Constraint Logic Programming. InProceedings of the Fourteenth ACM Principles of Programming Languages Conference, Munich (January 1987).

  43. Kamada, Tomihisa and Kawai, Satoru. A General Framework for Visualizing Abstract Objects and Relations.ACM Transactions on Graphics, 10, 1 (January 1991) 1–39.

    Google Scholar 

  44. Konopasek, M. and Jayaraman, S.The TK!Solver Book. Osborne/McGraw-Hill, Berkeley, CA (1984).

    Google Scholar 

  45. Kristensen, Bent Bruun, Madsen, Ole Lehrmann, Iler Pederson, Birger Mø, and Nygaard, Kirsten. Abstraction Mechanisms in the BETA Programming Language. InProceedings of the Tenth Annual Principles of Programming Languages Symposium, ACM, Austin, Texas (January 1983).

    Google Scholar 

  46. Leler, William.Constraint Programming Languages. Addison-Wesley (1987).

  47. Mackworth, Alan K. Consistency in Networks of Relations.Artificial Intelligence, 8, 1 (1977) 99–118.

    Google Scholar 

  48. Maher, Michael J. Logic Semantics for a Class of Committed-choice Programs. InProceedings of the Fourth International Conference on Logic Programming, Melbourne (May 1987) 858–876.

  49. Maher, Michael J. and Stuckey, Peter J. Expanding Query Power in Constraint Logic Programming. InProceedings of the North American Conference on Logic Programming, Cleveland (October 1989).

  50. Maloney, John.Using Constraints for User Interface Construction. PhD thesis, Department of Computer Science and Engineering, University of Washington (August 1991). Published as Department of Computer Science and Engineering Technical Report 91-08-12.

  51. Maloney, John, Borning, Alan, and Freeman-Benson, Bjorn. Constraint Technology for User-Interface Construction in ThingLab II. InProceedings of the 1989 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, ACM, New Orleans (October 1989).

    Google Scholar 

  52. McDonald, John Alan, Stuetzle, Werner, and Buja, Andreas. Painting Multiple Views of Complex Objects. InProceedings of the 1990 ACM Conference on Object-Oriented Programming: Systems, Languages, and Applications and the European Conference on Object-Oriented Programming, Ottawa, Canada (October 1990) 245–257.

  53. Murty, Katta G.Linear Programming. Wiley (1983).

  54. Myers, Brad.Creating User Interfaces by Demonstration. PhD thesis, University of Toronto (1987).

  55. Myers, Brad A. Creating Dynamic Interaction Techniques by Demonstration. InCHI+GI 1987 Conference Proceedings (April 1987) 271–278.

  56. Myers, Brad A., Guise, Dario, Dannenberg, Roger B., Vander Zanden, Brad, Kosbie, David, Marchal, Philippe, Pervin, Ed, Mickish, Andrew, and Kolojejchick, John A.The Garnet Toolkit Reference Manuals: Support for Highly-Interactive Graphical User Interfaces in Lisp. Technical Report CMU-CS-90-117, Computer Science Dept, Carnegie Mellon University (March 1990).

  57. Myers, Brad A., Guise, Dario, Dannenberg, Roger B., Vander Zanden, Brad, Kosbie, David, Marchal, Philippe, and Pervin, Ed. Comprehensive Support for Graphical, Highly-Interactive User Interfaces: The Garnet User Interface Development Environment.IEEE Computer, 23, 11 (November 1990) 71–85.

  58. Nelson, Greg. Juno, A Constraint-Based Graphics System. InSIGGRAPH '85 Conference Proceedings, ACM, San Francisco (July 1985) 235–243.

    Google Scholar 

  59. Ohwada, Hayato and Mizoguchi, Fumio. A Constraint Logic Programming Approach for Maintaining Consistency in User-Interface Design. InProceedings of the 1990 North American Conference on Logic Programming, MIT Press (October 1990) 139–153.

  60. Olsen, Jr., Dan R. Creating Interactive Techniques by Symbolically Solving Geometric Constraints. InProceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, ACM SIGGRAPH and SIGCHI, Snowbird, Utah (October 1990) 102–107.

    Google Scholar 

  61. Robinson, A.Non-Standard Analysis. North-Holland Publishing Company, Amsterdam (1966).

    Google Scholar 

  62. Rotterdam, Ernst.Physiological Modeling and Simulation with Constraints. Technical Report R89001, Medical Information Science, Department of Anesthesiology, Oostersingel 59, 9713 E2 Groningen (June 1989).

  63. Sannella, Michael.The Multi-Garnet Reference Manual. Technical Report 92-07-01, Department of Computer Science and Engineering, University of Washington (July 1992).

  64. Saraswat, Vijay A.Problems with Concurrent Prolog. Technical Report CS-86-100, Carnegie-Mellon University (May 1985). Revised January 1986.

  65. Saraswat, Vijay Anand.Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, Computer Science Department (January 1989).

  66. Saraswat, Vijay A., Rinard, Martin, and Panangaden, Prakash. Semantic Foundations of Concurrent Constraint Programming. InProceedings of the Eighteenth Annual Principles of Programming Languages Symposium, ACM (1991).

  67. Satoh, Ken. Formalizing Soft Constraints by Interpretation Ordering. InProceedings of the European Conference on Artificial Intelligence (1990).

  68. Satoh, Ken and Aiba, Akira.CAL: A Theoretical Background of Constraint Logic Programming and its Applications (Revised). Technical Report TR-537, Institute for New Generation Computer Technology, Tokyo (February 1990).

    Google Scholar 

  69. Satoh, Ken and Aiba, Akira.Computing Soft Constraints by Hierarchical Constraint Logic Programming. Technical Report TR-610, Institute for New Generation Computer Technology, Tokyo (January 1991).

    Google Scholar 

  70. Satoh, Ken and Aiba, Akira.The Hierarchical Constraint Logic Language CHAL. Technical Report TR-592, Institute for New Generation Computer Technology, Tokyo (September 1991).

    Google Scholar 

  71. Shapiro, Ehud. Concurrent Prolog: A Progress Report.IEEE Computer, 19, 8 (August 1986) 44–58.

    Google Scholar 

  72. Shapiro, Linda and Haralick, Robert. Structural Descriptions and Inexact Matching.IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-3, 5 (September 1981) 504–519.

    Google Scholar 

  73. Sistare, Steven.A Graphical Editor for Constraint-Based Geometric Modeling. PhD thesis, Department of Computer Science, Harvard (December 1990). Published as Technical Report TR-06-9.

    Google Scholar 

  74. Steele Jr. Guy, L.The Definition and Implementation of a Computer Programming Language Based on Constraints. PhD thesis, MIT (August 1980). Published as MIT-AI TR 595, August 1980.

  75. Sutherland, Ivan.Sketchpad: A Man-Machine Graphical Communication System. PhD thesis, Department of Electrical Engineering, MIT (January 1963).

    Google Scholar 

  76. Sutherland, Ivan. Sketchpad: A Man-Machine Graphical Communication System. InProceedings of the Spring Joint Computer Conference, IFIPS (1963).

  77. Takahashi, Shin, Matsuoka, Satoshi, and Yonezawa, Akinori. A General Framework for Bi-Directional Translation between Abstract and Pictorial Data. InProceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, Hilton Head, South Carolina (November 1991) 165–174.

  78. Vander Zanden, Bradley T.An Incremental Planning Algorithm for Ordering Equations in a Multilinear system of Constraints. PhD thesis, Department of Computer Science, Cornell University (April 1988).

  79. Vander Zanden, Brad, Myers, Brad, Guise, Dario, and Szekely, Pedro. The Importance of Pointer Variables in Constraint Models. InProceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, Hilton Head, South Carolina (November 1991) 155–164.

  80. Van Hentenryck, Pascal.Constraint Satisfaction in Logic Programming. MIT Press, Cambridge, MA (1989).

    Google Scholar 

  81. van Wyk, Christopher J.A Language for Typesetting Graphics. PhD thesis, Department of Computer Science, Stanford (June 1980).

    Google Scholar 

  82. van Wyk, Christopher J. A High-level Language for Specifying Pictures.ACM Transactions on Graphics, 1, 2 (April 1982).

  83. Wadge, William W. and Ashcroft, Edward A.Lucid, the Dataflow Programming Language. Academic Press, London (1985).

    Google Scholar 

  84. Walinsky, Clifford. CLP(Σ*): Constraint Logic Programming with Regular Sets. InProceedings of the Sixth International Conference on Logic Programming, Lisbon (June 1989) 181–196.

  85. Wilson, Molly.Hierarchical Constraint Logic Programming. PhD thesis, Department of Computer Science and Engineering, University of Washington (1992). Forthcoming.

  86. Wilson, Molly and Borning, Alan. Extending Hierarchical Constraint Logic Programming: Nonmonotonicity and Inter-Hierarchy Comparison. InProceedings of the North American Conference on Logic Programming, Cleveland (October 1989).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Borning, A., Freeman-Benson, B. & Wilson, M. Constraint hierarchies. Lisp and Symbolic Computation 5, 223–270 (1992). https://doi.org/10.1007/BF01807506

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01807506

Keywords

Navigation