Environment and Planning B: Planning and Design, 1992, volume 19, pages 243-266 Reasoning about spatial constraints K B Yoon, R D Coyne Design Computing Unit, Department of Architectural and Design Science, University of Sydney, Sydney, NSW 2006, Australia Received 17 July 1990; in revised form 1 May 1991 Abstract. In this paper the issue of reasoning about constraints is addressed. A design is derived through the direct manipulation of constraints which narrow down the design space, and through the use of generative mechanisms within the design space. A computer system is described that enables knowledge about spatial constraints to be represented and made operable. The domain under consideration is that of space planning. 1 Introduction In this paper, design is perceived as involving a progression from a set of requirements to the description of an artifact. It will be shown how this progression can be facilitated in a computer by the explicit representation of knowledge for manipulating design requirements. This kind of knowledge will be considered in isolation, bearing in mind that this is only part of the picture. Design requirements are generally ill-specified, they may be contradictory, and it is often the case that an understanding of the requirements emerges as the design proceeds. It will be argued that the representation of knowledge pertaining to constraints is a step towards understanding and modelling these complex aspects of design reasoning. 1.1 Producing designs It is helpful to distinguish between two major computer-based strategies for producing designs. These approaches have been characterised elsewhere (Coyne et al, 1990) as generation and abduction. The generative approach involves the use of knowledge, perhaps in the form of grammar rules (Stiny, 1980) or generative algorithms, for producing a space of designs conforming to a language. This language determines how elements are combined to produce the form of an artifact. At a very simple level, the generative approach provides a convenient basis for understanding the exploratory aspects of design. However, the generative approach needs to be combined with mechanisms for evaluation and directed search. As designs or partial designs are produced, they are interpreted and evaluated to see how they conform to the design requirements. The results of such evaluations may be used to direct the search in some way. In the abductive approach, use is made of knowledge to reason directly from design requirements. There are two major ways to achieve this. The first is to exploit the mappings between requirements and design descriptions. A general example of such a mapping is the rule: if the requirements are X, then the design should be configured Y. The precondition of the rule is a requirement and the consequent is a partial design or solution (part of a design description). A more specific example of a rule of this kind is: if the floor area should be as small as possible, then arrange the rooms within a square plan. Rules such as these are derived from the kind of knowledge designers might use (or say they use) to reason from a design description to its performance, that is, knowledge that pertains to how designs are interpreted. The rule with which we may reason interpretatively is: if a plan is square, then it has the smallest area possible for a rectilinear layout.