adt logo Australian Digital Theses Program
Thesis Details
TitleLDPL: A Language Designer's Pattern Language
AuthorWinn, Tiffany Rose
InstitutionFlinders University
Date2006
AbstractPatterns provide solutions to recurring design problems in a variety of domains, including that of software design. The best patterns are generative: they show how to build the solution they propose, rather than just explaining it. A collection of patterns that work together to generate a complex system is called a pattern language. Pattern languages have been written for domains as diverse as architecture and computer science, but the process of developing pattern languages is not well understood. This thesis focuses on defining both the structure of pattern languages and the processes by which they are built. The theoretical foundation of the work is existing theory on symmetry breaking. The form of the work is itself a pattern language: a Language Designer's Pattern Language (LDPL). LDPL itself articulates the structure of pattern languages and the key processes by which they form and evolve, and thus guides the building of a properly structured pattern language. LDPL uses multidisciplinary examples to validate the claims made, and an existing software pattern language is analyzed using the material developed. A key assumption of this thesis is that a pattern language is a structural entity; a pattern is not just a transformation on system structure, but also the resultant structural configuration. Another key assumption is that it is valid to treat a pattern language itself as a complex, designed system, and therefore valid to develop a pattern language for building pattern languages. One way of developing a pattern language for building pattern languages would be to search for underlying commonality across a variety of existing, well known pattern languages. Such underlying commonality would form the basis for patterns in LDPL. This project has not directly followed this approach, simply because very few pattern languages that are genuinely structural have currently been explicitly documented. Instead, given that pattern languages articulate structure and behavior of complex systems, this research has investigated existing complex systems theory - in particular, symmetry-breaking - and used that theory to underpin the pattern language. The patterns in the language are validated by examples of those patterns within two well known pattern languages, and within several existing systems whose pattern languages have not necessarily been explicitly documented as such, but the existence of which is assumed in the analysis. In addition to developing LDPL, this project has used LDPL to critique an existing software pattern language, and to show how that software pattern language could potentially have been generated using LDPL. Existing relationships between patterns in the software language have been analyzed and, in some cases, changes to patterns and their interconnections have been proposed as a way of improving the language. This project makes a number of key contributions to pattern language research. It provides a basis for semantic analysis of pattern languages and demonstrates the validity of using a pattern language to articulate the structure of pattern languages and the processes by which they are built. The project uses symmetry-breaking theory to analyze pattern languages and applies that theory to the development of a language. The resulting language, LDPL, provides language developers with a tool they can use to help build pattern languages.
Thesis 01front.pdf 104.5 Kb
02whole.pdf 3601.9 Kb