Abstract

We present an automated technique that combines fault injection with model checking to verify fault tolerance, recoverability, and diagnosability in multi-agent systems. We define a general method for mutating a multi-agent systems model representing correct behaviour by injecting faults into it, and specification patterns based on temporal-epistemic formulas to reason about the correct and faulty behaviours of the mutated model. The technique is implemented in a toolkit that can be used for injecting automatically faults into a multi-agent systems program. The usefulness of the methodology is demonstrated by injecting a number of faults into a model of the IEEE 802.5 token ring LAN protocol and analysing the protocol's fault tolerance, by verifying a number of temporal-epistemic specifications.

Highlights

  • The multi-agent systems (MAS) paradigm [1] has been employed successfully in several disciplines studying systems whose core components, or agents, autonomously interact with one another, engaging in communication, negotiation, coordination, etc

  • In the previous sections we have introduced a taxonomy of specifications for reasoning about faults, recovery, and diagnosability in the context of temporal-epistemic specifications for MAS

  • This has formed the backbone of a methodology for model mutation that allows to take any MAS model programmed in ISPL and inject faults automatically into it through a toolkit thereby obtaining an updated model representing the faulty behaviour under analysis

Read more

Summary

Introduction

The multi-agent systems (MAS) paradigm [1] has been employed successfully in several disciplines studying systems whose core components, or agents, autonomously interact with one another, engaging in communication, negotiation, coordination, etc. Techniques that allow automation when injecting faults into the system model are attractive to non-experts in verification due to the high level of usability implied by the automatic nature of both the fault injection and the verification process [9] Due to their modelling formalisms and sole support of temporal logic [18] as a specification language, these tools are not directly applicable for verifying MAS since their specifications involve rich, AI-based primitives, such as knowledge, beliefs, desires and intentions. The mutated model is verified against temporal-epistemic specifications to reason about the correct and faulty behaviours of the MAS, in order to assess properties of fault tolerance, recoverability, and diagnosability.

Background
Interpreted systems and MCMAS
Automatic fault injection
Failure modes
MAS model updates via fault injection
Reasoning about correct and faulty behaviour
Reasoning about total tolerance to injected faults
Reasoning about tolerance to injected intermittent faults
Reasoning about recoverability
Reasoning about diagnosability
A toolkit for fault injection
Evaluation
Overview of the protocol
ISPL implementation
Choice of injected faults
Code mutation
Verifying aspects of recoverability
Verifying aspects of diagnosability
Related work
Conclusions
Limitations
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call