An Algebra of Design Patterns
- Publication date
- Publisher
Abstract
In a pattern-oriented software design process, design decisions are made by selecting and instanti-
ating appropriate patterns, and composing them together. In our previous work, we enabled these
decisions to be formalised by dening a set of operators on patterns with which instantiations and
compositions can be represented. In this paper, we investigate the algebraic properties of these
operators. We provide and prove a complete set of algebraic laws so that equivalence between
pattern expressions can be proven. Furthermore, we dene an always-terminating normalisation
of pattern expressions to a canonical form, which is unique modulo equivalence in rst-order logic.
By a case study, the pattern-oriented design of an extensible request-handling framework,
we demonstrate two practical applications of the algebraic framework. Firstly, we can prove
the correctness of a nished design with respect to the design decisions made and the formal
specication of the patterns. Secondly, we can even derive the design from these components