  Designing fault tolerance mechanisms for multi-agent systems is a notoriously
difficult task. In this paper we present an approach to formal development of a
fault tolerant multi-agent system by refinement in Event-B. We demonstrate how
to formally specify cooperative error recovery and dynamic reconfiguration in
Event-B. Moreover, we discuss how to express and verify essential properties of
a fault tolerant multi-agent system while refining it. The approach is
illustrated by a case study - a multi-robotic system.
