This paper considers the application of analogical reasoning to the field of software design. an example is presented in which the formal specifications of two programs, with different subject matters, are matched to discover meaningful analogies between the two programs. It is shown how the result of this matching process can assist the reuse of the design of the first program in the second. The paper also discusses the representation formalisms and reasoning processes that would have to be employed by a software design assistant tool based on analogical reasoning.
This paper is not available online