One of the challenges with the development of pattern languages is the cross-appropriation of approaches of techniques from one domain (i.e. built physical environments) into others (e.g. software development, social change).
The distinction between pattern language and form language is made by Nikos Salingaros.
Design in architecture and urbanism is guided by two distinct complementary languages: a pattern language, and a form language.
The pattern language contains rules for how human beings interact with built forms — a pattern language codifies practical solutions developed over millennia, which are appropriate to local customs, society, and climate.
A form language, on the other hand, consists of geometrical rules for putting matter together. It is visual and tectonic, traditionally arising from available materials and their human uses rather than from images. Different form languages correspond to different architectural traditions, or styles. The problem is that not all form languages are adaptive to human sensibilities. Those that are not adaptive can never connect to a pattern language. Every adaptive design method combines a pattern language with a viable form language, otherwise it inevitably creates alien environments. [Salingaros, 2014]
The focus on form is apparent in the title of Notes on the Synthesis of Form [Alexander, 1964]. Form has geometry, that brings up the idea of “life” in The Nature of Order.
Chapter Five: Fifteen Fundamental Properties
I have introduced the idea of life as something which may occur in any spatial system, and suggested that a degree of life which appears in a thing depends on the life its component centers and their density. Thus, broadly, we have a theoretical scheme in which the life of a thing, or building. or system, depends on the extent to which the the centers in the thing cohere and help each other. What follows in this chapter is an analysis of the different ways in which this can occur.
About twenty years ago, I began to notice that objects and buildings which have life all have certain identifiable structural characteristics. These same geometric features keep showing up in them, again and again. [….]
I managed to identify fifteen structural features which appear again and again in things which do have life.1 They are: 1. Levels of Scale, 2. Strong Centers, 3. Boundaries, 4. Alternating Repetition, 5. Positive Space, 6. Good Shape, 7. Local Symmetries, 8. Deep Interlock and Ambiguity, 9. Contrast, 10. Gradients, 11. Roughness, 12. Echoes, 13. The Void, 14. Simplicity and Inner Calm, 15. Not-Separateness. [Alexander, 2002, p. 144]
1These properties may be thought of as an elaboration of the observations, recorded more informally, in The Timeless Way of Building (New York: Oxford University Press, 1979), chapter 23. It was the content of that chapter, written in 1975, which stirred in me the need to start the observations that are recorded here.
This definition of life may be useful in the domain of built environments. Other domains (e.g. biology, ecology) may be more troubled by that view of life centered on geometry. Alexander’s life work focused primarily on physical spaces. In a project in 1968, he acknowledges that physical systems and human systems are intertwined.
In this report we present a prototype for multi-service buildings. [….]
Our report deals chiefly with the spatial organization; but since human and spatial organization cannot properly be separated, many of the specifications given in this report, go into questions of human organization as well. [Alexander, Ishikawa, Silverstein, 1968, p. 1]
Human beings and human social systems have form, but they have life in a way that a built geometric environment does not.
Outside of built environments, pattern language was popularized circa 1995, with the publication of the book, Design Patterns: Elements of Reusable Object-Oriented Software. The authors cite the built environment as an inspiration, but for audience for their work is object-oriented software engineers.
1.1 What Is a Design Pattern?
Christopher Alexander says, “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice” [AIS+77, page x}. Even though Alexander was talking about patterns in buildings and towns, what he says is true about object-oriented design patterns. Our solutions are expressed in terms of objects and interfaces instead of walls and doors, but at the core of both kinds of patterns is a solution to a problem in a context. [Gamma, Helm, Johnson, Vlissides, 1995, pp. 2-3]
In the software use of pattern language, “objects and interfaces” likened to “walls and doors” seem to describe form language rather than pattern language, as Salingaros might point out. Christopher Alexander had originally aspired to a generative pattern language, rather than merely a pattern catalog. A 2009 interview with the Design Patterns authors confirm this view.
Larry: Generative patterns: There are 253 patterns in A Pattern Language and 23 in DP. Do you think the DP catalog fulfills Alexander’s edict that “[A pattern language] not only tells us the rules of arrangement, but shows us how to construct arrangements—as many as we want—which satisfy the rules”?
Richard: No. It was not the intent to be a prescriptive or generative guide. The inspiration for me came more from engineering handbooks where an engineer/designer would reach up to his bookshelf and find a generic mechanical design for clutches or two stroke engines. [Gamma, Helm, Johnson, O’Brien, 2009]
In a private conversation with Ralph Johnson at PLoP 2014, I confirmed that the timing of the release of the Design Patterns book was only coincidental with the first Pattern Languages of Programming conference in 1994.
The lack of generativity in pattern language observed in the domain of software development was criticized by Christopher Alexander at the OOPSLA conference in 1996.
[12:30] The pattern language that we began creating in the 1970s had other essential features.
First, it has a moral component.
Second, it has the aim of creating coherence, morphological coherence in the things which are made with it.
And third, it is generative: it allows people to create coherence, morally sound objects, and encourages and enables this process because of its emphasis on the coherence of the created whole.
[12:40] I don’t know whether these features of pattern language have yet been translated into your discipline. [….]
[17:15] … it looks to me more as though mainly the pattern concept, for you, is an inspiring format that is a good way of exchanging fragmentary, atomic ideas about programming. Indeed, as I understand it, that part is working very well.
But these other two dimensions, (1) the moral capacity to produce a living structure and (2) the generativity of the thing, its capability of producing coherent wholes — I haven’t seen very much evidence of those two things in software pattern theory. [Alexander, 1996]
The pursuit of generativity has continued to be a challenge for the Hillside Group, that has been home for the pattern language community for over 25 years. The difficulties of aspiring towards quality without a name” has been lamented by Richard Gabriel.
Now I am at the point of trying to figure out what corresponds to Alexander’s patterns. To do this, though, requires figuring out as precisely as I can what the quality without a name is in the realm of software. This quality is at the heart of everything Alexander has done since the mid-1960s, and it figures heavily in his conception of pattern languages. Pattern languages are designed to generate towns, communities, neighborhoods, buildings, homes, and gardens with this quality. Alexander’s search, culminating in pattern languages, was to find an objective (rather than a subjective) meaning for beauty, for the aliveness that certain buildings, places, and human activities have. The objective meaning is the quality without a name, and I believe we cannot come to grips with Alexander in the software community unless we come to grips with this concept. [Gabriel, 1996, pp. 33-34]
Beyond software development, the potential for pattern language for social change has recently been explored. Dealing with social change, however, involves wicked problems. Wicked problems originated at U.C. Berkeley in the 1960s with Horst Rittel, with the encouragement of West Churchman.
At the 2017 Purplsoc conference, Max Jacobson, coauthor with Christopher Alexander of the 1977 book, declared that “pattern language is not for wicked problems“. In the early 1970s, he was a doctoral student at Berkeley working with Christopher Alexander, at the same time that Horst Rittel and West Churchman were at the same university. In a recording of a Purplsoc workshop, Max Jacobson said:
[47:00 MJ, on “Wicked problems led ….”] The basic understanding of patterns was that these are not wicked problems. So, you walk into a room where there’s only a window on one side of the room. It causes a problem for everybody in the same way. It doesn’t make any difference where you’re from, how old you are. Now, that could clearly be wrong. It’s important to re-emphasize that solid concept. It’s helpful. If that’s a real problem, then we’re confident that we came up with a real solution. It may have been approximate, and we asked for people to improve on that solution. Maybe we only had 50% of the solution, but we thought that we were headed towards solidity. And I think that’s helpful, because Churchman and Horst, it was always against these guys. I asked Horst to be on my [Ph.D.] committee, he said “Max, you do not want me on your committee”. He did me a great favor, by saying, you’re just asking for trouble.
Encouraging more conversation on the questions, a workshop on “Negotiating Order with Generative Pattern Language” was convened at the 2017 PLoP conference. Making progress requires a deeper apprecication of working across scientific disciplines (e.g. physical systems, biological systems, social systems). Different types of systems can be expected to have different properties. The challenge of a theory that would work across disciplines was championed by Kenneth Boulding in 1956.
General Systems Theory is a name which has come into use to describe a level of theoretical model-building which lies somewhere between the highly generalized constructions of pure mathematics and the specific theories of the specialized disciplines,
- Mathematics attempts to organize highly general relationships into a coherent system, a system however which does not have any necessary connections with the “real” world around us. It studies all thinkable relationships abstracted from any concrete situation or body of empirical knowledge. [….]
- At the other extreme we have the separate disciplines and sciences, with their separate bodies of theory. Each discipline corresponds to a certain segment of the empirical world, and each develops theories which have particular applicability to its own empirical segment. Physics, Chemistry, Biology, Psychology, Sociology, Economics and so on all carve out for themselves certain elements of the experience of man and develop theories and patterns of activity (research) which yield satisfaction in understanding, and which are appropriate to their special segments.
In recent years increasing need has been felt for a body of systematic theoretical constructs which will discuss the general relationships of the empirical world. This is the quest of General Systems Theory. It does not seek, of course, to establish a single, self-contained “general theory of practically everything” which will replace all the special theories of particular disciplines. Such a theory would be almost without content, for we always pay for generality by sacrificing content, and all we can say about practically everything is almost nothing. Somewhere however between the specific that has no meaning and the general that has no content there must be, for each purpose and at each level of abstraction, an optimum degree of generality. [Boulding, 1956, pp. 197-198, editorial paragraphing added]
The father of General Systems Theory is generally recognized as Ludwig von Bertalanffy, particularly with the 1968 publication of General System Theory: Foundation, Development, Applications. The pursuit continues within the contemporary systems movement, into this decade. Since the 1999 ISSS meeting of the Special Integration Group on What is Life and Living, there has been continuing development on the building the field of Relational Science, largely extending on the work of Robert Rosen. At the 2014 ISSS meeting, a tie between the work of Rosen and von Bertalanffy was proposed.
In 2011 Dr. John Kineman, working closely with Judith Rosen, Robert Rosen’s daughter, developed a synthesis of Rosen’s several lines of reasoning along with basic ideas from Physics and Ecology. The result was a general theory of nature that may realize von Bertalanffy’s ideal of a “General System Theory”. The synthesis goes by the name “R-theory” after “relational” and “Rosen”, and yet to clearly distinguish it as a further development of Rosen’s original ideas in Relational Biology.
Since 2011 the theory has been refined and tested in a number of disciplines, and found to reveal startling results. R-theory now provides a clear definition of what it means for a system to be ‘whole’, and therefore may give important clues about sustainability and resilience. It also extends Rosen’s description of life and predicts, from its category mathematics, the three major categories of life we observe. The theory has also been successfully tested for its cosmological implications, and found to correspond to a revolutionary new theory of “scale expansion”.
At the recent ‘conversation’ of the International Federation for Systems Research, the R-theory four-quadrant holon was recognized as corresponding to many empirically and intuitively determined methods in systems research, perhaps underlying them all. The meta-system causal schema shown above transcends mechanistic and hierarchical concepts of causality to include the effect of contexts. In doing so, it accounts for ‘bottom-up’ causation traditionally associated with the material world and increase in entropy, with ‘top-down’ causation by which systems become organized. It allows us to relate ontology and epistemology and thereby provides a means of analyzing systems in terms of self-similar wholes. In other words, if we imagine the separate mechanisms and material parts of a system inside some container, R-theory allows us to understand the constraints imposed by the container. Furthermore it allows us to study systems in which the container and the parts determine each other. [Kineman, 2014]
This diagram has been formalized, peer-reviewed and published in a book in 2017. (The diagram has now been rotated 90% counter-clockwise).
The framework presented here answers the need for an analysis that allows for the most complex condition of a system, where contextual and dynamical causes have equal freedom. That is, we want to be able to analyze the organization of a system in terms of relations between context (e.g., dispositions) and actualizations (e.g., dynamics). It is a matter of empirical science to decide which aspects of a given system have been reduced to one or the other, and thus which aspects of the framework can be simplified. This follows a general rule in science to not classify too early.
Relational Holon Framework
Figure 2.1 is a graphical representation of the relational holon—the theoretical framework that we propose for systems research. Ontologically, it is a complementarity between measurable aspects of a system—the actualized5 aspect, A, with solid arrows, and the contextualized aspect, C, with dashed arrows—made explicit as a whole by reference to Aristotle’s four causes (Falcon, 2012). Aristotle’s causes are considered metaphysics, in addition to substance and identity, which are concepts of understanding the fundamental nature of the world. Aristotle’s four causes are material, formal, efficient, and final. Recall that a phenomenon’s material cause is its physical properties; its formal cause is its structure or design; its efficient cause is its agent for being; and its final cause is its purpose for being. In Fig. 2.1 these four causes are labeled in the four quadrants of the relational holon. The cycle of causes enable structure (s) and function (f) epistemology. In the next section of this chapter, we will show its relation to PAR, which has essentially the same structure. The arrow and symbol conventions are explained later in this chapter, in the section, “Using the PAR Holon Framework.”
Holarchical organization, like that found in fractals, is implied by the four sub-holons in each of the quadrants of the diagram. These sub-holons can replace each quadrant (either as internal sub-units or external super-units) at any level. In other words, if the main cycle represents a given system, each causal aspect of that system is explained by another similarly holistic cycle; then the two cycles are said to be “closed” within one of these quadrants. The holon can thus be composed and decomposed in self-similar models.6 [Kineman, 2017]
5. The term “actualized” is used instead of the more common term in relational biology, “realized,” because with the introduction of the contextual category, both interactive and latent aspects are considered “real.”
6. A holarchy is thus an invertible hierarchy of inclusive wholes.
These recent advances in R-theory, continuing the spirit of General Systems Theory, provides a deeper understanding of life and living. More than a decade after Christopher Alexander published The Nature of Order, perhaps colleagues in the systems community can provide a more general view of “life” beyond built environments. In the knowledge development of the Systems Changes Learning Circle, we’re aiming to preserve a strong scholarly foundation consistent with the spirit of General Systems Theory, while drafting and testing metaphors and vocabulary that resonates with practitioners. This pursuit was initiated as a long journey, and over a year later, we’re still nearer to the beginning than the end.
Alexander, Christopher. 1996. “Patterns in Architecture” presented at OOPSLA ’96, October 8, San Jose, California. https://www.youtube.com/watch?v=98LdFA-_zfA.
Gabriel, Richard P. 1996. “The Quality Without a Name.” In Patterns of Software, 33–44. New York: Oxford University Press. http://dreamsongs.net/Files/PatternsOfSoftware.pdf.
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison. Preview at Google Books..
Gamma, Erich, Richard Helm, Ralph Johnson, and Larry O’Brien. 2009. “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson.” InformIT, October 22, 2009. https://www.informit.com/articles/article.aspx?p=1404056.
Kineman, John J. 2014. “A Relational Framework for Sustainability Science.” In Proceedings of the 58th Annual Meeting of the ISSS. Washington, DC: International Society for the Systems Sciences. http://journals.isss.org/index.php/proceedings58th/article/view/2348.
Kineman, John J. 2017. “Systems Research Framework.” In A Guide to Systems Research: Philosophy, Processes and Practice, edited by Mary C. Edson, Pamela Buckle Henning, and Shankar Sankaran, 21–57. Translational Systems Sciences. Singapore: Springer. https://doi.org/10.1007/978-981-10-0263-2_2.
Salingaros, Nikos. 2014. “A Theory of Architecture Part 1: Pattern Language vs. Form Language.” ArchDaily, March 23, 2014. http://www.archdaily.com/488929/a-theory-of-architecture-part-1-pattern-language-vs-form-language/.