The Structure of Pattern Languages
Nikos A. Salingaros
Department of Mathematics
University of Texas at San Antonio
San Antonio, TX 78249, USA
Published in arq -- Architectural Research Quarterly volume 4 (2000) pages 149-161. © Cambridge University Press; posted by permission. The journal version includes additional diagrams of Alexandrine patterns for urban interfaces taken from A Pattern Language, which are not shown here. Reprinted as Chapter 8 of PRINCIPLES OF URBAN STRUCTURE, Techne Press, Amsterdam, Holland (June 2005).
Abstract. Pattern languages help us to tackle the complexity of a wide variety of systems ranging from computer software, to buildings and cities. Each "pattern" represents a rule governing one working piece of a complex system, and the application of pattern languages can be done systematically. Design that wishes to connect to human beings needs the information contained in a pattern language. This paper describes how to validate existing pattern languages, how to develop them, and how they evolve. The connective geometry of urban interfaces is derived from the architectural patterns of Christopher Alexander.
- What is a pattern?
- Combining Alexandrine patterns
- The connective geometry of urban interfaces
- Reversing the order of the patterns
- Validation of the patterns
- Patterns and science
- The nature of a pattern language
- Hierarchical connections across scales
- Finding patterns for new disciplines
- Consistency and connectivity
- Stylistic rules and the replication of viruses
- Evolution and repair of pattern languages
- The importance of detail
We observe the world around us and learn its structure by abstracting cause and effect, and by documenting recurring solutions obtained under different conditions. Such empirical rules, representing regularities of behavior, are called "patterns." Visual patterns are the simplest expression of the pattern concept (Salingaros, 1999). Many patterns are hard-wired into our mind: we inherit actions and reactions that guarantee our survival. Other patterns have to be learned, and form an artificial extension of the human mind. The ability to observe patterns gives us the human advantage of both adapting to, and changing our environment. Of course, the complexity enveloping a pattern in each specific setting has to be partially cleared so as to get at its basic mechanism.
The language of a group of patterns forms the groundwork for any discipline. Learned pattern languages -- not intrinsic to the human mind -- were carefully preserved in the past. Many patterns of human relations are codified into religions, myths, and literary epics. A collective intelligence develops from pooling discoveries accumulated over generations. This process is entirely general. The sciences rely on mathematics for the ability to organize data and explain phenomena by means of regularities, or logical patterns (Steen, 1988). Breakthroughs occur when patterns in one area link to patterns in other areas.
This paper discusses the language that links patterns together. A pattern language contains useful connective information that helps both to validate the patterns, and to apply them. We are going to cast the structure of a pattern language in terms of the properties of pattern combinations. Such an approach reveals the ordering of patterns in space, time, and human dimensions. I will assume readers have a minimal familiarity with the architectural patterns of Christopher Alexander as published in A Pattern Language (Alexander, Ishikawa et al., 1977). Although introduced into architecture more than twenty years ago, their true significance has been appreciated by only a few practitioners. Patterns are a powerful tool for controlling complex processes, but because of misunderstandings, they have not played a wide role in architectural design. Instead, patterns have found unexpected success in computer science.
The audience for this paper is anyone interested in connecting their designs to human beings. We will show that this cannot be done without incorporating patterns. After describing in general terms what patterns are, and the ways they can combine, I will discuss the relationship between patterns and science. Graph theory visually illustrates some key aspects of pattern languages: how patterns combine to form higher-level patterns containing new information; how linked patterns exist on different levels; how to find patterns in a new language; and how a pattern language is validated through its connective structure independently of each individual pattern's validity. A major concern is how a pattern language is damaged through the imposition of arbitrary stylistic rules and anti-patterns, which are often mistaken for patterns. All too often, people have tried to change a society by changing its architectural pattern language. An application to the geometry of urban interfaces is given from the patterns approach.
What is a pattern?
In A Pattern Language, Alexander and his colleagues extracted 253 solutions or design "patterns" that recur in architecture, such as the need for SMALL PARKING LOTS (#103), or SIX-FOOT BALCONY -- the minimum depth that makes it useful -- (#167) (Alexander, Ishikawa et al., 1977). They argued that built designs violating the derived patterns were noticeably less successful than those that followed them. The Alexandrine format fixing a pattern consists of a statement summarizing the philosophy about a specific topic (i.e., for SMALL PARKING LOTS): "Vast parking lots wreck the land for people."
They follow the pattern statement by an explanation that supports the pattern: statistical data; a scientific analysis; discovering the simultaneous occurrence of this pattern in totally different cultures; psychological, structural, or cultural reasons; etc. For example, the discussion following the above pattern includes: "... the fabric of society is threatened by the mere existence of cars, if areas for parked cars take up more than 9 or 10% of the land in a community. ... tiny parking lots are far better for the environment than the large ones, even when their total areas are the same. ... Large parking lots, suited for the cars, have all the wrong properties for people."
A pattern ends with some sort of prescription in practical terms, to help incorporate the pattern into an actual design. For example: "Make parking lots small, serving no more than 5 to 7 cars, each lot surrounded by garden walls, hedges, fences, slopes, and trees, so that from outside the cars are almost invisible. ..."
Many criticisms of Alexander's Pattern Language are valid to some degree -- that it reflects the philosophy of the 1960's, that it is too radical and not easily incorporated into contemporary design and planning, that it ignores almost all of what is considered important architecture in the twentieth century -- but these are trivial compared with the important message it offers. This paper will attempt to show that any design that ignores patterns can never hope to connect to human beings.
Combining Alexandrine patterns
You can combine design patterns in an infinite number of ways. However, the connective rules -- i.e., the language -- were only briefly sketched out. To obtain an understanding of the relationship between patterns, you have to go back to Alexander's earlier work (Alexander, 1964; Alexander, 1965). Other than Chapter 16 of The Timeless Way of Building (Alexander, 1979), Alexander himself has not dwelled on the synthesis between patterns. Any perceived weakness of patterns could lie in individual patterns, but it is more likely the result of not understanding their combinatorial language. Although design patterns written in Alexandrine form allude to their connectivity to other patterns (in the prelude and postscript), it is difficult to visualize those without a connective map. Even architects who use patterns tend to be unaware of how patterns link to each other, so the resulting design frequently lacks large-scale coherence.
In an entirely unanticipated development, the Pattern Language format has found a basic application in computer programming. Any programming solution that reappears in separate instances may be identified as a "pattern," and be subsequently reused as a unit. Patterns are now recognized as a powerful theoretical framework in which to assemble complex computer programs (Coplien and Schmidt, 1995; Gabriel, 1996; Gamma, Helm et al., 1995). The proponents of software patterns believe that patterns can help to solve a wide range of practical problems that would otherwise be too cumbersome or time-consuming.
To give readers a better sense of what is meant by patterns connecting to each other, we list some examples of coupling.
- One pattern contains or generalizes another smaller-scale pattern.
- Two patterns are complementary and one needs the other for completeness.
- Two patterns solve different problems that overlap and coexist on the same level.
- Two patterns solve the same problem in alternative, equally valid ways.
- Distinct patterns share a similar structure, thus implying a higher-level connection.
With connective rules, two different aspects of a pattern come into play. On one hand, a pattern's internal components will determine its inclusion into a larger pattern. On the other hand, it is the interface that determines overlap, or connection on the same level. Two patterns on the same level may either compete, loosely coexist, or necessarily complement of each other.
One criticism of Alexandrine patterns arises from their clash with existing economic practice and construction process. The Pattern Language extends from the scale of surface detail, to the scale of a large city, and covers Alexander's ideas on how to best implement a more human built environment (Alexander, Ishikawa et al., 1977). Some of the urban patterns flatly contradict land speculation and the erection of megatowers, while the building patterns make obvious the need for more structural quality than today's contractors are used to providing. Both of these points threaten a profit source in the construction industry. While it is not yet clear how to reconcile those differences, Alexander's critics find in this an excuse to dismiss all of the Pattern Language as impractical and unrealistic (Dovey, 1990). That is very short-sighted.
A more serious concern comes from practitioners who attempt to apply Alexandrine patterns to shape the built environment. The Pattern Language is not, and was never claimed to be a design method and it is always a struggle to integrate patterns into an actual design project. Architects, however, desperately need a self-contained design method, and, not finding it in Alexander's theories, will adopt whatever design method is currently in fashion. The tools that Alexander is proposing are thereby bypassed, appearing useful only in retrospective analysis, which also explains the Pattern Language's relative lack of impact. Design is tremendously hard work, and I would like to help show how to utilize patterns in practice.
A set of connected patterns provides a framework upon which any design can be anchored. The patterns do not determine the design. By imposing constraints, they eliminate a large number of possibilities while still allowing an infinite number of possible designs. The narrowing of possibilities is, after all, an essential part of a practical design method. In this case, the remaining choices are precisely those that connect to human beings either visually, emotionally, functionally, or by facilitating their interactions and activities. People have fundamental physical and emotional needs that should be satisfied by the built environment, though most of them are neglected nowadays. Architectural design that accommodates -- or, better still, enhances -- a framework of Alexandrine patterns will be felt as more "natural" than one which doesn't.
The connective geometry of urban interfaces
In a living city, boundaries define and connect different regions, and encourage many human processes that make the city successful. Whether these functions take place is largely a consequence of the geometry of the urban boundaries: it has to be both crinkly and permeable. (In mathematical terms, it is accurate to call such a line a "fractal," since it is neither continuous, nor perfectly smooth). The needed information for this already exists in several Alexandrine patterns, which combine to give a definite urban geometry very different from that found in contemporary cities.
In practice, it is very cumbersome to work from a complete catalogue of discovered patterns to create a product. A simplified connective list can drastically improve the utility of any pattern language. A procedure for generating such a map is based on the conceptual "chunking" of information (Miller, 1956). The goal is to cluster patterns into groups of about five or fewer on each level of scale. Suppose one needs to design something using available patterns; pick those that are most relevant to the problem at hand, then choose not more than about a dozen related patterns from an existing patterns catalogue. Identify a vertical dimension (e.g., time, space, or group size) appropriate to the process that generates the end product, and study how the generative process develops as one moves up the levels of scale.
Once you assemble a group of patterns from a patterns catalogue, you can go back and develop others for related processes, which will include patterns left out in the initial round. Pattern groups for different results should be separate, and not confuse each other's clarity. In the case of urban interfaces, several patterns are directly relevant. I have listed them here, numbered as in the Pattern Language (Alexander, Ishikawa et al., 1977).
13. SUBCULTURE BOUNDARY
15. NEIGHBORHOOD BOUNDARY
42. INDUSTRIAL RIBBON
53. MAIN GATEWAYS
108. CONNECTED BUILDINGS
121. PATH SHAPE
122. BUILDING FRONTS
124. ACTIVITY POCKETS
160. BUILDING EDGE
165. OPENING TO THE STREET
166. GALLERY SURROUND
These dozen patterns serve as an empirical foundation for a geometry of urban interfaces.
Reversing the order of the patterns
Alexander numbered the patterns according to decreasing size, yet I will reverse the order in the above list for our discussion. GALLERY SURROUND proposes that people should be able to walk through a connecting zone such as a balcony to feel connected to the outside world. OPENING TO THE STREET is the corollary: people on a sidewalk should feel connected to functions inside a building, made possible by direct openings. BUILDING EDGE should be such as to encourage life, creating pedestrian nodes and the necessarily crinkly, crenelated geometry that they require. ACTIVITY POCKETS reveal that any public space is successful only if its edge contains and accommodates successful pedestrian nodes. BUILDING FRONTS define the life at the built edge of a street, while uniform set-backs "almost always destroy the value of the open areas between the buildings." PATH SHAPE requires pedestrian nodes along a path, and these will deform any straight edges into a more fractal form. ARCADES connect the inside of buildings with the world outside via an intermediate partially-enclosed space; without them, the transition is too abrupt.
CONNECTED BUILDINGS create both a boundary and a path along it, which is destroyed by having intermediate space between the buildings. MAIN GATEWAYS give significance -- by defining access -- to what would otherwise be a useless space between buildings. INDUSTRIAL RIBBON functions as one possible way to create a wide boundary for separating regions containing other types of buildings. Finally, the two patterns NEIGHBORHOOD BOUNDARY and SUBCULTURE BOUNDARY stress the necessity of containment in a living city, and show how one zone can destroy an adjoining zone if the appropriate boundaries are absent. Together, the above patterns combine to create the picture of a living city that depends in large part on its convoluted, permeable interfaces. The information gathered by Alexander and his colleagues in putting together the Pattern Language offers a conception of the urban fabric as a highly connected structure, whose subdivisions are defined by complex boundaries.
Some critics may wish to dismiss the first group of patterns as relevant only to a pedestrian city, which in their estimation, no longer exists. Quite the opposite is true. The discussion of this paper makes it clear that, since human beings are anatomically geared for walking as their principal mode of transport, these patterns are timeless and relevant even if their domain is restricted in today's car-dominated urban landscape. They still apply wherever we walk, whether it be in parking lots, along storefronts, suburban sidewalks, or indoor shopping malls. Decades of suppression by patterns for the automobile network has erased most pedestrian patterns (Newman and Kenworthy, 1999). Whenever there is an architectural opportunity, however, these patterns reemerge spontaneously to create a living interface.
Validation of the patterns
Alexander presents the Pattern Language as a practical tool, and orders the patterns in roughly decreasing size. That is the correct ordering when one is using them for design, since decisions on the largest scale have to be made first. Nevertheless, that presupposes that the patterns are understood to be true in a fundamental sense. The problem is that mainstream architecture never entirely accepted Alexandrine patterns; it was the more sensitive and spiritual fringe movements that did. In order to validate the above patterns, they have to be read in the opposite order: small to large. The human mind can combine the smaller patterns into groups; the larger patterns utilize these groupings and also generate new properties that are not present in the component patterns. The mind is capable of validating the patterns subconsciously when we read the patterns in an evolving (small-to-large) order.
Even now, more than twenty years after its publication, the fundamental significance of the Pattern Language is hardly appreciated. Many people still think of it as a catalogue of personal preferences, which is a total misconception (Dovey, 1990). Even those who realize that each pattern is established either though empirical observation, or by scientific reasoning, often fail to see its inevitability. I recommend, though, that you photocopy the relevant patterns from A Pattern Language (Alexander, Ishikawa et al., 1977), and staple them together in the reversed order. Reading them without the distractions of all other patterns helps to connect them in the reader's mind, and the natural progression small to large reveals the connections between successively larger scales. Doing this leads to the conclusion that the type of urban boundary described is not simply our suggestion, but is necessary for a living city.
Quite separate from the internal validation offered by their ability to combine, what demonstrates the patterns' inevitability is their connection to fundamental patterns of human behavior and movement. Many human functions and interactions are facilitated by the proposed urban geometry, and we could graphically link behavioral patterns to these architectural patterns directly. In most instances, this connection is revealed as an intuition that the patterns for urban boundaries "feel right." Alexander based much of the validation for the Pattern Language on this intuitive assessment (Chapter 15 of The Timeless Way of Building (Alexander, 1979)), which was dismissed as unscientific. But a graphic and theoretical basis underlies this.
The smaller the scale on which a pattern acts, the more immediately it connects to human beings. Architectural patterns on the human range of scales 1cm - 1m create a visceral response because we can experience them with most of our senses. Larger patterns that cannot be touched or felt require synthesis and recognition; they become more intellectual. People who have not experienced them in person (in some region of the world where they still exist) can rarely imagine their emotional impact. This is the reason why the sequence small-to-large works in a validation process: it brings in the strongest personal connection at the beginning, and successive patterns build upon an intuitively accepted base.
Patterns and science
In the remainder of this paper, I will discuss patterns in very general terms, with the intention of demonstrating their inevitability. A pattern is a discovered solution that has been tested for some time, and under varying conditions. For architectural and urban patterns, the time-frame can be several millennia. A pattern is not usually invented, so creativity is subordinated here to scientific inquiry and observation. Although you can find novel ways to combine and relate patterns, creativity is reserved for the products arising from an application of the pattern language, not the process. Since patterns are derived empirically from observations, they differ from scientific theory, which derives solutions starting from first principles. Nevertheless, discovered patterns provide a phenomenological foundation out of which scientific theories can grow. Once established, those theories explain why some patterns work.
Sometimes, a pattern may arise as an informed conjecture. It has to survive the intense criticism and scrutiny that are part of the scientific method of validation. Although patterns are prescientific, they are in fact much broader than science. A pattern may be the intersection of separate scientific mechanisms. Many patterns do not yet have a scientific explanation; for others that do, the explanations may be bulky and convoluted compared to the simplicity of the pattern itself. Medicine, pharmacology, and psychology are based at least partially on pattern languages, while their phenomenological foundation is slowly being replaced by a biological/chemical basis. Morphological and scaling rules that apply broadly across many different disciplines (West and Deering, 1995) are patterns that are useful independently of the particular mechanisms that generate the observed phenomena.
Unfortunately, architecture as a discipline currently has no means of validating an architectural pattern, so the basic mechanism for pattern formation doesn't exist. Architects who are not also trained in the scientific method will not distinguish between a design method or procedure that gives successful results and one that fails; the validation process that should follow any proposed solution does not form part of architectural education (Stringer, 1975). The reasons why some buildings fail -- in the sense of being unpleasant and difficult to use -- are never seriously examined. Consequently, design mistakes tend to be repeated indefinitely.
A philosophical reversal presents an even more serious impediment to the use of architectural patterns. Architecture has changed in this century from being a trade serving humanity with comfortable and useful structures, to an art that serves primarily as a vehicle for self-expression for the architect. In the current architectural paradigm, the emotional and physical comfort of the user are of only minor importance. Architects resist using the Pattern Language because they erroneously believe it hinders artistic freedom. Declaring that they wish to express their creativity freely, they nevertheless force themselves to work within irrelevant stylistic constraints. Contemporary architecture has become self-referential, validated only by how well it conforms to some currently accepted style, and not by any objective external or scientific criteria (Stringer, 1975).
The nature of a pattern language
In practice, pattern languages arise from two very different needs: (a) as a way of understanding, and possibly controlling, a complex system; (b) as necessary design tools with which to build something that is functionally and structurally coherent. To visualize patterns and their interconnections, we use a graph representation. Patterns may be identified with nodes in a graph, and the graph is connected by edges of different lengths (Figure 1). A pattern is an encapsulation of forces; a general solution to a problem. The "language" combines the nodes together into an organizational framework. A loose collection of patterns is not a system, because it lacks connections.
Figure 1. Individual patterns group to form six higher-level patterns having additional properties.
The rules by which the patterns (nodes) connect are just as important as the patterns themselves. Words without connection rules cannot make up a language. A coherent combination of patterns will form a new, higher-level pattern that possesses additional properties (Figure 2). Not only does each original pattern work in combination as well as it did individually, but the whole contains organizational information that is not present in any of its constituent patterns. A higher-level pattern cannot be predicted from the lower-level patterns alone. Sticking patterns together without proper ordering will not provide an overall coherence. Each component might work individually, but the whole does not work, precisely because it is not a whole.
Figure 2. Further connections organize the patterns in Figure 1 into a pattern on the next higher level. New properties of the whole correspond to new symmetries.
A pattern language is more than just a patterns catalogue. Individual patterns are easier to describe than their language, yet a catalogue is only a dictionary. It does not give a script; it has no rules for flow, internal connections, or ordered substructures. A patterns catalogue lacks the essential validation that comes from recognizing the combinatorial properties in the language. Some patterns will require other complementary patterns for completeness, and the allowed combinations are usually infinite. A language tells you which of them can be combined, and in what manner, in order to create a higher-level pattern. Drawing an analogy with biological systems, the system works because of the connections between subsystems (Passioura, 1979).
Hierarchical connections across scales
Every complex system has a hierarchical structure; i.e., different processes are occurring on different scales or levels. Connections exist both on the same levels, and across levels (Mesarovic, Macko et al., 1970). The same is true for a pattern language. The "language" generates a connective network by which the ordering of nodes on one level creates nodes at a higher level. This process goes on all the way up, and all the way down in levels (Figure 3). The cohesive framework provided by the language enables the upward transition to all the higher levels. We can better understand a language if it has organization at different levels, because each level is shielded from the complexity in all the other levels.
Figure 3. Hierarchical connections show how patterns on higher levels depend on those on lower levels.
A pattern language does not have a strictly modular rule structure -- as would be the case if the language were defined by only a few basic units -- but adds new rules as the scales grow. Higher levels in a system are dependent on all lower levels, but not vice-versa (Passioura, 1979). Even though disconnected lower-level patterns can work without necessarily forming a higher-level pattern, such a system is not cohesive, because it exists on only one level. Each level in a complex hierarchical system is supported by the properties of the next-lower level. The combination of patterns acting on a smaller level of scale acquires new and unexpected properties not present in the constituent patterns, and these are expressed in a higher-level pattern (Figure 4). Patterns on higher levels are therefore necessary because they incorporate new information.
Figure 4. Patterns on one level combine to help define a new pattern on a higher level.
Many failures in describing a complex system are due to not allowing for enough levels. A gap between levels disconnects the pattern language, since the patterns on different levels are then too far apart to be related (Figure 5). We tend to fall into this trap because of non-hierarchical thinking. Some urban patterns work on the scale of 100m and contain architectural patterns that work on the scale of 1m, but what about the patterns on all the intermediate scales? An even more serious problem is the widespread association of importance with size in our culture. Working within that mind set, it is very easy to concentrate only on the large-scale patterns (or anti-patterns), and ignore those on lower levels. That makes it impossible to validate patterns through their vertical connections, which are illustrated in Figures 3 and 4.
Figure 5. Two groups of patterns are too far apart in scale to connect effectively.
One of the principal methods of validating a pattern language is that every pattern be connected vertically to patterns on both higher and lower levels. Damage to a pattern language can be understood visually, by crossing out any single pattern in Figure 3. This will remove the coordination of all the linked patterns below it; moreover, if a vertical relation is one of inclusion, then obviously those patterns below are also eliminated. In addition, all linked patterns above the crossed pattern are automatically eliminated. Therefore, removing one pattern without understanding its connections damages a significant portion of the pattern language because it also removes at least one vertical chain of patterns.
It is necessary to address a misunderstanding that identifies any multi-level structure with an inverted tree-like hierarchical ordering. In a tree, everything is ordered from a single node above, and nodes on the same level do not link directly. Although some authors use this terminology, that is not what is meant here. Figure 3 shows that the hierarchy we propose for pattern languages is not an inverted tree, because it has multiple tops and horizontal connections; i.e., several times more connections than a tree has. A hierarchical inverted tree structure is too restrictive, since all communication has to pass through higher-level nodes. Inverted tree-like hierarchies are associated with systems that exert top-down control (Alexander, 1965).
Finding patterns for new disciplines
A new discipline needs to abstract its patterns as they appear. It is building its own foundation and logical skeleton, upon which future growth can be supported. Knowing its basic patterns early on will speed up the language's development, and guide it in the right direction. You may obtain insight into a new field lacking a pattern language by studying patterns from established disciplines. A universal high-level structure is inherent in all pattern languages. The solution space, which is distinct from the parameter space, is rarely one-dimensional, which means that knowing what doesn't work cannot give what works simply by doing the opposite. There may be an infinity of different opposites. One needs to exhaust the solution space by identifying many neighboring anti-patterns before zeroing in on the pattern itself.
Here we need to warn against the destructive tendency in our times of judging patterns prematurely using strict criteria such as efficiency, cost reduction, and streamlining. It is not that these are inappropriate criteria, but rather that they tend to ignore the linkage between patterns. In other words, patterns in a pattern language depend on each other in a complex manner, and a hasty culling of what are erroneously deemed "superfluous" patterns may damage the cohesion of the language. Many fundamental patterns have been discarded in the false interest of economy, without realizing that they are essential to a system's coherence and overall performance. The long-term consequences of this are negative, and significant. You may attempt to streamline a process after its complexity is well understood, but not before. Promising new patterns, and time-honored old ones, have been ruthlessly scrapped by short-sighted thinking, borne out of the belief that complex systems have to conform to some sort of "minimalist design." This comes from a superficial understanding of how a system works.
The most elegant complex systems are nearly (but not perfectly) ordered. Having to accommodate patterns on the smaller and intermediate scales -- indeed, actually growing out of them -- the larger-scale patterns cannot be perfect in the sense of being pure or too simple. Good design avoids unnecessary complication. It is balanced between arising out of loosely organized small-scale patterns, which could lead to somewhat random forms or processes, and patterns which might pay too much attention to the large scale. Going too far in either extreme damages the coherence (and therefore the efficiency) of the system.
The general ideas offered here prove useful in extending urban patterns to the electronic city. The notion of an "intelligent environment" defines the urban connectivity of the new millennium. On top of the existing path structure governed by Alexandrine patterns (Salingaros, 1998), we need to develop rules for electronic connectivity (Droege, 1997; Graham and Marvin, 1996). To define a coherent, working urban fabric, the pattern language of electronic connections (which is only now being developed) must tie in seamlessly to the language for physical connections. Already, some authors misleadingly declare that the city is made redundant by electronic connectivity. Such opinions ignore new observed patterns, which correlate electronic nodes to physical nodes in the pedestrian urban fabric. The two pattern languages will most likely complement and reinforce each other.
Consistency and connectivity
Of the two criteria: (a) internal consistency, and (b) external connectivity, the second is by far the more important. A system's complexity -- the extent of which may not be known for some time, if ever -- can prevent a new pattern language from having a smooth internal structure. It is essential, however, that any pattern language link to existing languages at its boundaries (Figure 6). For example, a building that is internally inconsistent would be unusable. Once a building has achieved a minimum degree of internal consistency, however, external connectivity with other patterns becomes more important. The point is to avoid the isolation of pathological systems, which then survive because they are not subject to interactive checks and balances.
Figure 6. The enclosed pattern candidates are internally consistent but fundamentally flawed, because they fail to connect to external patterns.
It is possible to define a set of anti-patterns that "clean up" complexity by imposing rigid, one-dimensional ideas. Such a language could itself be perfectly consistent internally, but it cannot coexist with other pattern languages that respect complexity. The best example comes from government. Fascism and totalitarianism clean up the messiness of human society, but clash with our most deeply-held patterns of human values. In the same way, any organizational pattern language that attempts to create a positive work environment will necessarily connect with and provide a transition to Alexander's architectural pattern language, which determines built form on all levels of scale (Alexander, Ishikawa et al., 1977).
The architectural pattern SIX-FOOT BALCONY helps to illustrate connectivity (Alexander, Ishikawa et al., 1977). Many social patterns of family life, such as sitting around a table; eating a meal; children playing with toys on the floor; growing plants in large pots; outdoor cooking on a charcoal grill; etc., can occur on a balcony only if it is at least six feet (2m) deep. When a balcony is made too narrow so as to follow some arbitrary design canon or simply to be cheap (which satisfies internally consistent criteria), it fails to connect to the above social patterns. Connection here means accommodation and inclusion among patterns belonging to two different languages. Mathematical isolation, as in Figure 6, guarantees the physical isolation of the balcony from potential users.
We don't appreciate how completely architectural patterns connect to social patterns; the former make up a significant part of the traditional culture in any society. Losing them irreparably damages the way a society functions, because architectural patterns help to define all the higher-level social patterns (Figure 7). Especially among the rural poor, tradition is the only way of safeguarding their culture. Tradition embodies solutions evolved over countless generations, so design patterns are connected with and have become part of a way of life. This point has been stressed by Alexander (Alexander, 1979), and is very eloquently argued by Hassan Fathy (Fathy, 1973) (pp. 24-27). Sensitive architects pay attention so that their designs accommodate and nurture social patterns.
Figure 7. Architectural patterns that pair with social patterns (solid) further combine to create a socio-architectural pattern on a higher level.
Sometimes, a pattern might have an unwanted secondary characteristic; the same way an inherited trait in an organism may be essential for survival, but have a mildly negative side-effect. The same pattern is expressed as two different features. Attempting to remove the secondary, unwanted feature (for example, getting rid of every architectural element or social pattern that "spoils" an overall perfect symmetry) without realizing what it connects to can destroy the entire language. By condemning secondary features of human patterns because they are not consistent with arbitrary ideas of style, or because of some antisocial aversion, architects have succeeded in eliminating traditional pattern languages around the world.
Stylistic rules and the replication of viruses
During a time of crisis, or in the desire to be totally innovative, established disciplines sometimes willingly replace their pattern languages by stylistic rules. Those are entirely arbitrary, however, coming either from fashion or dogma (someone in authority pronounces a rule that is never questioned), or they refer to a very specific situation that does not apply broadly. Stylistic rules are incompatible with complex patterns such as the one shown in Figure 7. The mechanism by which stylistic rules propagate bears essential similarities to the replication of viruses. A stylistic rule is usually given as a template, and proponents are required to replicate it in the environment. Its success is measured not by how well it serves any human activity, but rather by how many copies are produced.
Stylistic rules frequently have no connection to human needs: they are just images with a superficial symbolic content. While some are benign, many are pathological. An information code for built form -- for example, "flat, smooth, continuous walls at street level" -- enters the mind of a designer either through teaching, or from seeing built examples. Otherwise intelligent people are easily seduced by simplistic ideas in a design method, which is easy to apply because it eliminates or suppresses natural complexity. That individual then becomes an agent for replicating the virus. Every time this code is replicated, it destroys human connections in that region of the city; the result is obvious because this particular virus undoes all the patterns for connective urban interfaces discussed previously.
By contrast, a pattern is not dictated or forced, but arises out of use, and is accepted on its benefits. It facilitates human life and interactions, and has to continually stand up to tests of its efficacy in this respect. An essential difference is that, because of its underlying forces, no architectural pattern can be represented as a simple visual image. A pattern solves a complex problem; it is not a template to be mindlessly copied. It is far easier to reproduce a visual template than to solve a fundamental design problem, however, because the former requires no reasoned thought; only intuitive matching. The intellect does not need to work, and the designer can withdraw from the responsibility of making difficult decisions about the complex interactions between built forms and human activities. Partly as a result of this shift, architectural design is now heavily oriented towards visual templates defined by design style.
Many stylistic rules are anti-patterns: they are neither accidental, nor the simple preferences of an individual. They intentionally do the opposite of some traditional pattern for the sake of novelty. By masquerading as "new" patterns, they misuse a pattern language's natural process of repair to destroy it. Patterns work via cooperation to build up complex wholes that coexist and compete in some dynamic balance. By contrast, stylistic rules tend to be rigid and unaccommodating. Their replication in many cases fixes the geometry of built form so as to exclude human patterns. Any single stylistic rule is capable of suppressing an entire chain of linked patterns on many different scales (Figure 3). A destructive stylistic rule, like a virus, is an informational code that dissolves the complexity of living systems.
Today's architects are trained to use a limited vocabulary of simple forms, materials, and surfaces. Their possible combinations are insufficient to even approach the structure of a language. This replaces an accumulated literature of patterns corresponding to words, sentences, paragraphs, chapters, and books that encapsulates meaning from human experience and life. Few people realize the enormous consequences on society of adopting a particular design vocabulary. Decisions concerning architectural style affect the surrounding culture; contrary to what is widely proclaimed, one person's visions are not restricted to a building as a single art work. A single visual template can eventually destroy a culture just as effectively as a deadly virus.
Evolution and repair of pattern languages
Validated patterns are more-or-less permanent, yet there exists a process of repair and replacement. Now and then, we may play Devil's Advocate and ignore old solutions so as to see new, innovative ones in an old discipline. A new pattern is superior if it increases the connectivity with the majority of established patterns compared to the old pattern it is replacing. It could have a broader context, or supersede several older patterns, thus tightening the language. This is a process whose goal is to strengthen an existing pattern language by repair and evolution, so as to preserve accumulated wisdom by keeping it relevant to changing needs.
Much less frequently, a paradigm shift occurs to make an entire pattern language irrelevant: e.g., horse-drawn vehicles are replaced by automobiles. That does not invalidate the pattern language showing how to create the former; it just makes that end product less desirable. While the technology and materials changed, however, many patterns were saved almost intact in going from carriages to cars. In general, the adoption of innovation is greatly facilitated by minimizing the perception of change; and consequently the number of patterns that need to be replaced. It is wasteful to throw out a repository of patterns, some of which may have been established over millennia.
The introduction of a new pattern language need not displace an older one entirely. Coexistence of competing or complementary patterns is often desirable and even necessary, especially if the new patterns occupy different positions in the hierarchy (by acting on different scales). If properly connected, they will lead to a richer and more stable complex system. Patterns for the automobile transportation network were falsely believed to be threatened by patterns for pedestrian and mass-transit networks. On the basis of this misunderstanding, urban planners and car manufacturers simply suppressed the latter (Newman and Kenworthy, 1999). Nowadays, we are beginning to understand that a balanced coexistence of all three languages -- describing pedestrian, automobile, and mass-transit movement, respectively -- is a necessary prerequisite for a comprehensive transportation system (Salingaros, 1998).
A few patterns might work equally well on different levels, though most patterns' context establishes their place in a particular scale of the pattern language. Some patterns can be moved up or down vertically within a language. Such a property leads to economy in a pattern language through self-similar scaling, which means that one scale looks the same as another scale when magnified. A pattern language that develops coherence over time may also develop a degree of self-similar scaling as a result of the connections across levels. As the ensemble of patterns evolves a cooperative structure, driven by the alignment of patterns (or anti-patterns) on different levels, it creates unexpected similarities. Thus, each level of a coherent structure expresses a property that is characteristic of the whole.
The importance of detail
A language requires patterns on as many levels as it takes to connect to natural processes. Every level is important by itself. In any complex system, detail is part of the lower scales in a hierarchy. If these are unconnected, or missing, then the system is not coherent, and cannot work (Mesarovic, Macko et al., 1970). Neglecting a pattern because it is on a lower level handicaps the entire structure. It is not always obvious what the lowest level of a system is upon which all the higher levels depend. Detail that is part of a scaling hierarchy will be connected to all higher levels of complexity, and is not just "added on." Physical forms have structural features on different scales as a result of internal and external forces. From the microscopic to the macroscopic through all intermediate scales, different levels of scale cooperate.
In the design of buildings, there are several scales -- corresponding to the human range of scales, 1cm to 1m -- that are difficult to justify purely on structural grounds. Yet, in order to define a connected hierarchy of scales, those scales have to be present in the structure (Salingaros, 2000). Therefore, either the design should allow the emergence of structure and subdivisions on those scales, or substructure has to be intentionally generated on those scales. This need creates traditional "ornament" and all the patterns that generate it (Alexander, Ishikawa et al., 1977; Salingaros, 1999). The appropriate ornament is essential for a large form to be coherent (Salingaros, 2000). An analysis of structural coherence arising from a linked hierarchy of scales reveals the necessity for ornament, though nowadays, ornament is discordant because it is unrelated to the larger form.
Detail is a separate question. The smallest perceivable detail at arm's length goes down to 0.25mm, which relates to a visual system such as a textile or a computer display. While such detail is available in richly-textured materials, it is usually the scales between texture and ornament (1mm - 1cm) that are missing from contemporary buildings. Our minimalist design tradition removes the intermediate and smaller scales from built form. After half a century of training in this idiom, we tend to forget that the best-loved architecture (Modernist included) works especially well on these scales. People need to connect to structure on every scale.
Pattern languages encapsulate human experience, and help us cope with complexity in our environment. They apply to everything from computer programs, to buildings, to organizations, to cities. A civilization's pattern languages are often synonymous with its technical and cultural heritage. New spheres of human endeavor develop their own pattern language, which must link to existing pattern languages in related fields. Individual patterns are validated empirically over time. The language itself will be on the right track if it evolves a connective structure that incorporates scaling and hierarchy. Architecture and urban design in the twentieth century rely on a set of stylistic rules that fail to connect to patterns of human life. People have been taught by schools, critics, television, and magazines to prefer abstract visual forms, and to ignore the fact that environments generated by such templates cannot accommodate their own behavioral patterns. An example of this was traced to a fundamental misunderstanding about urban geometry. It is believed that the removal of urban interfaces would help to create the contemporary city, but it has seriously damaged it instead.
This paper argued that patterns provide a necessary foundation for any design solution to connect with human beings. Contradicting them disconnects the built form from people. This conclusion has profound consequences for architectural practice. It drastically shifts the position of pattern languages in contemporary architecture. From the peripheral position at the fringes they have occupied for more than two decades, they jump to a central point of architectural relevance. Pattern languages were revealed as the "taproot" of all architecture, from which design draws its life by virtue of satisfying human needs. This is true even if one disagrees with one or more of Alexander's patterns. Our results imply that design styles which cut themselves off from this source of life are condemned to remain forever sterile. Those that intentionally do so have to admit from now on that this is indeed their aim.
The author's research is supported in part by a grant from the Alfred P. Sloan foundation. I am grateful to G. Arbon, P. L. Briggs, J. O. Coplien, C. L. Jeffery, R. Johnson, J. Tidwell, M. Waddington, and S. Woo for helpful comments.
Alexander, C. (1964). Notes on the Synthesis of Form, Harvard University Press, Cambridge, Massachusetts.
Alexander, C. (1965). "A City is Not a Tree" Architectural Forum vol. 122 April . No. 1, pages 58-61 and No. 2, pages 58-62. [Reprinted in: "Design After Modernism", Edited by John Thackara, Thames and Hudson, London, 1988, pp. 67-84]
Alexander, C. (1979). The Timeless Way of Building, Oxford University Press, New York.
Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I. and Angel, S. (1977). A Pattern Language, Oxford University Press, New York.
Coplien, J. O. and Schmidt, D., Ed. (1995). Pattern Languages of Program Design, Addison-Wesley, Reading, Massachusetts.
Dovey, K. (1990). "The Pattern Language and its Enemies", Design Studies vol. 11 pp. 3-9.
Droege, P., Ed. (1997). Intelligent Environments, Elsevier, Amsterdam.
Fathy, H. (1973). Architecture for the Poor, University of Chicago Press, Chicago.
Gabriel, R. (1996). Patterns of Software, Oxford University Press, New York.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995). Design Patterns, Addison-Wesley, Reading, Massachusetts.
Graham, S. and Marvin, S. (1996) Telecommunications and the City, Routledge, London.
Mesarovic, M. D., Macko, D. and Takahara, Y. (1970) Theory of Hierarchical Multilevel Systems, Academic Press, New York.
Miller, G. A. (1956). "The Magical Number Seven Plus or Minus Two: Some Limits on Our Capacity for Processing Information", The Psychological Review vol. 63 pp. 81-97.
Newman, P. and Kenworthy, J. (1999). Sustainability and Cities, Island Press, Washington D.C.
Passioura, J. B. (1979). "Accountability, Philosophy, and Plant Physiology", Search (Australian Journal of Science) vol. 10 No. 10 pp. 347-350.
Salingaros, N. A. (1998). "Theory of the Urban Web" Journal of Urban Design vol. 3 pp. 53-71. [Earlier version published electronically by Resource for Urban Design Information in 1997 <http://rudi.herts.ac.uk/rudiments/urbanweb/urbanweb.htm>]. Chapter 1 of PRINCIPLES OF URBAN STRUCTURE, Techne Press, Amsterdam, Holland (June 2005).
Salingaros, Nikos (1999) "Architecture, Patterns, and Mathematics", Nexus Network Journal, vol 1 pp. 75-85. Chapter 6 of A THEORY OF ARCHITECTURE, Umbau-Verlag, Solingen, Germany (2006).
Salingaros, N. A. (2000). "Hierarchical Cooperation in Architecture, and the Mathematical Necessity for Ornament", Journal of Architectural and Planning Research vol. 17 pages 221-235. Chapter 3 of A THEORY OF ARCHITECTURE, Umbau-Verlag, Solingen, Germany (2006).
Steen, L. A. (1988). "The Science of Patterns", Science vol. 240 pp. 611-616.
Stringer, P. (1975). "The Myths of Architectural Creativity", Architectural Design vol. 45 pp. 634-635.
West, B. J. and Deering, B. (1995). The Lure of Modern Science, World Scientific, Singapore.