The general task of design can be defined formally as a search problem in a large space for objects that satisfy multiple constraints. Therefore, in order to make design practical, strategies that radically shrink the search space are necessary.develops a task structure for design as a knowledge-based problem solving activity by analyzing a general class of methods that he calls Propose-Critique-Modify methods. These methods have the subtasks of proposing partial or complete design solutions, verifying proposed solutions, critiquing the proposals by identifying causes of failure if any, and modifying the proposals to satisfy design goals. A straightforward way in which these subtasks can be combined is