Towards a Pattern Language for Text Analysis and VisualizationNote this is a work in progress.IntroductionPattern languages convey design solutions to generalized problems in a domain. Christopher Alexander and colleagues made the idea popular in the book, A Pattern Language, which provided patterns for the design of architectual spaces from the regional to the niche. A Pattern Language had a hypertextual organization where patterns were linked to others making it a pleasure (and frustration) to wander through. The names they gave to patterns like "Dancing in the Street" and the poetic writing inspired pattern theories beyond architecture. Pattern theory took off in object oriented programming and software engineering world with influential books like Design Patterns: Elements of Reusable Object-Oriented Software, though Alexander himself was mystified by this and critical of it in The Origins of Pattern Theory.So far, as a lay person trying to read some of the works that have been published by you in this field, 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.It is tempting to imagine how a pattern language might move discussions around text analysis forward, and that is what this white paper will do. Pragmatically a pattern language would build on the work we have done on TAPoR Portal Recipes. Recipes detail the unfolding of a process so that others can follow. Patterns connect the ends of the sequence. They describe the pattern of general problems we face and the patterns of the resolutions to which a designer can aim. Recipes guide the process, patterns guide recognition of the beginnings and ends. A pattern language could therefore complement recipes by describing the aporia of textual research and the resolutions possible if one things through analytical practices. In many ways, therefore, a pattern language of text analysis is really about us, the researchers, our states and practices. It can easibly become a catalogue of moves for students to practice in order to mimic expert researchers. While this would be pedagogically useful, I don't think this is what Alexander meant by a pattern language. A language is that which you use to express yourself in a living world; it is not that which you use to catalogue that which has been said or could be said. A language structures how you live and is therefore an ethical stance. A pattern language would therefore provide a way of approaching textuality through unfolding. Why Do It?Why would computer scientists and software engineers suddenly become responsible for the form and structure of the built environment? Is that not the province of architects, planners, agricultural experts, forestry people, and civil engineers? It ought to be. But the members of these professions are not taking responsibility for the generative approach to living structure – and so cannot produce it. And, as far as I can see, they do not see it coming, and are not preparing themselves to take it on, mentally or professionally. Therefore it will fall to someone else to do it instead. (Alexander, The Origins of Pattern Theory)The same could be said of the humanities. We are not taking responsibility, at least in the academy, for the generative appoach to living expression. We want to be either scientists who stand back and study it as an object, or critics who talk about it after it is generated. What would it mean to take responsibility? It would mean engaging in the arts we critique - making history, being philosophical, writing creatively, and making art. A pattern language, as opposed to a pattern catalogue, is a taking responsibility for the poesis of expression. A pattern language is itself a living document that is made, edited, unfolded and remade while a catalogue is a closing off or a boundary making. What Would It Mean?![]() Visual collocation of word pattern on Alexander's "The Origin of Pattern Theory" The unfolding of a pattern language carries dangers and opportunities. Here are some preliminary statements towards a pattern language:
References and LinksPattern Language is the "official" site for Alexander's work. A hypertext summary of the patterns can be found at A Pattern Language. Wiki entry on Design Patterns from the Portland Pattern Repository's Wiki. Alexander, Christopher. "The Origins of Pattern Theory: The Future of the Theory, and the Generation of a Living World." with introduction by James O. Coplien in IEEE Software, September/October 1999. pages 71-82. A PDF is available at http://ieeexplore.ieee.org/iel5/52/17239/00795104.pdf?arnumber=795104. An HTML version is available at http://www.patternlanguage.com/archive/ieee/ieeetext.htm. This is the text of a talk given by Christopher Alexander at the 1996 OOPSLA that critiques the application of pattern languages to programming. Gabriel, R. P. (1996). Patterns of Software: Tales from the Software Community. Oxford, Oxford University Press. A PDF is available on Richard Gabriel's site. Gamma, E., R. Helm, et al. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Boston, Addison-Wesley. http://en.wikipedia.org/wiki/Design_Patterns The Software Patterns Blog is by the editors of IJOP and has thoughts on developing patterns. Pedagogical Patterns is a project to develop patterns for teaching and learning. The Pattern Language Network (PLaNet) is a JISC supported project in the UK that is "Taming web 2.0 in Higher Education. -- GeoffreyRockwell - 25 Apr 2007 | |