An Algebra of Design Patterns

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

    Similar works