Computational evolution provides a mechanism for searching a space of potential solutions according to a specified fitness function. In design, the search for potential solutions is often interleaved with changes in the specifications of the solution. We have developed a model of design that uses a co-evolutionary process. Specifically, design is modelled as a parallel search for both design requirements and design solutions. Further, we have developed a co-evolutionary process in which the interaction between requirements and solution redefine the current fitness function. The concepts of fitness and convergence in computational evolution do not necessarily have the same meanings in a co-evolutionary process in which the fitness function changes. An additional consideration not present in compu-tational evolution is the interaction between the parallel search spaces. We demonstrate how the design model can be implemented for structural system layout.