FORLOG : A Logic-based Architecture for Design

It is difficult to build intelligent computer-aided design (ICAD) programs using available expert system shells and AI programming languages. To build ICAD programs, tools are needed that support (a) generative search of design spaces, (b) deep search of design spaces to evaluate alternative designs, (c) simultaneous exploration of alternative designs to compare designs, (d) constraint posting and propagation, (e) knowledge-based control of inference, and (f) the representation of complex mechanical and electronic devices. Existing shells and programming languages either do not support these activities or provide only ad hoc and inefficient supporting mechanisms. We have constructed a logic programming system called FORLOG (FORward-chaining LOGic Programming) that provides well-integrated support for all of these activities. This paper presents the architecture of FORLOG and provides some simple examples of how FORLOG can be applied to constructing ICAD systems.