Multi-agent systems (MAS) are increasingly used in critical applications. To ensure dependability of MAS, we need powerful development techniques that would allow us to master complexity inherent to MAS and formally verify correctness and safety of collaborative agent activities. In this paper we present a rigorous approach to development and verification of critical MAS in Event-B. We demonstrate how to formally specify complex agent interactions and verify their correctness and safety. We argue that refinement approach facilitates structuring complex requirements and formal reasoning about system-level properties. We illustrate our approach by a case study: formal development of a hospital MAS.authors provable absence of undesirable system deadlocks). Transitivity of the refinement relation allows us to guarantee that the system implementation adheres to the abstract specifications. The Rodin platform (Rodin Platform, 2006) provides the developers with automated tool support for constructing and verifying system models in Event-B.The main novelty of our approach is in demonstrating how to gradually derive a system implementation that satisfies the desired safety properties. It is different from traditional approaches to verification of MAS that extract a model from a system implementation and verify the desired properties by state-exploration. Our approach is not only free of the state explosion problem but also allows the designers to discover restrictions that should be imposed on the system environment to guarantee system safety. The top-down development approach facilitates structuring of complex requirements and improves comprehensibility of formal models. We argue that the formal development in Event-B offers a useful technique for development and verification of complex critical MAS.The paper is structured as follows. In Section 2 we describe our formal modelling framework -Event-B. In Section 3 we define the main principles of formal reasoning about MAS and their properties. In Section 4 we present our case study -a hospital MAS. We show here how to abstractly model a MAS, introduce complex collaborative agent interactions by refinement, as well as verify safety properties. Moreover, we describe the last refinement step that models system decomposition, thus achieving derivation of a distributed implementation from a centralised specification. Finally, in Section 5 we overview the related work, discuss the achieved results and outline our future work.
Formal Modelling and Refinement in Event BWe start by briefly describing our formal development framework. The Event-B formalism is a variation of the B Method (Abrial, 2005), a state-based formal approach that promotes the correct-by-construction development paradigm and formal verification by theorem proving. Event-B has been specifically designed to model and reason about parallel, distributed and reactive systems. Currently Event-B is actively used within the FP7 ICT project Deploy to develop dependable systems from various domains (Deploy Project, 200...