The Structure of Pattern Languages
© Nikos A. Salingaros, 1998
Division of Mathematics
University of Texas at San Antonio
San Antonio, Texas 78249Based on a talk prepared for U S West's Global Village Labs, Denver, given on 5 August 1998
Abstract:
The internal structure of pattern languages is analyzed in broad terms. Because this structure is based on general invariants, pattern languages help to understand the complexity of a wide variety of systems ranging from buildings and cities, to software and organizations. Many authors believe that this is the most powerful method available for controlling complexity. The focus here is on how to develop pattern languages for new subjects, and how to enrich and repair existing pattern languages. Pointers are given to guide the evolution of a pattern language as a field develops beyond its initial confines and assumptions. Counter-examples from architecture illustrate how a pattern language can be damaged or destroyed entirely, by sacrificing a discipline's basic patterns in the desire to be totally innovative.
CONTENTS
- Pattern languages as mind extensions
- Patterns and science
- New disciplines
- Consistency and connectivity
- How a pattern differs from a stylistic rule
- The nature of a pattern language
- Hierarchical ordering
- The importance of detail
- Different types of connections
- A simplified connective map
- The optimal number of connections
- Conclusion
1. PATTERN LANGUAGES AS MIND EXTENSIONS
We observe the world around us and learn its structure by abstracting cause and effect, recurring solutions, regularities of behavior, in both animate and inanimate matter. These are "patterns". 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 learn makes us human.
Almost every discipline possesses a history of solutions obtained under different conditions. An invariant solution shows up under slightly different formats, while remaining basically the same pattern. A repository of these patterns forms the groundwork for any discipline. Many patterns of human relations are codified into religions, myths, or literary epics.
Pattern languages are essential tools for human beings to function in, and control a complex world. A great deal of effort was made in the past to preserve pattern languages that were learned and not intrinsic to the human mind. In many instances, however, arbitrary stylistic rules that clash with our built-in patterns (intuition) were either adopted by, or forced on people. That has damaged or even destroyed our pattern languages.
2. PATTERNS AND SCIENCE
A pattern is a discovered solution that has been tested for a long time, and under varying conditions. A pattern is not usually invented, so creativity is subordinated here to scientific enquiry and observation. The creative aspect arises in finding novel ways to apply, combine, and relate patterns. Creativity is reserved for the products arising from an application of the pattern language, not the process.
Most patterns are empirically derived from observations. They differ from scientific theory, which derives solutions starting from first principles. A pattern may be the interaction of many different scientific mechanisms. Patterns provide a necessary phenomenological foundation out of which scientific theories can grow. They, in turn, can better explain why some patterns work.
Although patterns are pre-science, they are in fact much broader than science. Many patterns do not yet have a scientific explanation. For others that do, some have an explanation that is bulky and convoluted compared to the simplicity of the pattern itself. We need patterns independently of science.
Many older disciplines that we consider "scientific" are based at least partially on pattern languages. For example, Medicine, Pharmacology, and Psychology all have a strong phenomenological foundation, which is only slowly being replaced (and will never be entirely) by a strictly biological/chemical basis.
3. NEW DISCIPLINES
A new discipline has no history or patterns. Its patterns need to be abstracted as they appear. The sooner that is done, the more life the new discipline has. It is building its own foundation and logical skeleton, upon which future growth can be supported. False patterns only stunt its growth. Knowing its basic patterns early on will speed up the language's development, and guide it in the right direction.
It is often possible to transfer groups of patterns from established disciplines to a new one lacking a pattern language. This is the consequence of a universal structure inherent in all pattern languages; it can also save the time of developing every new pattern individually. Nevertheless, a pattern ported across languages must be tested rigorously to see if it makes sense in its new setting, or if it needs to be modified. All languages differ in their details.
Particulars of the internal structure of pattern languages, to be given later, provide guidelines for developing a new pattern language. Using these, one can be documenting basic patterns, and at the same time have an idea of where new patterns are most likely to arise in the process. These guidelines emphasize the interconnections between patterns.
Alexander's patterns were concerned with architecture, and specifically, static structures. They were most naturally grouped according to size, so that they represent patterns in space. On can just as well have patterns in time, or in any other dimension, such as a scale for measuring human interactions. For this reason, pattern languages are important in understanding organizational structure and processes.
The solution space, which is distinct from the parameter space, is rarely one-dimensional. That 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 adjoining anti-patterns before zeroing in on the pattern.
4. CONSISTENCY AND CONNECTIVITY
Of the two criteria: (a) internal consistency, and (b) external connectivity, the second is the more important. A system's complexity -- the extent of which may not be known for some time -- can prevent a pattern language from having a smooth internal structure. It is essential, however, that a new pattern language link to existing languages at its boundaries.
It is possible to develop a pattern language that destroys; we have historical examples of movements, including Fascism and Modernism, that "clean up" human complexity by imposing rigid, one-dimensional ideas. Such a language could itself be perfectly consistent internally, but it cannot co-exist with other pattern languages that create.
For example, any organizational pattern language that attempts to create an emotionally healthy environment for its workers will necessarily connect with and provide a transition to Alexander's architectural pattern language. If it doesn't, then there is something seriously wrong with it.
5. HOW A PATTERN DIFFERS FROM A STYLISTIC RULE
Patterns arise from the scientific method, and are subject to experimental testing and critical scrutiny. Many stylistic rules are misinterpreted as patterns, but the former are entirely arbitrary, coming either from fashion or dogma, or they refer to a very specific situation that does not apply broadly.
A pattern is abstracted from experimental data, or it is guessed at. In either case, it is not dictated by anyone in authority, and it has to stand up to tests of its efficacy. We don't know why some patterns work. In a phenomenological analysis, a pattern is validated if it works. It usually appears across specific applications, disciplines, and cultures, thus differing from a stylistic rule.
Now and then, we play Devil's Advocate and ignore old solutions so as to see new, innovative ones in an old discipline. Nevertheless, this is a process whose goal is to strengthen an existing pattern language by repair and evolution. It is catastrophic to throw out a discipline's repository of patterns. Some of them have been established over millennia. No discipline can exist without a pattern language.
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 and strengthening the language. Progress occurs if a better explanation is found for a pattern that already works.
Much less frequently, a paradigm shift occurs to make a particular 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. Notice how, while the technology and materials changed, many human patterns were saved almost intact in going from carriages to cars.
The adoption of innovation is normally facilitated by minimizing the perception of change -- and consequently the number of patterns that need to be replaced. During a time of crisis, or in the misguided desire to be totally innovative, however, some established disciplines willingly abandon their pattern languages, thus losing their structural foundations.
Buildings architecture, urban design, and much of art threw out their pattern languages in this century. A few innovators originally broke with the past by abandoning arbitrary stylistic rules, thus enabling them to move forward in their field. Others went further and got rid of patterns, not understanding the difference between a pattern and a stylistic rule.
6. THE NATURE OF A PATTERN LANGUAGE
A pattern language is an organizational framework for a complex system. Patterns are identified with nodes in a graph, and the graph is connected by edges of different lengths. A pattern is an object; an isolated solution to a problem. The notion of "language" combines the nodes together in a non-trivial manner. A loose collection of patterns is not a system, because it lacks connections.
Figure 1. A loose collection of patterns is not a system.
The crux of the matter is the rules by which the patterns (nodes) are connected. Words without connection rules do not make a language. This was the weak point of Alexander's building patterns in the hands of people who did not understand his ideas. People thought they understood patterns as objects, but missed their connectivity.
There is always a danger that a pattern language may become just a catalogue of patterns. That is because it is far easier to list individual patterns than it is to describe 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.
In buildings, sticking patterns together without proper ordering results in a lack of coherence and overall organization. Each component might work individually, but the whole does not work, precisely because it is not a whole. The creative component resides in the language, i.e., the connections.
Figure 2. System organization rests on the connections among patterns. The patterns in Figure 1 are linked here by introducing additional connections.
A pattern language organizes complexity -- the system organization rests entirely in the connectivity. Drawing an analogy with biological systems, the system works only because of the communication between subsystems. System laws dictate that patterns fit together on the same level, as well as connect to patterns in both higher and lower levels.
In practice, pattern languages arise from two very different needs: (a) As a way of understanding -- and possibly controlling -- a complex system. (b) As the necessary tools with which to build something that is functionally and emotionally coherent. The two purposes understanding/creating are distinct yet interdependent.
7. HIERARCHICAL ORDERING
The ordering of nodes on one level creates nodes at a higher level, which then obey a different type of ordering. This process goes on all the way up, and all the way down in scales. The one-way systems law states that larger scales are dependent on all lower scales, but not vice-versa.
Figure 3. Hierarchical ordering establishes connections across levels.
General structural rules are independent of any particular scale. This implies that nodes and connections must exist at all different scales. Every complex system has hierarchical subdivisions, where processes are occurring. The less obvious fact is that connections exist on all different scales, and across scales. These connective networks are what defines the "language".
Hierarchical ordering gives an idea of what went wrong in some applications of pattern languages. If the nodes on one scale are connected properly, they will define a larger scale structure. If not, then they exist only on their own scale, although they may support subsystems on many smaller scales. Going from one scale to a higher scale is essential to the cohesive framework provided by the language.
Figure 4. Patterns on one scale combine to define a new pattern on a higher scale.
Some patterns work equally well on many different levels of scale. They can be moved up or down vertically within a language. Such a recursive property leads to economy in a pattern language through self-similar scaling, and this is a universal feature found in many fractal structures.
The architectural community has eliminated the small scales: the patterns, and also the connections. This is one reason why contemporary buildings fail to connect to human beings. They offer (by explicit stylistic dictate) no connections on the human scale. The archetypal modernist building provides an example of what a system is not -- because it is defined on a single scale.
Figure 5. Removal of scales destroys a system's internal coherence. These nodes are too far apart in scale to connect strongly.
Architecture influences the way our mind develops. Our grasp of complexity is compromised if we are surrounded by simplistic structures that avoid organizing complexity, because we unconsciously use them as templates for our perception and organization of systems. By eliminating nodes and connections, contemporary structures and artifacts promote the unnatural and bizarre.
8. THE IMPORTANCE OF DETAIL
Every scale is important by itself. In a complex system, detail shows as part of the lower scales in a hierarchy. If these are weak, or missing, then the system is unsupported, and cannot work. In a visual system such as an oriental carpet or computer screen, detail goes down to the smallest perceivable scale, which is about 1/100".
Detail that is part of a scaling hierarchy will be connected to higher levels of structure, and is not just "added on". Physical forms have hierarchical scaling as a result of internal and external forces. Structural features exist on different levels of scale, from the microscopic to the macroscopic, through all intermediate scales. It is very difficult to find natural objects that have no intermediate scales.
In buildings architecture, there are several scales (on the human range of scales) that are difficult to justify on structural grounds. Yet, in order to define a system with hierarchy, they have to be created. This need creates traditional "ornament". Although frequently overdone, the appropriate ornament is nevertheless essential if a large form is to be coherent.
From a mathematical point of view, it makes sense to define a structural hierarchy down to the lowest possible scale. Matter itself has a hierarchy, from visible surface features, down to elementary particles and their constituents. We would like to connect anything we build (which is artificial) to this natural hierarchy, thus connecting macrocosm with microcosm in a seamless manner.
It is not obvious what the lowest level of a system is, upon which all the higher levels depend. Nor is it easy to determine the minimum degree of detail required to make a complex system coherent. While these decisions depend on the individual system in question, hierarchical scaling requires the smaller levels in a pattern language. Neglecting something because it is on a lower level handicaps the entire structure.
9. DIFFERENT TYPES OF CONNECTIONS
This is a very complex topic. We need to distinguish between types of connections; for example, those of different length. Also, connections on each different level may be distinct, as are those connections across levels. Just as in physics, there exist different forces having different ranges, so patterns interact via different types of forces.
In visual patterns, short-range connections are established via contrast. Complementary nodes having opposite characteristics are coupled into a new, larger node. Another way of looking at this is to describe a visual node as being generated via contrast. A plain, uniform surface has no nodes.
Figure 6. Short-range visual connections are established via contrast.
Long-range visual connections, on the other hand, are established via similarity. These include symmetry groups in the plane: translational, rotational, reflectional, and scaling symmetries. Long-range and short-range connective mechanisms are separate, but work together to build up a system such as a carpet or architectural design. They may in fact be regarded as opposite.
Figure 7. Long-range visual connections are established via similarity.
Each pattern language has its own types of connections. Like rules of grammar, there exist certain invariants, yet the connective rules differ from language to language. One uses a language not only by learning its patterns, but by knowing which connections apply in each case. Mastery is achieved through practice with the connective rules.
Ignoring this leads to terrible mistakes. For example, architects and urban planners today apply totally inappropriate connections. Instead of using the natural connective language between nodes, they connect nodes on a plan visually, into a symmetric arrangement as seen from the sky. That is the wrong language, which usually guarantees non-functionality of the result.
10. A SIMPLIFIED CONNECTIVE MAP
Separate from the grammatical rules of a pattern language, it is essential to diagram the connections between patterns. This map becomes the "connective map" of the pattern language. Even if simplifications have to be made for visual clarity, this will identify the different levels. It should also show the different types of connections, and specify which patterns should be interconnected or not.
In practice, it is very cumbersome to work from a catalogue of discovered patterns to create a product. A simplified connective map can drastically improve the utility of any pattern language. We offer a five-step procedure for generating such a map, based on the conceptual "chunking" of information. The goal is to cluster patterns into groups of about five or fewer.
- From the existing patterns catalogue, identify the truly essential ones (not more than about 20)
- Group these patterns into distinct levels (not more than about 7 levels), according to closeness in function
- Identify a vertical dimension (e.g., time, space, or group size) appropriate to the process that generates the end product
- Link patterns on each level by studying how they communicate with each other
- Provide vertical links that show how the generative process develops as one moves down the hierarchy
Figure 8. Simplified connective map of an organizational pattern language. The levels are: 6=staffing, 5=team, 4=manager, 3=techniques, 2=project, 1=details. Vertical connections are not shown; horizontal connections are shown on the right. From a total of 43 patterns, 21 were identified as essential, and were separated into 6 different levels. The vertical dimension going downwards is the clock time for a project.
The key to developing a pattern language is to capture all the elements, based on our conception of a unified, working system. This is not the same as looking for regularities in the language structure graph, although the latter can certainly help. Visual symmetry in the connections among patterns does not guarantee a rich, coherent pattern language, and may even hinder it by imposing an unnecessary structure.
11. THE OPTIMAL NUMBER OF CONNECTIONS
We are relatively ignorant of what makes up an optimal connective framework. Working systems are usually characterized by an incredible number of connections; many more than can be represented visually on a planar graph. Simplistic or chaotic forms both have a minimal number of connections, much fewer than the number of nodes. Such a system cannot work -- it is usually not even a system.
Connecting every node will not necessarily solve the problem. A "minimal spanning tree" has about the same number of connections as nodes, but a path from one node to another has to pass typically through many other nodes, which is inefficient. A "completely connected graph", on the other hand, will have a direct connection between any two nodes; however, that number of connections may be excessive.
Note that the self-regulated efficiency of a system rules out a tree structure. Feedback is a connection that goes in the opposite direction from the usual hierarchical ordering. A tree has no room for feedback, so the presence of feedback in a system requires more than a minimal number of connections.
The optimal number of connections in a system lies somewhere between those of a minimal spanning tree and those of a completely connected graph. The ratio of connections to nodes for a system of N nodes is (approximately) 1 and N/2, respectively. In the absence of other known examples, one may take the human brain, with connection ratio (N1/3)/2, as a model of an efficient complex system.
A solution that relies on only one or two patterns doesn't need the connections that make up the language. One that requires coordination and sustained effort, however, needs to use many different patterns, and its success depends on the tightness of the connective structure. The best pattern languages employ a human being as an agent for self-organization.
12. CONCLUSION
Pattern languages encapsulate human experience. A creative civilization places great value on its pattern languages, which are often synonymous with its heritage -- both technical and cultural. There is frighteningly little awareness of how central pattern languages are to our evolution as a species, and what role they play for our continued survival.
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. Nevertheless, the language itself will be on the right track only if it evolves an internal connective structure that incorporates hierarchy, scaling, and different types of connections.
ACKNOWLEDGMENTS: This research is supported in part by a grant from the Alfred P. Sloan Foundation. Since presenting this talk, I have added material based on suggestions made by James O. Coplien, Ralph Johnson, and Jenifer Tidwell, for which I am very grateful.
BIBLIOGRAPHY
While this talk was prepared without references, it grows out of Christopher Alexander's seminal contributions:
- C. Alexander, Notes on the Synthesis of Form (Harvard University Press, Cambridge, Massachusetts, 1964).
- C. Alexander, "A City is Not a Tree", Architectural Forum, Vol. 122 No. 1, pages 58-61 and No. 2, pages 58-62 (1965). [Reprinted in: Design After Modernism, Edited by John Thackara, Thames and Hudson, London, 1988, pages 67-84]
- C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and S. Angel, A Pattern Language (Oxford University Press, New York, 1977).
- C. Alexander, The Nature of Order (Oxford University Press, New York, in press).
The pioneering application of pattern languages to organizations was done by James O. Coplien, "A Generative Development-Process Pattern Language", Chapter 13 of Pattern Languages of Program Design, Edited by J. O. Coplien and D. C. Schmidt, Addison-Wesley, Reading, Massachusetts, 1995.
The author discusses architectural and urban complexity in the following papers:
- N. A. Salingaros, "The Laws of Architecture from a Physicist's Perspective", Physics Essays, Vol. 8 (1995) pages 638-643.
- N. A. Salingaros, "Life and Complexity in Architecture From a Thermodynamic Analogy", Physics Essays, Vol. 10 (1997) pages 165-173.
- N. A. Salingaros, "Theory of the Urban Web", Journal of Urban Design, Vol. 3 (1998) pages 53-71.
- N. A. Salingaros, "A Scientific Basis for Creating Architectural Forms", Journal of Architectural and Planning Research, Vol. 16 (1999) to appear.