A Knowledge Management Model for Patterns

A Knowledge Management Model for Patterns

Pankaj Kamthan (Concordia University, Canada) and Terrill Fancott (Concordia University, Canada)
DOI: 10.4018/978-1-60960-783-8.ch211

Chapter Preview

Category: Technologies for Knowledge Management



This section presents the essential terminology on patterns and outlines a model of the process for producing a pattern. It also provides a brief overview of related work.

A Terminological Overview of Patterns

The pattern domain is the universe of discourse for all things related to patterns. The pattern body of knowledge (PBOK) is the set of fundamental concepts, activities, and results that characterize the pattern domain. In the last two decades or so, the PBOK has grown and the scope of concepts in it has broadened. There is currently no single source, reference model, or standard for the PBOK. Therefore, this section relies on selected publications (Appleton, 1997; Meszaros & Doble, 1998; Buschmann, Henney, & Schmidt, 2007) that can be considered as authoritative.

There are certain basic concepts in PBOK that are of interest. A pattern is an empirically proven solution to a recurring problem that occurs in a particular context. An anti-pattern suggests a ‘negative’ solution to a given problem. It occurs when the context of the problem is not understood or the underlying forces are not optimally balanced. It may not be feasible to provide a single solution to a ‘large’ problem. In such a case, the problem can be partitioned into a manageable collection of smaller problems. A pattern language is a collection of patterns that are closely related to each other through their individual contexts and contribute towards a common goal. Thus, a pattern language solves a larger problem than that possible by any individual pattern.

There are other concepts in PBOK that are of interest. A pattern description is a set of indicative statements that specify a pattern. A pattern description, if structured, typically consists of a number of elements. The labels of elements can vary across the pattern community and other (optional) elements, such as those related to metadata, may be included to enrich a pattern description. It is this explicit structure that makes patterns more than a mere collection of ‘problem-solution’ pairs, and makes them unique and more practical in their applicability among other types of experiential knowledge such as guidelines and heuristics. A pattern must have a name, and is usually referred to by using its name. A pattern form is a prescription of a specific set of pattern elements that are expected to appear in a pattern description. A pattern collection is a set of patterns that are specific to some pattern application domain and correlated in some manner. For example, a pattern language is a pattern collection; however, the converse is not necessarily the case in general. If P1 and P2 be two patterns that address the same problem, then P1 and P2 are pattern complements. Finally, pattern engineering is a systematic and disciplined approach to (1) the definition, subsequent use, and maintenance, and (2) interface to humans, machines, and other entities of knowledge, of a pattern within the given constraints of available resources.

Complete Chapter List

Search this Book: