An `AI in Design' View of Design

Constraint Handling

Does the system use constraints?
How are they formulated, posted, propagated, transformed and satisfied?

Discussion. Virtually every design problem has to deal with constraints. They are imposed by the design requirements and by the physical laws underlying the domain of the design. Some design systems construct the entire design process around constraint satisfaction, based on the idea that if the constraints are satisfied, the design development can proceed unimpeded [Bowen & Bahler 1992]. Constraints are often represented as ranges/sets of admissible values, and as inequalities relating several variables. Constraint posting and propagation produces early consideration of a realistic set of possible alternatives for design values [Stefik 1981a] [Stefik 1981b]. As constraints can relate parameters from different areas, they sometimes have to change from one representation to the other in order to be usable in different areas. The constraint satisfaction process can attempt to simultaneously solve a set of constraints, or it can proceed sequentially and backtrack when some constraint is violated.

Are the constraints dynamic or static?

Discussion. Few design problems have a stable set of constraints. As the design is refined new constraints are created, associated with the decisions taken so far [Mittal & Falkenhainer 1990]. Other constraints may become irrelevant. Even if a constraint ``lives'' throughout the entire design process, it is possible that it changes due to the new knowledge added in the course of the design's construction.

Up : Next

/Papers/IJDC/sect5.10.html Wed May 28 14:46:09 EDT 1997