Design patterns in event-B and their tool support

This thesis gives an overview of a new concept in Event-B called design patterns. It enables developers to reuse an existing development within the problem at hand. So far, the reuse of models in Event-B was restricted to merging models by hand. This is not only painful but also error prone. One goal of the pattern approach as presented in this thesis, is to release the developer of this burden of manual copying. Such tasks are destined to be done by a tool. A second and even more important goal is the reuse of proofs. A substantial part, when developing in Event-B, is proving the correctness of the models. Some of the proofs have to be done manually, which can be very time-consuming. Therefore, we are not interested in doing proofs which were already done during the development of the pattern. With the approach evolved and described in this thesis, a new model within the development can be generated, that reuses the achievements of a pattern and is correct by construction.