Formal specification of the variants and behavioural features of design patterns

Ian Bayley,Hong Zhu
DOI: https://doi.org/10.1016/j.jss.2009.09.039
IF: 3.5
2010-01-01
Journal of Systems and Software
Abstract:The formal specification of design patterns is widely recognized as being vital to their effective and correct use in software development. It can clarify the concepts underlying patterns, eliminate ambiguity and thereby lay a solid foundation for tool support. This paper further advances a formal meta-modeling approach that uses first-order predicate logic to specify design patterns. In particular, it specifies both structural and behavioural features of design patterns and systematically captures the variants in a well-structured format. The paper reports a case study involving the formal specification of all 23 patterns in the Gang of Four catalog. It demonstrates that the approach improves the accuracy of pattern specifications by covering variations and clarifying the ambiguous parts of informal descriptions.
What problem does this paper attempt to address?