May 13, 2009

Brief History of Pattern Languages


As I mentioned before, I regard the method of "pattern languages" as a tool for supporting social creativity.  A pattern language is composed by elements called "pattern". Each pattern is described in the same format. Although there are several formats,  it definitely contains "name" of the pattern, "problem" and its "solution". It must also contain "context" to apply the pattern, "force" as a premise that cause the problem, and "related patterns." Such patterns are written and organized in what is called a "catalogue".  

Here, I shall look back the history of the method briefly. The idea and method of pattern language was originally proposed in architectural design and it has been applied and well known in the software design.

In 1970s, Christopher Alexander observed certain things which were seen repeatedly in the shape of buildings, he found that the relation between those things is "pattern" (Alexander 1979). Then he released two hundred and fifty three patterns of construction work and designing from his previous eight years of work (Alexander et.al. 1977).  Alexander aimed to explore "the idea and principle of the process of designing by mass," and "to create a common language for designing and construction, in order to establish a process to let everybody participate in creating their own environment in non-industrialized era" (King 1993). Alexander suggested "You can use it to work with your neighbors, to improve your town and neighborhood. You can use it to design a house for yourself, with your family; or to work with other people to design an office or a workshop or a public building like a school"(Alexander et.al. 1977). 

The idea of pattern language was introduced as an alternative tool to the uniformed production due to the modernization.  Alexander points out that the problem of modern production system is that "Present systems of production are organized in such a way that most decisions are made very much 'at arm's length.' Decisions are made by people remote from the consequences of the decisions"(Alexander et.al. 1985) in each situation.  He also states that "the house is no longer an 'object' which is manufactured, but a thing of love, which is nurtured, made, grown, and personal", so that it leads to the idea that "families would design their own houses" (Alexander et.al. 1985).  Alexander thought that constructing and reconstructing it by ourselves, so that "as a matter of feeling, each house becomes a genuine life base, a place for the heart, a place in which the family, as a unique being in society, may be anchored and nourished" (Alexander et.al. 1985).  Thus, in order to let each family to control their environment directly, the idea of pattern language was introduced.

In 1980s and 1990s, the idea and method of pattern language was applied into the field of software development by Kent Beck and Ward Cunningham (Beck and Cunningham 1987). Then pattern languages in software development had been well known as "design patterns" (Gamma et.al. 1995) in 1990s. Recently, specific theme like school design(Nair and Fielding 2005) and interface design (Tidwell 2005) are also proposed in the area of architecture and software design. And then, some pattern languages have been written for designing organization(Coplien and Harrison 2004; Manns and Rising 2005) and pedagogics (Anthony 1996; Bergin 2000).

In our view, the next areas to be applied in 2000s are the human and social activity related to social creativity, so we ourselves propose several pattern languages such as pattern languages of project management (Naruse et.al. 2008), research activity (Kobayashi  et.al. 2008), and learning (Learning Pattern Project 2009).


References
Alexander, C., Ishikawa, S., and Silvertein, M. (1977): A Pattern Language. Oxford University Press.
Alexander, C. (1979): The Timeless Way of Building. Oxford University Press.
Alexander, C., Davis, H., Martinez, J., and Corner, D.(1985): The Production of Houses. Oxford University Press.
Anthony, D. L. G. (1996): "Patterns for classroom education" in Pattern Languages of Programming 2, J. M. Vlissides, J. O. Coplien, and N. L. Kerth (eds), AddisonWesley.
Beck, K. and Cunningham, W. (1987): "Using pattern languages for object-oriented programs" in OOPSLA-87 workshop on the Specification and Design for Object-Oriented Programming.
Bergin, J. (2000):  "Fourteen pedagogical patterns" in European Conference of Pattern Languages of Programs.
Coplien, J. O. and Harrison, N. B. (2004): Organizational Patterns of Agile Software Development. Prentice Hall.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995):  Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley.
King, I. F. (1993): Christopher Alexander and Contemporary Architecture: a+u Architecture and Urbanism, August 1993 Special Issue. a+u Publishing.
Kobayashi, Y., Yoshida, M., Sasaki, A. and Iba, T. (2008) . "Research patterns: A pattern language for academic research" in 15th Conference on Pattern Languages of Programs.
Learning Pattern Project (2009): Learning Patterns: A Pattern Language for Active Learners at SFC 2009, Keio University.
Manns, M. L. and Rising, L. (2005): Fearless Change: Patterns for Introducing New Ideas. Addison-Wesley.
Nair, P. and Fielding, R.(2005): The Language of School Design: Design Patterns for 21st Century Schools. Designshare, Inc.
Naruse, M., Takada, Y., Yumura, Y., Wakamatsu, K., and Iba, T. (2008): "Project patterns: A pattern language for promoting project" in 15th Conference on Pattern Languages of Programs.
Tidwell, J.(2005): Designing Interfaces: Patterns for Effective Interaction Design. O’Reilly Media.


Upcoming Conferences related to Social Creativity and Networks


The followings are conferences held in 2009, which are related to my themes, social creativity and networks. I've submitted the paper or have a plan to participate in these conferences. 

The Harvard Political Networks Conference
Jun 11 - 13, 2009. Harvard University, MA, USA

International Workshop on Network Science 2009 (NetSci09)
Jun 29 - July 03, 2009. in Venice, Italy
http://www.netsci09.net/

16th Conference on Pattern Languages of Programs (PLoP09)
Aug 28 - 30, 2009. Chicago, IL, USA

ACM Creativity & Cognition 2009
"Everyday Creativity: Shared Languages & Collective Action"
Oct 27 - 30, 2009. at Berkeley Art Museum & UC Berkeley, CA, USA



May 7, 2009

Thought of Triad


In the previous post, I tried to categorize my approaches into just three. Here, I shall write why I choose three-fold division.

This kind of triad is sometimes used in order to categorize something important, simply because the triad works out. Trichotomy, which is three-fold division, is known to often work out rather than dichotomy, because it can capture the complex relations. But you may wonder why three is special than other numbers like two, four, or five.

As an answer, Charles S. Peirce, who was an American philosopher and emphasized the significance of trichotomy, pointed out as follows;

"The reason is that while it is impossible to form a genuine three by any modification of the pair, without introducing something of a different nature from the unit and the pair, four, five and every higher number can be formed by mere complications of threes."
* Charles Sanders Peirce, "A Guess at the Riddle" in The Essential Peirce: Selected Philosophical Writings Volume 1 (1867-1893), Edited by Nathan Houser and Christian Kloesel, Indiana University Press, 1992. p.251

Borrowing the metaphor by Peirce, dyadic relation is similar to direct unforked road. It is impossible to obtain third termination by extending the existing termination of dyad. It can provide only the extension as a chain. The extension of triad, however, can increase the number of termination, then  we can make the relation more complex like a network.



Recall also the three-body motion discussed by Henri Poncare. Although two bodies shows periodic motion, the motion of three-bodies becomes chaotic. It means, so to speak, three is the minimum number to bring complex dynamism into the world. This seems to be a quite interesting idea about the source of creativity. Creativity must need a kind of dynamism rather than equilibrium. Of course, this is just an intuition, so it wants more discussions. I want to keep considering three-fold division as a source of creative dynamism.


May 6, 2009

Drawing Map of My Research


Today I would like to draw the map of my research.

First of all, my main theme is "social creativity". Therefore the word is drawn in the center of the map. Around the main theme, three approaches I take is written; theoretical understanding, data analysis, and tool design. This is the center of  my research.


Specifying each approach, first, I apply the following theories for understanding a social creativity; social system theory, complexity theory, and philosophy of knowledge. Social system theory is a sociological theory which was proposed by Niklas Luhmann. The theory contains the concepts such as autopoiesis, system, environment, contingency, communication, media,meaning, and evolution. Complexity theory is related to complex systems, and it contains the concepts such as emergence, chaos, fractal, power law, phase transition, network, and self-organization. And philosophy of knowledge contains the concepts of knowledge, cognition, learning, and inference, that is induction, deduction, and abduction.


Second, I study with the following methods;  evolutionary analysis, network analysis, knowledge mining. With evolutionary analysis, the process of evolution is investigated. It means that we study how the target is changed over time with remaining some feature  of itself. This kind of method has been developed in biology, computational science, and evolutionary economics, however it is under developing. Network analysis is the method to capture the relation among the target as a network. The method has been developed as graph theory in mathematics, social network analysis in sociology, and complex network in physics. And knowledge mining consists both of qualitative and qualitative, and more specifically text mining and deep interview. 


Third, I design the following tools in order to support social creativity; simulation, map, and language. Simulation is the method to generate phenomena with computer agent and/or human. In a broad sense, it is also related to virtual reality, augmented reality, tangible objects, and  ubiquitous environment. Map is a visual representation to overview a certain world from a certain viewpoint. In this context, the map is not limited to geographic map, but also the map of networks if the position and measure are defined. And language is considered in a broad sense, which contains pattern languages,  modeling languages, and visual languages. All of them have a specific words and grammar to compose more complex representation.

Summarizing the approaches, the whole structure of the map can be drawn like this. Each approach of three-fold division at top level has also three-fold division of concrete theory, method, and product. With using the theories and methods, I am trying to understand the mechanism of social creativity, and also to design tools to enhance the social creativity.