Precise specification of design pattern structure and behaviour

  • Authors:
  • Ashley Sterritt;Siobhán Clarke;Vinny Cahill

  • Affiliations:
  • Lero@TCD, Distributed Systems Group, Trinity College Dublin;Lero@TCD, Distributed Systems Group, Trinity College Dublin;Lero@TCD, Distributed Systems Group, Trinity College Dublin

  • Venue:
  • ECMFA'10 Proceedings of the 6th European conference on Modelling Foundations and Applications
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Applying design patterns while developing a software system can improve its non-functional properties, such as extensibility and loose coupling. Precise specification of structure and behaviour communicates the invariants imposed by a pattern on a conforming implementation and enables formal software verification. Many existing design-pattern specification languages (DPSLs) focus on class structure alone, while those that do address behaviour suffer from a lack of expressiveness and/or imprecise semantics. In particular, in a review of existing work, three invariant categories were found to be inexpressible in state-of-the-art DPSLs: dependency, object state and data-structure. This paper presents Alas: a precise specification language that supports design-pattern descriptions including these invariant categories. The language is based on UML Class and Sequence diagrams with modified syntax and semantics. In this paper, the meaning of the presented invariants is formalized and relevant ambiguities in the UML Standard are clarified. We have evaluated Alas by specifying the widely-used Gang of Four pattern catalog and identified patterns that benefitted from the added expressiveness and semantics of Alas.