Visual Specification Patterns - Fish, Andrew; Hamie, Ali; Howse, John (Electronic Communications of the EASST, 2011)
Visual modelling notations such as constraint diagrams can be used for the behavioural specifications of software components. This includes specifying invariants on classes or types and preconditions and postconditions of operations. However, one current problem in specifying components comes from the fact that editing constraints manually is time consuming and error prone and so we may adopt a pattern-based approach to alleviate this problem. One way to simplify the definition of constraints is to identify and capture those recurring constraints in the form of visual specification patterns. Such patterns would facilitate the automatic generation of diagrammatic constraints. This paper identifies some specification patterns that frequently occur when specifying software components and provides a diagrammatic representation of these patterns. This will form the basis of a library of specification patterns that could be used in the context of tools. We also show how such patterns can be combined in order to specify more complex constraints.