Precise Specification of Design Pattern Structure and Behaviour [chapter]

Ashley Sterritt, Siobhán Clarke, Vinny Cahill
2010 Lecture Notes in Computer Science  
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
more » ... semantics. In particular, in a review of existing work, three invariant categories were found to be inexpressible in state-of-the-art DP-SLs: 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.
doi:10.1007/978-3-642-13595-8_22 fatcat:4iz3dfn27zcxrimp6kq6qu4xbm