Article in Proceedings INPROC-2018-47

BibliographyFalkenthal, Michael; Breitenbücher, Uwe; Leymann, Frank: The Nature of Pattern Languages.
In: Pursuit of Pattern Languages for Societal Change.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology.
pp. 130-150, english.
tredition, October 2018.
Article in Proceedings (Conference Paper).
CR-SchemaC.0 (Computer Systems Organization, General)
D.2.2 (Software Engineering Design Tools and Techniques)
D.2.3 (Software Engineering Coding Tools and Techniques)
D.2.7 (Software Engineering Distribution, Maintenance, and Enhancement)
KeywordsPattern Language; Pattern Repository; Pattern Application; Pattern Ontology; Pattern Formalization; Pattern Language Composition; Pattern Graph

Patterns and pattern languages have emerged in many disciplines to capture deep domain expertise and knowledge about solving frequently recurring problems by proven solutions. Thereby, patterns capture the essence of many implementations along with descriptions about how to apply them in combination with other patterns, which manifests in pattern languages. Although pattern languages are a powerful means to preserve and reuse expertise, a clear definition is missing about what a pattern language actually is. Pattern languages are primarily described as being networks of patterns which does not provide a clear and unambiguous foundation to reveal their nature. This lack of rational about the structure behind pattern languages hinders reasoning about them to grasp what connections between patterns are and how the interplay of patterns from different pattern languages can be authored and managed. Therefore, we present a formal notion of pattern languages as node-colored and edge-weighted directed multigraphs. We show how this model can be used to sharpen Alexander's idea of pattern languages. Thereby, we illustrate how pattern languages can be authored and adapted to establish living networks of patterns. We further introduce that patterns are specific renderings of such a graph depending on actual problems and use cases at hand. This manifests in the fact that our graph concept extracts relationships between patterns from the patterns themselves, which enables easily adaptable networks of patterns. This can be leveraged as the formal meta-model for developing tool support for authoring and sharing pattern languages among communities via IT-based systems.

Department(s)University of Stuttgart, Institute of Architecture of Application Systems
Entry dateNovember 26, 2018
   Publ. Institute   Publ. Computer Science