While specifications for reusability state what software component is needed, specifications used to deduce programs state what problem is to be solved. Due to the imprecision found in languages intended for either area, there are often multiple, correct interpretations of the specifications. This is the problem of ambiguity. Ultimately there is a balance which must be struck between precision in specification and ambiguity. To raise the level of abstraction in problem solving, precision is sacrificed, thus introducing the perils of ambiguity. The paper introduces results concerning ambiguity from the area of program synthesis and relates these results to the area of software reusability. Both software reusability and synthesis are areas which figure prominently in rapid prototyping.
展开▼