Formal methods approach to software construction can significantly increase the reliability and correctness of the resulting software. Formal methods users are given sophisticated languages and tools for constructing software models, but they often lack some systematic methodological measures to help. Formal design patterns can help formal methods users speed up the development process by re-us...