Formal Methods for Mobile Robots: Current Results and Open Problems

Mobile robot networks emerged in the past few years as a promising distributed computing model. Existing work in the literature typically ensures the correctness of mobile robot protocols via ad hoc handwritten proofs, which are both cumbersome and error-prone. This paper surveys state-of-the-art results about applying formal methods approaches (namely, model-checking, program synthesis, and proof assistants) to the context of mobile robot networks. Those methods already proved useful for bug-hunting in published literature, designing correct-bydesign optimal protocols, and certifying impossibility results. We also present related open questions to further develop this path of research.

[1]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[2]  Maria Gradinariu Potop-Butucaru,et al.  Exclusive Perpetual Ring Exploration without Chirality , 2010, DISC.

[3]  Masafumi Yamashita,et al.  Distributed Anonymous Mobile Robots: Formation of Geometric Patterns , 1999, SIAM J. Comput..

[4]  Jan Friso Groote,et al.  Formalizing process algebraic verifications in the calculus of constructions , 2005, Formal Aspects of Computing.

[5]  Maria Gradinariu Potop-Butucaru,et al.  Distributed Computing with Mobile Robots: An Introductory Survey , 2011, 2011 14th International Conference on Network-Based Information Systems.

[6]  Maria Gradinariu Potop-Butucaru,et al.  On the Synthesis of Mobile Robots Algorithms: The Case of Ring Gathering , 2014, SSS.

[7]  Nicola Santoro,et al.  Gathering of asynchronous robots with limited visibility , 2005, Theor. Comput. Sci..

[8]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[9]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.

[10]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[11]  Sébastien Tixeuil,et al.  Impossibility of gathering, a certification , 2015, Inf. Process. Lett..

[12]  Thomas Wilke,et al.  Automata logics, and infinite games: a guide to current research , 2002 .

[13]  Xavier Défago,et al.  Discovering and Assessing Fine-Grained Metrics in Robot Networks Protocols , 2012, 2014 IEEE 33rd International Symposium on Reliable Distributed Systems Workshops.

[14]  Henny B. Sipma,et al.  Visual Verification of Reactive Systems , 1997, TACAS.

[15]  Stephan Merz,et al.  Towards Verification of the Pastry Protocol Using TLA + , 2011, FMOODS/FORTE.

[16]  Zohar Manna,et al.  Temporal Verification Diagrams , 1994, TACS.

[17]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, Logic of Programs.

[18]  Wan Fokkink,et al.  Modelling Distributed Systems , 2010, Texts in Theoretical Computer Science. An EATCS Series.

[19]  Uwe Nestmann,et al.  Formal Verification of Distributed Algorithms - From Pseudo Code to Checked Proofs , 2012, IFIP TCS.

[20]  Carole Delporte-Gallet,et al.  Guidelines for the Verification of Population Protocols , 2011, 2011 31st International Conference on Distributed Computing Systems.

[21]  Ching-Tsun Chou,et al.  Mechanical Verification of Distributed Algorithms in Higher-Order Logic , 1994, Comput. J..

[22]  Xavier Défago,et al.  Brief Announcement: Discovering and Assessing Fine-Grained Metrics in Robot Networks Protocols , 2012, SSS.

[23]  Christel Baier,et al.  Principles of model checking , 2008 .

[24]  Rachid Guerraoui,et al.  Model checking transactional memories , 2008, PLDI '08.

[25]  Stephan Merz,et al.  TLA + Proofs , 2012, FM.

[26]  Pierre Castéran,et al.  Certifying Distributed Algorithms by Embedding Local Computation Systems in the Coq Proof Assistant , 2009 .

[27]  Dominique Cansell,et al.  The event-B Modelling Method: Concepts and Case Studies , 2008 .

[28]  Guillaume Hanrot,et al.  Primality Proving with Elliptic Curves , 2007, TPHOLs.

[29]  Lubos Brim,et al.  DiVinE: Parallel Distributed Model Checker , 2010, 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology.

[30]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[31]  L. Lamport,et al.  1 Realizable and Unrealizable Specifications of Reactive Systems , 2000 .

[32]  Georges Gonthier,et al.  Formal Proof—The Four- Color Theorem , 2008 .

[33]  Stephan Merz,et al.  Model Checking , 2000 .

[34]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[35]  Dominique Cansell,et al.  Diagram Refinements for the Design of Reactive Systems , 2001, J. Univers. Comput. Sci..

[36]  Xavier Leroy,et al.  A Formally Verified Compiler Back-end , 2009, Journal of Automated Reasoning.

[37]  Yuxin Deng,et al.  Verifying Self-stabilizing Population Protocols with Coq , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[38]  Laurence Pierre,et al.  Formal Proof of Applications Distributed in Symmetric Interconnection Networks , 2003, Parallel Process. Lett..

[39]  Tatsuhiro Tsuchiya,et al.  Verification of consensus algorithms using satisfiability solving , 2011, Distributed Computing.

[40]  Alonzo Church,et al.  Logic, arithmetic, and automata , 1962 .

[41]  D. Sangiorgi Introduction to Bisimulation and Coinduction , 2011 .

[42]  Somesh Jha,et al.  Veryfying Parameterized Networks using Abstraction and Regular Languages , 1995, CONCUR.

[43]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[44]  Gilles Barthe,et al.  Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols , 2012, IACR Cryptol. ePrint Arch..

[45]  Paul G. Spirakis,et al.  Algorithmic Verification of Population Protocols , 2010, SSS.

[46]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[47]  Sébastien Tixeuil,et al.  Certified Impossibility Results for Byzantine-Tolerant Mobile Robots , 2013, SSS.

[48]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[49]  Nicola Santoro,et al.  Distributed Computing by Oblivious Mobile Robots , 2012, Synthesis Lectures on Distributed Computing Theory.

[50]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[51]  Amir Pnueli,et al.  Parameterized Verification with Automatically Computed Inductive Assertions , 2001, CAV.

[52]  Leslie Lamport,et al.  Byzantizing Paxos by Refinement , 2011, DISC.

[53]  Marta Z. Kwiatkowska,et al.  Probabilistic verification of Herman’s self-stabilisation algorithm , 2012, Formal Aspects of Computing.

[54]  Sébastien Tixeuil,et al.  A Taxonomy of Daemons in Self-stabilization , 2011, ArXiv.

[55]  Georges Gonthier,et al.  Engineering mathematics: the odd order theorem proof , 2013, POPL.