Implications of Markup on the Description of Software Patterns

Implications of Markup on the Description of Software Patterns

Pankaj Kamthan (Concordia University, Canada)
DOI: 10.4018/978-1-60960-509-4.ch008
OnDemand PDF Download:
List Price: $37.50


The reliance on past experience is crucial to the future of software engineering. There are a number of avenues for articulating experiential knowledge, including patterns. It is the responsibility of a pattern author to ensure that the pattern is expressed in a manner that satisfies the reason for its existence. This chapter is concerned with the suitability of a pattern description for consumption by both humans and machines. For that, a pattern description model (PDM), and a pattern stakeholder model (PSM) and a pattern quality model (PQM) as necessary input to the PDM, are proposed. The relationships between these conceptual models are highlighted. The PDM advocates the use of descriptive markup for representation and suggests the use of presentation markup for presentation of information in pattern descriptions, respectively. The separation of representation of information in a pattern description from its presentation is emphasized. The potential uses of the Semantic Web and the Social Web as mediums for publishing patterns are discussed.
Chapter Preview


In this section, a synopsis of terminology related to a pattern description and a brief introduction to the notion of markup pertaining to the scope of this chapter are given.

Basics 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.

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. A pattern application domain is the area of study to which a pattern corresponds to. An anti-pattern suggests a ‘negative’ solution to a given problem. 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.

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. A pattern element is a labeled placeholder for information that accentuates a certain aspect of a pattern. A pattern form is a prescription of a specific set of pattern elements that are expected to appear in a pattern description. A pattern thumbnail is a succinct depiction of a pattern. 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. A pattern documentation is a document describing how a specific pattern can (and even should) be used. It could be noted that, for the sake of this chapter, the terms ‘pattern description’ and ‘pattern documentation’ are not synonymous (and therefore not interchangeable). A pattern sequence is a sequence of patterns through one or more pattern collections. A pattern story is an instance of a pattern sequence.

Complete Chapter List

Search this Book: