# Mustersprache

Eine Mustersprache (englisch pattern language) ist eine Sammlung von Entwurfsmustern, also bewährten Verfahren zur Lösung typischer Probleme, die bei gestalterischen Tätigkeiten in einem bestimmten Anwendungsgebiet auftreten. Dabei werden im Wesentlichen zwei Ziele verfolgt:
* Die Muster bieten Ansätze zur Lösung von typischen, wiederkehrenden Entwurfsproblemen. Gestalter, Entwickler und Entwurfsverfasser nutzen sie als Anregung und als Lösungsmodell, sowie um bereits gefundene Lösungen infrage zu stellen, weiterzuentwickeln und zu verfeinern.
* Die Mustersprache erleichtert die Kommunikation zwischen Entwicklern, indem sie ein einheitliches Vokabular aus Bezeichnungen für wiederkehrende Probleme und deren Lösungen bereitstellt.
Der Begriff wurde ursprünglich vom Architekten Christopher Alexander geprägt. In seinem an Laien gerichteten Buch A Pattern Language. Towns, Buildings, Construction stellte er 1977 die erste Mustersprache vor. Das Konzept wurde in andere Fachbereiche übernommen, zunächst in die objektorientierte Softwareentwicklung und die Mensch-Computer-Interaktion (Human-Computer Interaction, HCI), später in die Organisationsentwicklung und die Pädagogik.
Ward Cunningham definiert den Begriff der Mustersprache im Portland Pattern Repository so:
   “A set of patterns becomes a pattern language when each of its patterns, once solved, leads to more patterns that should then be considered.”
   „Eine Menge von Mustern wird zur Mustersprache wenn jedes ihrer Muster, sobald es gelöst ist, zu mehr Mustern führt, die anschließend betrachtet werden sollten.“

## Die Struktur von Musterbeschreibungen

Die Beschreibung eines Entwurfsmusters im Stil von Alexander folgt einer festen Struktur: Nach der Überschrift – dem Namen des Musters – folgt der Kontext sowie die Beschreibungen des Problems und der generischen Problemlösung; die Beschreibung endet mit Referenzen auf andere Muster. Im Kontextteil wird auf verwandte Muster verwiesen, die im Planungsprozess zuvor zu betrachten sind; die Referenzen verweisen auf Muster, die später auftreten. Dadurch ergibt sich ein Hypertext, wobei die Verweise, das sind die Namen der Muster, üblicherweise typografisch durch Kapitälchen hervorgehoben werden.
Anhand dieser Querverweise ist es möglich, die Planung in einer Form durchzuführen, die Alexander unfolding (‚Entfalten‘) nennt. Dabei behandeln die Muster der höchsten Ebene – also diejenigen, die bei der Planung zuerst betrachtet werden sollen – die Planung von Städten. Weiter unten in der Hierarchie stehende Muster behandeln räumlich kleinere Strukturen, bis hin zu Teilen von einzelnen Räumen. Es handelt sich damit um einen Top-Down-Prozess. Alexander legt Wert darauf, dass die Querverweise ebenso wichtig sind wie die Muster selbst.

## Die Erarbeitung von Mustersprachen

Mustersprachen entstehen teilweise als Bücher von Autoren bzw. Autorengruppen, teilweise als Publikationen zu Fachkonferenzen. Neuerdings entstehen Mustersprachen auch als Resultat von Diplomarbeiten, Masterarbeiten und Dissertationen.
Das Ziel der Publikation von Mustersprachen ist die Vermittlung von Erfahrungswissen zum Aufbau von Kompetenz bezüglich der Gestaltung komplexer Systeme.
Besonders verdient gemacht hat sich die non-Profit-Organisation 'The Hillside Group', die seit 1993 Fachkonferenzen organisiert: In den USA seit 1994 die PLoP Konferenzen ('Pattern Languages of Programming'); in Europa seit 1996 die EuroPLoP mit dem festen Konferenz-Standort Kloster Irsee in Bayern. Thematisch waren diese Konferenzen zunächst auf die Software konzentriert; es folgte aber eine zunehmende Öffnung für benachbarte Gebiete wie Management, Organisationsentwicklung und Pädagogik.
Seit 2009 findet im zweijährigen Rhythmus in Portland die PUARL Konferenz statt, die sich Mustern im Umfeld von Stadtplanung und Urbanistik widmet.
2015 findet erstmals die PURPLSOC Konferenz statt. Sie ist offen für Mustersprachen aus allen Anwendungsfeldern und unterstützt den interdisziplinären Erfahrungsaustausch bezüglich des Schreibens und Anwendens von Mustersprachen.
Es gibt einige Schriften, die sich damit auseinandersetzen, wie man Muster und Mustersprachen erarbeitet und schreibt. Die meisten davon sind Online verfügbar und werden im Rahmen der Konferenzen angeboten und aktualisiert. Eine besondere Unterstützung bieten die Einrichtungen sogenannter Writer's Workshops und des Shepherding. Writer's Workshops sind den Schreibwerkstätten im Bereich des fiktionalen Schreibens nachempfunden und verschaffen beginnenden Autoren kollegiales Feedback. Beim Shepherding wird dem Autor einer Mustersprache im Zuge der Artikel-Einreichung ein Shepherd (wörtlich übersetzt „Schäfer“) als eine Art von Mentor zugeteilt, der in mehreren Feedback-Zyklen dem Autor bei der Qualitätsverbesserung des Textes hilft.

## Andere Mustersprachen

Die Idee, den Benutzer in den Entwurfsprozess mit einzugliedern, fand auch in anderen Fachbereichen Anklang, besonders im Bereich der Mensch-Computer-Interaktion.
Jan Borchers schrieb in A Pattern Language for Interactive Music Exhibits 2001 drei Mustersprachen aus den Bereichen Blues-Musik, Mensch-Computer-Interaktion und Softwareentwicklung, um die Kommunikation zwischen diesen drei Fachbereichen zu vereinfachen.
Duyne, Landay und Hong schrieben 2002 mit The Design of Sites eine Mustersprache für Websites. Die Mustersprache ist in der Reihenfolge aufgebaut, in der die Probleme im Entwicklungsprozess beim iterativen Entwurf auftauchen.
Mary Lynn Manns und Linda Rising veröffentlichten 2005 das Buch Fearless Change mit 48 Mustern, die sich in Unternehmen für Innovationsprozesse und Unternehmensentwicklung bewährt haben. 2015 erschien die Fortsetzung.
Jenifer Tidwell veröffentlichte 2005 das Buch Designing Interfaces, in dem eine Mustersprache aus ca. 100 Entwurfsmustern beschrieben wird. Dabei deckt sie sämtliche Bereiche der Mensch-Computer-Interaktion ab.
Douglas Schuler veröffentlichte 2008 das Buch Liberating Voices, in dem er eine Mustersprache aus 135 Mustern beschreibt, die helfen sollen, die digitale Kluft zu überwinden. Im gleichen Jahr veröffentlichte Open Source Ecology eine Mustersprache aus Gestaltungsprinzipien und Wechselwirkungen zwischen Open-Source-Produkten, die zur nachhaltigen Selbstversorgung auf nachindustriellem Niveau notwendig sein würden.
Die wohl bekannteste Sammlung von Entwurfsmustern, die die sogenannte Viererbande in Design Patterns – Elements of Reusable Object-Oriented Software veröffentlichte, kann insofern nicht als Mustersprache bezeichnet werden, als sie mit nur 23 Entwurfsmustern nicht vollständig ist. Sie gab jedoch den Anstoß für die Entwicklung von Mustersprachen in der Softwaretechnologie, wie z. B. für den Entwurf von Softwareentwicklungswerkzeugen und Softwarearchitekturen.
Auch im Bereich der Commons wurden Ansätze einer Mustersprache eingeführt (Mustersprache des Commoning).