| Theory and Practice of Logic Programming (2005), 5:6:601-621 Cambridge University Press Copyright © 2005 Cambridge University Press doi:10.1017/S1471068404002285
Integrating design synthesis and assembly of structured objects in a visual design language
AbstractComputer Aided Design systems provide tools for building and manipulating models of solid objects. Some also provide access to programming languages so that parametrised designs can be expressed. There is a sharp distinction, therefore, between building models, a concrete graphical editing activity, and programming, an abstract, textual, algorithm-construction activity. The recently proposed Language for Structured Design (LSD) was motivated by a desire to combine the design and programming activities in one language. LSD achieves this by extending a visual logic programming language to incorporate the notions of solids and operations on solids. Here we investigate another aspect of the LSD approach, namely, that by using visual logic programming as the engine to drive the parametrised assembly of objects, we also gain the powerful symbolic problem-solving capability that is the forté of logic programming languages. This allows the designer/programmer to work at a higher level, giving declarative specifications of a design in order to obtain the design descriptions. Hence LSD integrates problem solving, design synthesis, and prototype assembly in a single homogeneous programming/design environment. We demonstrate this specification-to-final-assembly capability using the masterkeying problem for designing systems of locks and keys. (Published Online October 31 2005)(Received December 7 2002) (Revised January 12 2004) (Accepted March 19 2004) Key Words: design language; design synthesis; assembly; visual programming; logic programming. |