An `AI in Design' View of Design
Does the system have any failure handling features?
What methods are used to this purpose?
e.g., chronological backtracking, dependency-based backtracking, conflict resolution, patching, etc.
Discussion. Almost every design activity has some decisions that fail before a final version of the design is reached. Failure can mean that a constraint is violated, that there is no other option available when taking a decision, that contradictory knowledge exists, or that that there is no appropriate knowledge available. Failure handling allows the system to recover from the ``dead-end'' situation by undoing selected previous decisions [Brown 1985] [Marcus et al. 1992] [Mittal & Araya 1992]. Chronological backtracking tries to undo the previous decisions in reverse order, until new options become available. Dependency-directed backtracking finds the decision which caused the failure and tries to recover directly from there.
Does the system fall back on first principles rather than on alternative solutions of the same type?
Discussion. The most frequent approach to failures is to find an alternative decision for the one which is believed to have caused the failure. This corresponds to evaluating a new search path. The other option is to do a global reassessment of the design in order to decide how the failure can be dealt with. The evaluation usually requires going back to the principles' level and questioning not only local decisions, but adequacy of methods and strategies.
Up : Next
/Papers/IJDC/sect5.15.html Wed May 28 14:46:09 EDT 1997