Using Model Checking to Formally Verify Rendezvous Algorithms for Robots with Lights in Euclidean Space

07/23/2019
by   Xavier Défago, et al.
0

The paper details the first successful attempt at using model-checking techniques to verify the correctness of distributed algorithms for robots evolving in a continuous environment. The study focuses on the problem of rendezvous of two robots with lights. There exist many different rendezvous algorithms that aim at finding the minimal number of colors needed to solve rendezvous in various synchrony models (e.g., FSYNC, SSYNC, ASYNC). While these rendezvous algorithms are typically very simple, their analysis and proof of correctness tend to be extremely complex, tedious, and error-prone as impossibility results are based on subtle interactions between robots activation schedules. The paper presents a generic verification model written for the SPIN model-checker. In particular, we explain the subtle design decisions that allow to keep the search space finite and tractable, as well as prove several important theorems that support them. As a sanity check, we use the model to verify several known rendezvous algorithms in six different models of synchrony. In each case, we find that the results obtained from the model-checker are consistent with the results known in the literature. The model-checker outputs a counter-example execution in every case that is known to fail. In the course of developing and proving the validity of the model, we identified several fundamental theorems, including the ability for a well chosen algorithm and ASYNC scheduler to produce an emerging property of memory in a system of oblivious mobile robots, and why it is not a problem for luminous rendezvous algorithms.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/08/2012

Minimal Proof Search for Modal Logic K Model Checking

Most modal logics such as S5, LTL, or ATL are extensions of Modal Logic ...
research
07/01/2021

On the (Non-)Applicability of a Small Model Theorem to Model Checking STMs

Software Transactional Memory (STM) algorithms provide programmers with ...
research
04/21/2021

Tutorial: Designing Distributed Software in mCRL2

Distributed software is very tricky to implement correctly as some error...
research
12/28/2018

Cooperation of Multiple Autonomous Robots and Analysis of their Swarm Behavior

In this paper, we extended previous studies of cooperating autonomous ro...
research
11/10/2021

Software Model-Checking as Cyclic-Proof Search

This paper shows that a variety of software model-checking algorithms ca...
research
07/11/2023

Process-Algebraic Models of Multi-Writer Multi-Reader Non-Atomic Registers

We present process-algebraic models of multi-writer multi-reader safe, r...
research
05/12/2023

Linearizability Analysis of the Contention-Friendly Binary Search Tree

We present a formal framework for proving the correctness of set impleme...

Please sign up or login with your details

Forgot password? Click here to reset