Design as exploring constraints

A theory of designing is proposed, developed, and illustrated with examples from the domain of physical form. Designing is seen as the exploration of alternative sets of constraints and of the regions of alternative solutions they bound. Designers with different objectives reach different solutions within the same set of constraints, as do designers with the same objectives operating under different constraints. Constraints represent design rules, relations, conventions, and natural laws to be maintained. Some constraints and objectives are given at the outset of a design but many more are adopted along the way. Varying the constraints and the objectives is part of the design process. The theory accounts for various kinds of expertise in designing: knowledge of particular constraints in a design domain; inference--calculating the consequences of design decisions; preference--using objectives to guide decision-making; and partitioning--skill in dividing a large and complicated design into sets of simpler pieces, and understanding the dependencies between decisions. The ability to manage ambiguity and vagueness is an important aspect of design expertise. A computational model supporting the theory is proposed and its implementation discussed briefly. The constraint explorer, a computational environment for designing based on constraint descriptions is described. We see how the constraint explorer might be used in connection with a simple space- planning problem. The problem is taken from the procedures of the Stichting Architecten Research (S.A.R.), a specific architectural design methodology developed to help architects systematically explore layout variability in alternative floorplan designs. Finally, a selected review of related work in constraint-based programming environments, architectural design methods, and the intersection of the two fields is presented.

[1]  Guy L. Steele,et al.  The definition and implementation of a computer programming language based on constraints , 1980 .

[2]  Nicholas Negroponte,et al.  Soft Architecture Machines , 1976 .

[3]  Ronald J. Brachman,et al.  Special issue on knowledge representation , 1980, SGAR.

[4]  Alan Borning,et al.  ThingLab - An Object-Oriented System for Building Simulations Using Constraints , 1977, IJCAI.

[5]  Tom M. Mitchell,et al.  A Knowledge Based Approach to VLSI CAD the Redesign System , 1984, 21st Design Automation Conference Proceedings.

[6]  Charles N. Eastman,et al.  Spatial Synthesis in Computer-Aided Building Design , 1975 .

[7]  Daniel G. Bobrow,et al.  Layered Networks as a Tool for Software Development , 1981, IJCAI.

[8]  Gerald Jay Sussman,et al.  Computer aided evolutionary design for digital integrated systems , 1980 .

[9]  Allen Newell,et al.  A Model for Functional Reasoning in Design , 1971, IJCAI.

[10]  Milos Konopasek,et al.  The Question Answering System on Mathematical Models (QAS): Description of the Language , 1978, Comput. Lang..

[11]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[12]  R. Thomas Hille Understanding and transforming what's there : a look at the formal rule structure of the residential facade zone in Victorian San Francisco , 1982 .

[13]  Daniel G. Bobrow,et al.  On Overview of KRL, a Knowledge Representation Language , 1976, Cogn. Sci..

[14]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[15]  Stephen Wolfram,et al.  Computer Software in Science and Mathematics. , 1984 .

[16]  H. Engel,et al.  The Japanese House: A Tradition for Contemporary Architecture , 1964 .

[17]  Gerald J. Sussman,et al.  Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis , 1976, Artif. Intell..

[18]  Jin Kim,et al.  TALIB: An IC Layout Design Assistant , 1983, AAAI.

[19]  G. Pólya,et al.  How to Solve It. A New Aspect of Mathematical Method. , 1945 .

[20]  A. P. Thijssen,et al.  Variations: The Systematic Design of Supports , 1976 .

[21]  Drew McDermott,et al.  Data Dependencies on Inequalities , 1983, AAAI.

[22]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[23]  John Batali,et al.  The Design Procedure Language Manual , 1980 .

[24]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1964 .

[25]  R. Rosner Computer software , 1978, Nature.

[26]  J. Soukup Circuit layout , 1981, Proceedings of the IEEE.

[27]  Jack Mostow,et al.  Toward Better Models of the Design Process , 1985, AI Mag..

[28]  R. Duda,et al.  Expert Systems Research. , 1983, Science.

[29]  Christopher Alexander Notes on the Synthesis of Form , 1964 .

[30]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[31]  R. R. Fenichel AN ON-LINE SYSTEM FOR ALGEBRAIC MANIPULATION , 1966 .

[32]  Margaret Minsky,et al.  Manipulating simulated objects with real-world gestures using a force and position sensitive screen , 1984, SIGGRAPH.

[33]  Gerald Jay Sussman,et al.  CONSTRAINTS - A Language for Expressing Almost-Hierarchical Descriptions , 1980, Artif. Intell..

[34]  John P. McDermott,et al.  R1: A Rule-Based Configurer of Computer Systems , 1982, Artif. Intell..

[35]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[36]  James Arthur Gosling,et al.  Algebraic constraints , 1983 .

[37]  D. Bobrow,et al.  Representation and Understanding: Studies in Cognitive Science , 1975 .

[38]  George S. Taylor,et al.  Magic's Incremental Design-Rule Checker , 1984, 21st Design Automation Conference Proceedings.

[39]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[40]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[41]  Alfonso Govela "Space and function analysis" : A computer system for the generation of functional layouts in the S.A.R. methodology. , 1977 .

[42]  Charles E. Pfefferkorn,et al.  The design problem solver: a system for designing equipment or furniture layout , 1972 .

[43]  Edward H. Shortliffe,et al.  Computer-based medical consultations, MYCIN , 1976 .

[44]  Terry Winograd,et al.  Breaking the complexity barrier again , 1973, SIGPLAN '73.

[45]  Eric Teicholz Computer-aided architectural design , 1977, DAC '77.

[46]  Alan Borning,et al.  ThingLab: a constraint-oriented simulation laboratory , 1979 .

[47]  John Alan Roach The Rectangle Placement Language , 1984, 21st Design Automation Conference Proceedings.

[48]  Gerald J. Sussman,et al.  A Computational Model of Skill Acquisition , 1973 .

[49]  Scott E. Fahlman,et al.  NETL: A System for Representing and Using Real-World Knowledge , 1979, CL.