May preconditions of architectural projects be regarded as cases? - Development of a case-based tool

developed from a proposal of Prof. EZIO ARLATI
Ph.D. Research in Technical Innovation and Architectural Design

Dipartimento di Progettazione, Programmazione e Produzione Edilizia
Facoltà di Architettura Politecnico di Milano
Via Bonardi, 3
20133 Milano - Italia
tel. (-39-2) 2399 - 5125


The paper discusses some problems and positions regarding process control in architecture and some possible solutions offered by knowledge-based systems, in particular with the aid of case-based reasoning techniques. The requirements of an integrated computer-based environment for the control of quality design process are then surveyed as a list of guidelines for future research work.The paper presents some theoretical landmarks identified during the first year of Ph.D. research and an experimental hypothesis aimed at verifying the main assumptions made. A first experimental hypothesis based on the creation of a CBR tool centered on the management of precondiotions as cases is presented. Conclusions include some on-going work showing possible directions for future experimental work.
The experimental work concentrates on the functions of integration, case-based reasoning, information transformation and design process control.

case-based reasoning; computer-aided architectural design; design process control, knowledge-based design; memory-based design


Architectural design has been the object of formalization efforts for several decades, and most authors now converge on its definition as an intentional human activity, characterized by the search of a path leading from a starting state to a goal state. (Colajanni et al. 1991)
Initial CAAD research studies focused on a procedural mechanistic model of the process, based on 'stepwise refinement' (Dahl et al, 1972), which each phase could be subdivided into sub-phases, each independent and consequent to the preceding ones, so that each phase could be tackled separately. This presupposed design activity as a well-defined problem, amenable to algorthmic treatment.
More recent work, also thanks to the use of AI, has emphasized the growing importance of the knowledge base, shifting towards a heuristic conception of design, which de facto becomes a path between increasingly accomplished model thresholds as the involved variables reach a more formalized degree of solution.
For example, the proposal of a prototype refinement paradigm (Gero, 1987, Oxman and Gero, 1988, Gero and Rosenmann, 1990), describes design as based upon a knowledge base in which past experience is condensed in abstract, context independent prototypes, which are progressively refined and contextualized by means of design procedures.
Other authors, such as Smithers, go so far as to refuse an a priori decomposition of the process into sub-phases, considering it a global activity occurring in a contemporary and non-linear evolution of the requirements and design state through continuous reciprocal adaptation. (Smithers et al, 1990, 1991)
What emerges from these and other theoretical approaches is a profoundly modified vision of the design process and of the role the designer holds within the process, probably also due to the growingly complex and ill-defined nature of the design activity as new variables and new contexts keep arising.
Thus, in a context of "turbulent complexity" (Maldonado, 1992), the decision process at the basis of the design activity should abandon all sectorial approaches and be founded upon a design method receiving all variables and items present from the very first heuristic phases of the project, so as to reach a first preliminary solution model.
In such a context, an increasingly central role belongs to those aspects referring to the knowledge-base of design, and in particular to those aspects pertaining to memory. In fact, the importance of the knowledge and memory base in relation to intelligence is now a wholly accepted concept in AI and cognitive psychology. (Kolodner, 1991). A well organized knowledge and memory base is essential for an effective interaction with the environment; the effectiveness grealy depends upon the methods of indexing and retrieval, which are certainly subjective and dynamic. Some authors thus introduce a subtle distinguo between knowledge-based and memory-based processes, considering the latter more adquate to describe the design activity since its main resource is a memory container in continuous growth, modification and adaptation. (De Grassi et al, 1993)
In fact, when takling a new design problem, it is known that we strongly base our search path upon previous experience: we browse in our memory of precedents for a relevant example (or case), recall the solution process, and thus adapt the previous solution procedure to the new situation.
Case-based reasoning is a reasoning paradigm based upon the modelling of memory and experience. It is characterized as a problem-solving approach inferencing from previous solutions which are adapted to current situations. It has proved useful in domains where experience is strong but domain model is weak (Oxman, 1994), which is generally true of design contexts. CBR is constructed on the basis of cognitive models for knowledge formulation and memory organization and it is enacted with a variety of operational tools apt to represent, index, retrieve and modify objects (or cases).
A rich area of cognitive science research has concentrated upon the modelling of memory and the development of representation tools, investigating the types of memory processes involved in design (semantic, episode, conceptual etc.) and the possible representation schemes apt to describe them (scripts, frames comprising objects, slots and methods). The cognitive content of this research area has posed a number of assumptions regarding memory which have been as the cognitive bases of CBR; the implementation of these concepts is clear and rich of possibilities for the CAAD field of research. Cases may be represented by means of schemes such as rules, scripts and frames and a frame language may be seen, amongst other things, as a precursor of object-oriented languages, with all the consequent modularity and efficiency characteristics typical of this technique.
Regarding process modelling, some authors propose flow diagrams illustrating typical reasoning and learning schemes based on cases. Such diagrams are mostly constructed with the following iterative steps: indexing, retrieval, adaptation, test, new indexing and memorization or explanation for failure, correction and testing.
The present research has deliberately not entered into memory process modelling, since at the present state none of these functions will be automated and the emphasis is on the central role of the designer in the process.
In fact, after a first generation of KBS studies utillizing CBR concentrated research efforts into trying to replicate human knowledge, current work is primarily directed at a partnership between the human and machine agent. (Oxman, 1994). Thus, the objectives of such systems are to "enhance human decision making by suggesting alternatives, predicting consequences and pulling together the information that goes into decision making" (Winograd and Flores, 1986). One such case-based system developed in Italy, which has greatly influenced our work, is centered upon a case engine interacting with a rule basse and a case memory and wholly respects the paradigm of designer centrality. (De Grassi et al, 1992).
In this view, CBR is directed at assisting conceptual design with a readily accessible acquisition and retrieval of past experience relevant to the present context. How can this be done?
Both from a cognitive and technological point of view, CBR supplies a reasoning paradigm which may be applied to most subjective, non-procedural and hardly formalizable aspects of design. In fact, when designers derive ideas and temporary solution schemes from past experience, they do so on the basis of different cognitive mechanisms (analogy, etc.) which are arbitrary, subjective and hardly logical. Thus, a case-memory may be described as a case-container in which all connections and their semantics are managed by designers themselves, according to their beliefs and personal standards. The organization of memory is therefore an expression of a designer's mentality.
Moreover, CBR does not presuppose any a priori methodological approach, that is, it allows for bottom-up, top-down or even middle-out strategies. It may be useful both in underconstrained and overconstrained problems.
A case is the basic unit in a CBR system and in literature it is generally consistuted by a design solution, however well-defined. In this paper, an experimental prototype is described, in which a different perspective is utilized and the set of pre-conditions imposed on projects by a designer is used as a memory-base. The general assumption is that, by means of the kind of pre-conditions imposed on projects in different design contexts and phases, a designer builds up a personal memory base highly tailored to specific experience and habits.

The present paper presents early work started in the faculty of Architecture of Milan, pertaining to the first one and a half year of Ph.D. research of three students.
The main goal of the research as a whole is the analysis of the quanta of information required along the design process and the consequent description and representation of the It is in fact necessary to proceed along the phases of the process incorporating from the very beginning all those variables and issues involved, thus considering each step of the process as temporary solution for the specification level reached; in other words as a virtual model of transformed reality representing those parts of the project which have already been explored, and passible of modifications in its configuration, so as to incorporate changes brought by new levels of specification.
Stemming from this general goal, the on-going research work has first of all been devoted to the analysis of the requirements of an integrated environment for the support of quality design incorporating the issues raised. Below are listed some specifications considered an essential background for future experimental work:

open - the environment should be able to continually accept new contributions and operative grounds as well as guarantee storage and reuse of data in the original format and compatibility of formats
adaptable to user's way of working - this means the possibility to incorporate information, functions and programmes required by a designer in a given moment and offer them in the necessary format. This should also be modifiable in time.
integrated - the environment should consist not in one programme but in a system allowing. Such programmes should be operate in full intercommunication, by means of technological tools and should possess a common user interface.
flexible and potentially "omniprogressive" - the system should be extendable and potentially "omniprogressive" (i.e. capable of incapsulating useful functions as new needs emerge, thus following projects along their growth in complexity). In other words, this means envisaging a highly flexible structure, within which it should be possible to choose infinite subsets according to needs. In this way, the environment is capable of describing and accompanying the design process and to endow itself dynamically with programmes and functions as one or more variables emerge or vary. This means that the system connects with new and different programmes during a project's life span, enacting a truly heuristic approach to design.
This should guarantee a high degree of flexibility to the system, eliminating defects and inconveniences deriving from centrally organized, costly and rigid models.
centrality of designer - in no case should the system have the aim of emulating or taking the place of designers, but of aiding and supporting them in those functions in which they most need help. Interaction should best be passive (I warn you that... - open possibilities are... etc.) rather than automatic. If automatic interaction is included, it should always be possible to disactivate it, so as to return the central role to the designer's will.
user friendly interface - the central nucleus which allows free migration between programmes, and communication between designers and system should be as intuitive and user friendly as possible. This both regarding representation and management, considering that designers are generally more familiar with visual rather than verbal messages.
One main issue in the integration of specific tools for the support of design process is the resolution of conflicts. One paradigm which has always guided this research is the central role of the designer in process control - thus, resolution of conflicts will be wholly left in the hands of designers' judgement.
As regards the tools to be integrated in a design environment, modules are needed covering the areas of drafting, simulation, communication, project management, data-bank connection as well as others, allintegrated into a framework allowing free migration amongst programmes.


As a first experimental step in the pursuit of the above described aims, a first prototype, devoted to the functions of verification of pre-conditions and case-based reasoning is presented.
The object of this prototype is that of implementing, even if on a small scale and compatibly with the instruments available in the Computer Technology Laboratory of our Department, the central issues of our research, which may be summarized as follows:
central role of designer in the building process
control of increasingly complex information quanta
continuous updating of qualitative information
constitution of a personalized file of cases
verification of pre-conditions imposed by the designer on the basis of the specific needs of a given project or project phase. Such pre.-conditions may be interchangeable and of different sorts: from technological to legal, cultural etc. so as to guarantee the paradigm of flexibility
The structure of the prototype therefore consists of an environment incorporating the following elements:
an object-oriented, parametric CAAD tool (Archicad for Windows)
a rule-based system for the analysis and verification of pre-conditions (CLIPS)
a filter (in C language) connecting objects present in the CAAD and in the rule-based system.


The implementation of this function of the prototype may be sub-divided into four different phases:

1) Interface with a specific CAAD system

During this first phase, the system, reading the CAAD database, recreates intrinsically the taxonomic structure of all objects costituing a project, analyzing and recovering all object slots (parameters), i.e. transfers all technical and spatial information present in a project. This first phase may be implemented both manually (i.e. the final user inputs data from the programme structure - this is essential if not using an object oriented CAAD), or automatically. In this latter hypothesis, which is present in this prototype, the system itself directly translates information present in the CAAD objects into CLIPS facts, on which rules may operate. This interface module is written in C language and needs to be adapted if other CAAD systems are used, since there is yet no standard amongst CAAD databases.

2) Editing of pre-condictions

On the basis of parameters memorized from CAAD and translated into facts in the CLIPS database, the user may input certain preconditions into the system, that is, to insert rules, which, at the moment are to be formulated in CLIPS language, but later in natural language.
These pre-conditions satisfy the following characteristics:
may be activated, disactivated, changed or erased at any time
may be expressed by means of CLIPS syntax; in future they should be expressed in a sub-language of natural language, or, ideally in natural language
In case pre-conditions are incompatible, the system activates a truth-maintenance system (TMS) operating on facts and rules, which alerts users requesting a conflict resolution before running verification of pre-conditions.

3) Verification of pre-conditions

During any step in the design process, users may ask the system for the control of previously input preconditions. The system will thus respond through screen messages informing on preconditions violated, as well as informing on whether rules have been satisfied and supplies a succinct explanation of its reasoning path up to the moment of arrest. Rule verification may also be operated on-line, that is, after any project modification.
The verification of preconditions may activated globally on the project or on subsystems or even only on single classes of assembled objects.
4)Storage of dinstinct project phases

In any given moment, users have the possibility to store facts and rules, thus creating a planning data-base which may prove extremely useful during the development of other projects.
In particular, starting from a given project, the system may list all pre-conditions pertaining to it, and/or viceversa, starting from a given set of pre-conditions, the system may propose all stored projects or parts of projects satisfying those pre-conditions. Using such a project case memory, the system may also automatically propose all given sets of rules satisfied by a specific project.
Indications for future research

Current research work, starting from the results acquired from this first prototype, is concentrating on further theoretical and experimental expansions.
One on-going experiment is aimed at incorporating in the previous prototype external "poor" information, translating it into quality information supplied to designers exactly when needed and in the degree of definition needed according to design phases.
The operative hypothesis is that of constituting an integrated knowledge-based environment which, according to the growing needs of the project, is able to endow designers with qualitative and suitable information. This is enacted by means of the connection with available, "poor" information sources, which, when needed, extract and transform information into quality data, and subsequently integrate it into the growing project.
Such information sources may be of several kinds: technological, legal, geographical, cultural etc. - i.e. all those multiform areas of knowledge utilized by designers for reference iduring the planning control process.
One hypothesis, currently under realization, is that of integrating existing "poor" information sources such as various types of CD-ROMs (technological, legal, geographical, cultural etc.) into the e
nvironment created with the first prototype, i.e. using Archicad for Windows and CLIPS. CD ROMs are readily available, rapidly evolving and presently of poor quality. The data present in these sources will be translated by a filter module in C language into objects/facts capable of interacting with the precondition verification module and with the case memory.


The implementation of this additional module of the prototype may be sub-divided into two different phases:

1) Interface with specific data-base source

During this first phase, the system creates a bi-unique correspondance between parameters of objects present in the CAAD intrinsic data-base and the parameters of the items present in the external data-base. This may be activated manually by the user or automatically.
For a given object, the system thus suggests both sets of parameters - in this way the user may associate the same information described in two different ways.
This first phase has the aim of enacting a filter module apt to interpret information present in the external data-base (e.g. CD-ROMs etc.), transforming "poor" information into quality information.

2)Updating of CAAD data-base and creation of Case-library

Once phase 1 has been implemented and the system is thus able to decode information present in external data-bases, the user may in any moment use this data to update the current CAAD data-base and the case-library.
The calculation module has the function of updating all parameters present within the project data-base and/or of introducing new objects within it. The aim of this function is that of enriching and personalizing the CAAD data-base, according to the specific needs of a project, one of its parts or according to the preferences of the designer.
This system may be planned so as to work, with limited modifications, in association with any CAAD system and any sort of external data-base source.
Further areas of research include theoretical investigation, in cooperation with the department of psychology, into which steps of the design process to assist with AI functions. Research work in this direction includes hypotheses on distributed models, in particular regarding the position of elements included into an inegrated system as agents, and the possible envisaging of the designer himself as an agent, or super-agent.
Another field of research pursues the analysis on the integration of technical information, trying to achieve a full integration of "poor" information sources and their transformation into quality information sources, capable of ielding the adequate amount of information according to the design step.


Cetica Pier Angelo , L'edilizia di terza generazione,breviario di poetica del progetto nella strategia del costruire, Franco Angeli, Milano, 1993.

Colajanni B., De Grassi M., Di Manzo M. Naticchia B., New Approches to Architectural Design: The use of Artificial Intelligent Tools, pre-print for Edinburgh Symposium, July, 1992

Coyne R.D., Rosenman M.A., Radford A.D., Balachandran M., Gero J.S., Knowledge-based Design Systems, Addison-Wesley, Reading, MA, 1990

Coyne R.D.,Yokozawa M., Computer assistance in designing from precedent, in: "Environment and Planning", vol. 19, 1992

Dahl O. et al., Structured programming, Academic Press, New York, 1972

De Grassi M.,Di Manzo M. et al., The design of buildings as changes to known solutions, a model of reasoner B in the Catsorp system, in: "Proceedings of ECAADE conference", Aarhus, 1989

De Grassi M.,Di Manzo M. et al., ASA - Achitectural Symbolic Assistant, CNR Research Project, Ancona, 1992

Flemming Ulrich, Case-Based Design in SEED System, in: G. Carrara and Y.E. Kalay, "Knowledge-based Computer aided Architectural design", Elsevier, Amsterdam, 1994

Gero J.S., Design Prototypes, a knowledge representation schema for design, AI Magazine, 1990, 11. (4), 26-36

Gero J S, Rosenmann M A, A conceptual Framework for knoledge-besed design, in: "Environmental and Planning" B vol. 19 pp. 31-45 G.B. 1991.

Hayes-Roth F., Rule-based systems, 1985, Comm. of the ACM, 28. 921-932

Johnson-Laird P.N., The Computer and the Mind. An introduction to cognitive science, Collins & Co., London, 1988.

Kalay Yehuda E., Cinque Seminari sul Processo Progettuale, e su come questo puo' essere potenziato dell'uso del calcolatore, proceedings of the workshop, Rome University "La Sapienza", Rome, 1989.

Kolodner J.L., Improving human decision making through case-based decision aiding, AI Magazine, 1991, vol. 12, n.2, 52-68

Maldonado T., Reale e Virtuale, Feltrinelli, Milano 1992.

Oksala T., Design intelligence: Evolutionary and Cognitive Aspects, in: G. Carrara and Y.E. Kalay, "Knowledge-based Computer aided Architectural design", Elsevier, Amsterdam, 1994

Oksala T., Towards intelligence in CAAD by using quality knowledge, in: Gero J.S., "Artificial Intelligence in Design", 1989

Oxman Robert and Gero J.S., Designing by prototype refinement in architecture, in: Gero J.S., "Artificial intelligence in Engineering: design", Elsevier, Amsterdam, 1988

Oxman Robert and Rivka, Type, Precedent, Exemplar, Attribute, Cognitive Structures of Architectural Knowledge, in: G. Carrara and Y.E. Kalay, "Knowledge-based Computer aided Architectural design", Elsevier, Amsterdam, 1994

Pohl Jens, A Distributed Cooperative Model for Architectural Design, in: G. Carrara and Y.E. Kalay, "Knowledge-based Computer aided Architectural design", Elsevier, 1994

Pohl Jens, Myers Leonard, Reqirements for Computer based Design, published paper

Rosenman M.A., Gero J.S., Oxman R.E., What's in a case? The use of case bases, knowledge bases and databases in design, in: "CAAD Futures 1991 - Education Research Application", 1991, Vieweg, Wiesbaden, 285-300

Simon H.A., The sciences of the artificial, MIT Press, Cambridge, 1981

Simon H.A., The structure of ill-structured problems, in: "Development in design methodology", Wiley, New York, 1984

Smithers T. et al., Design is intelligent behaviour, but what's the formalism?, in (AI-EDAM) 4(2), 89-98

Winograd T., Flores F., Understanding Computers and Cognition: A new foundation for design, Ablex publishing Corp., New jersey, 1986