Published online by Cambridge University Press: 27 February 2009
Design is not done in a vacuum. Engineers often rely on prior designs to make new design decisions instead of solving every new problem from scratch. Prior designs that represent good solutions to the tightly coupled nature of mechanical devices are used as guides. Moreover, prior failures are used to avoid repeating old mistakes. In this paper we present a computer-based approach to exploiting the knowledge embodied in prior designs. Reasoning from design cases requires the ability to use cases, or pieces of cases that realize subfunctions of the device being designed. It is, however, difficult to recognize and retrieve relevant cases or case pieces using a given design specification. Because there is no one-to-one correspondence between the desired behavior of a device and the individual component behaviors, it is often not possible to find relevant design cases by using the given overall behavioral specification as an index into case memory. We approach this problem by elaborating the given behavior specification into a description that gives rise to indices with which relevant components can be retrieved. The elaborations are carried out in a behavior-preserving manner using two transformation operators that (a) rely on physical laws if it is known which ones are relevant, or (b) hypothesize behaviors and then search the case memory for ways in which the required behaviors may be achieved. These two approaches are used opportunistically in CADET, a case-based mechanical design system.