Skip to main content
Log in

Formal verification of mobile robot protocols

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

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, in the case of asynchronous execution models, are both cumbersome and error-prone. Our contribution is twofold. We first propose a formal model to describe mobile robot protocols operating in a discrete space i.e., with a finite set of possible robot positions, under synchrony and asynchrony assumptions. We translate this formal model into the DVE language, which is the input format of the model-checkers DiVinE and ITS tools, and formally prove the equivalence of the two models. We then verify several instances of two existing protocols for variants of the ring exploration in an asynchronous setting: exploration with stop and perpetual exclusive exploration. For the first protocol we refine the correctness bounds and for the second one, we exhibit a counter-example. This protocol is then modified and we establish the correctness of the new version with an inductive proof.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

References

  1. Flocchini, P., Prencipe, G., Santoro, N.: Distributed Computing by Oblivious Mobile Robots. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool Publishers, San Rafael, California (2012)

  2. Almeida, A., Ramalho, G., Santana, H., Azevedo Tedesco, P., Menezes, T., Corruble, V., Chevaleyre, Y.: Recent advances on multi-agent patrolling. In: 17th Brazilian Symposium on Artificial Intelligence Advances in Artificial Intelligence—SBIA 2004, São Luis, Maranhão, Brazil, 29 Sept–1 Oct 2004, Proceedings, pp. 474–483 (2004)

  3. Flocchini, P., Ilcinkas, D., Pelc, A., Santoro, N.: Computing without communicating: ring exploration by asynchronous oblivious robots. Algorithmica 65(3), 562–583 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  4. Blin, L., Milani, A., Potop-Butucaru, M., Tixeuil, S.: Exclusive perpetual ring exploration without chirality. In: Proceedings of 24th International Symposium in Distributed Computing (DISC’10), vol. 6343 of LNCS, pp. 312–327. Springer (2010)

  5. Suzuki, I., Yamashita, M.: Distributed anonymous mobile robots: formation of geometric patterns. SIAM J. Comput. 28(4), 1347–1363 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  6. Clerentin, A., Delafosse, M., Delahoche, L., Marhic, B., Jolly-Desodt, A.: Uncertainty and imprecision modeling for the mobile robot localization problem. Auton. Robots 24(3), 267–283 (2008)

    Article  Google Scholar 

  7. D’Angelo, G., Di Stefano, G., Navarra, A.: Gathering of six robots on anonymous symmetric rings. In: Proceedings of 18th International Colloquium on Structural Information and Communication Complexity (SIROCCO’11), volume 6796 of LNCS, pp. 174–185. Springer (2011)

  8. Kamei, S., Lamani, A., Ooshita, F., Tixeuil, S.: Asynchronous mobile robot gathering from symmetric configurations without global multiplicity detection. In: Proceedings of 18th International Colloquium on Structural Information and Communication Complexity (SIROCCO’11), vol. 6796 of LNCS, pp. 150–161. Springer (2011)

  9. Lamani, A., Kamei, S., Ooshita, F., Tixeuil, S.: Gathering an even number of robots in an odd ring without global multiplicity detection. In: Proceedings of International Conference on Mathematical Foundations of Computer Science (MFCS’12), vol. 7464 of LNCS, pp. 542–553. Springer (2012)

  10. Flocchini, P., Prencipe, G., Santoro, N., Widmayer, P.: Gathering of asynchronous robots with limited visibility. Theor. Comput. Sci. 337(1–3), 147–168 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  11. Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)

    Book  Google Scholar 

  12. Baier, C., Katoen, J .P.: Principles of Model Checking. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  13. Lamport, L., Merz, S.: Specifying and verifying fault-tolerant systems. In: Proceedings of Third International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT’94), organized jointly with the Working Group Provably Correct Systems—ProCoS, vol. 863 of LNCS, pp. 41–76. Springer (1994)

  14. Kulkarni, S.S., Bonakdarpour, B., Ebnenasir, A.: Mechanical verification of automatic synthesis of fault-tolerant programs. In: Proceedings of 14th International Symposium on Logic Based Program Synthesis and Transformation (LOPSTR’ 04), vol. 3573 of LNCS, pp. 36–52. Springer (2004)

  15. Guerraoui, R., Henzinger, T.A., Singh, V.: Model checking transactional memories. Distrib. Comput. 22(3), 129–145 (2010)

    Article  MATH  Google Scholar 

  16. Chatzigiannakis, I., Michail, O., Spirakis, P.G.: Algorithmic verification of population protocols. In: Proceedings of 12th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’10), vol. 6366 of LNCS, pp. 221–235. Springer (2010)

  17. Clément, J., Delporte-Gallet, C., Fauconnier, H., Sighireanu, M.: Guidelines for the verification of population protocols. In: Proceedings of 31st International Conference on Distributed Computing Systems (ICDCS’11), pp. 215–224. IEEE (2011)

  18. Charron-Bost, B., Debrat, H., Merz, S.: Formal verification of consensus algorithms tolerating malicious faults. In: Proceedings of 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’11), vol. 6976 of LNCS, pp. 120–134. Springer (2011)

  19. Lu, T., Merz, S., Weidenbach, C.: Towards verification of the pastry protocol using TLA\(^{{+}}\). In: Proceedings of Joint 13t International Conference (FMOODS’11) 2011, and 31st International Conference (FORTE’11) on Formal Techniques for Distributed Systems, volume 6722 of LNCS, pp. 244–258. Springer (2011)

  20. Tsuchiya, T., Schiper, A.: Verification of consensus algorithms using satisfiability solving. Distrib. Comput. 23, 341–358 (2011)

    Article  MATH  Google Scholar 

  21. Apt, K.R., Kozen, D.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)

    Article  MathSciNet  Google Scholar 

  22. Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: 14th Annual Symposium on Logic in Computer Science, pp. 352–359. IEEE (1999)

  23. Suzuki, I.: Proving properties of a ring of finite-state machines. Inf. Process. Lett. 28(4), 213–214 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  24. Aminof, B., Kotek, T., Rubin, S., Spegni, F., Veith, H.: Parameterized model checking of rendezvous systems. In: Paolo, B., Daniele, G. (eds.) CONCUR 2014 Concurrency Theory, vol. 8704 of Lecture Notes in Computer Science, pp. 109–124. Springer, Berlin (2014)

  25. Allen Emerson, E., Namjoshi, K.S.: Reasoning about rings. In: Proceedings of the 22Nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’95, pp. 85–94. ACM, New York (1995)

  26. Manna, Z., Pnueli, A.: Temporal verification diagrams. In: Proceedings of International Conference on Theoretical Aspects of Computer Software (TACS’94), vol. 789 of LNCS, pp. 726–765. Springer (1994)

  27. Clarke, E.M., Grumberg, O., Jha, S.: Veryfying parameterized networks using abstraction and regular languages. In: Proceedings of 6th International Conference on Concurrency Theory (CONCUR’95), vol. 962 of LNCS, pp. 395–407. Springer (1995)

  28. Bjørner, N., Browne, A., Chang, E.Y., Colón, M., Kapur, A., Manna, Z., Sipma, H., Uribe, T.E.: Step: deductive-algorithmic verification of reactive and real-time systems. In: Proceedings of 8th International Conference on Computer Aided Verification (CAV’96), vol. 1102 of LNCS, pp. 415–418. Springer (1996)

  29. de Alfaro, L., Manna, Z., Sipma, H.B., Uribe, T.E.: Visual verification of reactive systems. In: Proceedings of 3rd International Workshop on Tools and Algorithms for Construction and Analysis of Systems (TACAS’97), vol. 1217 of LNCS, pp. 334–350. Springer (1997)

  30. Cansell, D., Méry, D., Merz, S.: Diagram refinements for the design of reactive systems. J. Univ. Comput. Sci. 7(2), 159–174 (2001)

    MATH  Google Scholar 

  31. Arons, T., Pnueli, A., Ruah, S., Xu, J., Zuck, L.D.: Parameterized verification with automatically computed inductive assertions. In: Proceedings of 13th International Conference on Computer Aided Verification (CAV’01), vol. 2102 of LNCS, pp. 221–234. Springer (2001)

  32. Gmeiner, A., Konnov, I., Schmid, U., Veith, H., Widder J.: Tutorial on parameterized model checking of fault-tolerant distributed algorithms. In Marco, B., Ferruccio, D., Reiner, H., EinarBroch, J., Ina S. (eds.) Formal Methods for Executable Software Models, vol. 8483 of Lecture Notes in Computer Science, pp. 122–171. Springer International Publishing (2014)

  33. Devismes, S., Lamani, A., Petit, F., Raymond, P., Tixeuil, S.: Optimal grid exploration by asynchronous oblivious robots. In: Proceedings of 14th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’12), vol. 7596 of LNCS, pp. 64–76. Springer (2012)

  34. Bonnet, F., Défago, X., Petit, F., Potop-Butucaru, M., Tixeuil, S.: Brief announcement: discovering and assessing fine-grained metrics in robot networks protocols. In: Proceedings of 14th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’12), vol. 7596 of LNCS, pp. 282–284. Springer (2012)

  35. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language Lustre. Proc. IEEE 79(9), 1305–1320 (1991)

    Article  Google Scholar 

  36. Barnat, J., Brim, L., Havel, V., Havlícek, J., Kriho, J., Lenco, M., Rockai, P., Still, V., Weiser, J.: Divine 3.0—an explicit-state model checker for multithreaded C & C\(++\) programs. In: Proceedings of 25th International Conference on Computer Aided Verification (CAV’13), vol. 8044 of LNCS, pp. 863–868. Springer (2013)

  37. Colange, M., Baarir, S., Kordon, F., Thierry-Mieg, Y.: Towards distributed software model-checking using decision diagrams. In: Proceedings of 25th International Conference on Computer Aided Verification (CAV’13), vol. 8044 of LNCS, pp. 830–845. Springer (2013)

  38. Behrmann, G., Cougnard, A., David, A., Fleury, E., Guldstrand Larsen, K., Lime, D.: Uppaal-tiga: time for playing games! In: 19th International Conference on Computer Aided Verification, CAV’07, vol. 4590 of Lecture Notes in Computer Science, pp. 121–125. Springer (2007)

  39. Barnat, J., Brim, L., Češka, M., Ročkai, P.: DiVinE: parallel distributed model checker (tool paper). In: Sharygina, N., Veith, H. (eds.) Parallel and Distributed Methods in Verification and High Performance Computational Systems Biology, pp. 4–7. IEEE (2010)

  40. Holzmann, G .J.: The SPIN Model Checker—Primer and Reference Manual, 1st edn. Addison-Wesley, Reading (2004)

    Google Scholar 

  41. Blom, S., van de Pol, J., Weber, M.: Ltsmin: Distributed andsymbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) Computer Aided Verification, vol. 6174 of Lecture Notes in Computer Science, pp. 354–359. Springer, Berlin (2010)

  42. Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., Schnoebelen, P.: Systems and Software Verification: Model-Checking Techniques and Tools, 1st edn. Springer Publishing Company Incorporated, Berlin (2010)

    MATH  Google Scholar 

  43. Harrison, M.A.: Introduction to Formal Language Theory, 1st edn. Addison-Wesley Longman Publishing Co. Inc, Boston (1978)

    MATH  Google Scholar 

  44. Bengtsson, J., Larsen, K.G., Larsson, F., Pettersson, P., Yi, W.: Uppaal—a tool suite for automatic verification of real-time systems. In: Proceedings of Workshop on Verification and Control of Hybrid Systems III, Number 1066 in Lecture Notes in Computer Science, pp. 232–243. Springer (1995)

  45. Millet, L., Potop-Butucaru, M., Sznajder, N., Tixeuil, S.: On the synthesis of mobile robots algorithms: the case of ring gathering. In: Proceedings of 16th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’14), vol. 8756 of Lecture Notes in Computer Science, pp. 237–251. Springer (2014)

  46. Ramadge, W.M., Wonham, P.J.: Supervisory control of a class of discrete event processes. In: Proceedings of 6th International Conference on Analysis and Optimization of Systems, vol. 63 of LNCS. Springer (1984)

Download references

Acknowledgments

We are very grateful to anonymous referees for their careful reading and suggestions that were a great help for improving the presentation of this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laure Millet.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bérard, B., Lafourcade, P., Millet, L. et al. Formal verification of mobile robot protocols. Distrib. Comput. 29, 459–487 (2016). https://doi.org/10.1007/s00446-016-0271-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-016-0271-1

Keywords

Navigation