[Invited Paper] 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-by-design optimal protocols, and certifying impossibility results. We also present related open questions to further develop this path of research.

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

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

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

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

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

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

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

[8]  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.

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

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

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

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

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

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

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

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

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

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

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

[20]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

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

[22]  Pascal Raymond,et al.  Optimal Grid Exploration by Asynchronous Oblivious Robots , 2011, SSS.

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

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

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

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

[27]  Martín Abadi,et al.  Realizable and Unrealizable Specifications of Reactive Systems , 1989, ICALP.

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

[29]  Michael Norrish,et al.  seL4: formal verification of an operating-system kernel , 2010, Commun. ACM.

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

[31]  Petr Ročkai,et al.  DiVinE: Parallel Distributed Model Checker (Tool paper) , 2010 .

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

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

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

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

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

[37]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

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

[39]  Ching-Tsun Chou Mechanical Verification of Distributed Algorithms in Higher-Order Logic , 1995, Comput. J..

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

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

[42]  Rachid Guerraoui,et al.  Model checking transactional memories , 2010, Distributed Computing.

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

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

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

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

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

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

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

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

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

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