Motivation. Formal Methods users are given sophisticated languages and tools for constructing models of complex systems. But quite often they lack some systematic methodological approaches which could help them. The goal of introducing  design patterns within formal methods is precisely to bridge this gap.#R##N##R##N# A design pattern is a general reusable solution to a commonly occurring problem in (software) design . . . It is a description or template for how to solve a problem that can be used in many different situations (Wikipedia on "Design Pattern").
['Jean-Raymond Abrial', 'Thai Son Hoang']
Using Design Patterns in Formal Methods: An Event-B Approach