Abstract
Most models of computer programming explain the programmer's behaviour by a single design strategy. This article presents a cognitive architecture that uses cue‐based search to model multiple design strategies including procedural, functional, means‐end or focal, and opportunistic design. The model has been implemented in an artificial intelligence (AI) system that generates Pascal programs from English specifications.Knowledge is represented as nodes that reside in internal or external memory, where a node encodes an action that may range from a line of code to a routine in size. A program is built by linking nodes through a search cue of the form. The cue is broadcast to memory, and any matching node is returned; the cue provides a question to ask, and the return provides the answer. A cue on the newly linked node is then selected as a new focus, and the search process repeated. Each design strategy defines a specific node visiting order that traverses the program structure through its links.