Formal Specification of Design Patterns as Structural Properties

Ian Bayley,Hong Zhu
2007-01-01
Abstract:Design patterns are traditionally outlined in an informal manner. If they could be formalised, we could derive tools that automatically recognise design patterns and refactor designs and code accordingly. The approach we use is to deploy predicate logic to specify conditions on the class diagrams with which the design patterns are commonly described. This not only enables us to recognise design patterns, but also to reason about design patterns, so we can detect when one pattern is a special case of another. The paper reports our specification of the original 23 design patterns.
What problem does this paper attempt to address?