Designs of complex objects often include parameters which, when given values, provide a realisation of a specific example of the design. Such parametrised designs, therefore, actually represent families of objects. In order to provide the programming capabilities necessary for building such parametrised designs, some Computer-Aided Design systems include programming languages or provide interfaces to them. This creates a sharp division in the design process between designer and programmer.
To address this discontinuity, a Language for Structured Design (LSD) has been proposed as an extension to a visual logic programming language. In LSD, design components and operations on them are homogeneously represented in one language.
Here we report on another advantage of the LSD approach; namely, that visual logic programming, used as the engine to drive the parametrised assembly of objects, also provides powerful symbolic problem-solving capability. This allows the designer/programmer to work at a higher level, giving descriptive rather than prescriptive specifications of a design. Hence LSD integrates problem solving, synthesis, and modeling in a single homogeneous programming/design environment. We demonstrate the problem-solving capabilities of LSD using the masterkeying problem.