Advertisement

Distributed Computing

, Volume 29, Issue 6, pp 459–487 | Cite as

Formal verification of mobile robot protocols

  • Béatrice Bérard
  • Pascal Lafourcade
  • Laure MilletEmail author
  • Maria Potop-Butucaru
  • Yann Thierry-Mieg
  • Sébastien Tixeuil
Article

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.

Keywords

Mobile robots Verification Model checking 

Notes

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.

References

  1. 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)Google Scholar
  2. 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)Google Scholar
  3. 3.
    Flocchini, P., Ilcinkas, D., Pelc, A., Santoro, N.: Computing without communicating: ring exploration by asynchronous oblivious robots. Algorithmica 65(3), 562–583 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 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)Google Scholar
  5. 5.
    Suzuki, I., Yamashita, M.: Distributed anonymous mobile robots: formation of geometric patterns. SIAM J. Comput. 28(4), 1347–1363 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)CrossRefGoogle Scholar
  12. 12.
    Baier, C., Katoen, J .P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  13. 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)Google Scholar
  14. 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)Google Scholar
  15. 15.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Model checking transactional memories. Distrib. Comput. 22(3), 129–145 (2010)CrossRefzbMATHGoogle Scholar
  16. 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)Google Scholar
  17. 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)Google Scholar
  18. 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)Google Scholar
  19. 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)Google Scholar
  20. 20.
    Tsuchiya, T., Schiper, A.: Verification of consensus algorithms using satisfiability solving. Distrib. Comput. 23, 341–358 (2011)CrossRefzbMATHGoogle Scholar
  21. 21.
    Apt, K.R., Kozen, D.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)MathSciNetCrossRefGoogle Scholar
  22. 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)Google Scholar
  23. 23.
    Suzuki, I.: Proving properties of a ring of finite-state machines. Inf. Process. Lett. 28(4), 213–214 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 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)Google Scholar
  25. 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)Google Scholar
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 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)Google Scholar
  29. 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)Google Scholar
  30. 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)zbMATHGoogle Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 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)Google Scholar
  34. 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)Google Scholar
  35. 35.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language Lustre. Proc. IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
  36. 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)Google Scholar
  37. 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)Google Scholar
  38. 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)Google Scholar
  39. 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)Google Scholar
  40. 40.
    Holzmann, G .J.: The SPIN Model Checker—Primer and Reference Manual, 1st edn. Addison-Wesley, Reading (2004)Google Scholar
  41. 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)Google Scholar
  42. 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)zbMATHGoogle Scholar
  43. 43.
    Harrison, M.A.: Introduction to Formal Language Theory, 1st edn. Addison-Wesley Longman Publishing Co. Inc, Boston (1978)zbMATHGoogle Scholar
  44. 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)Google Scholar
  45. 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)Google Scholar
  46. 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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Béatrice Bérard
    • 1
  • Pascal Lafourcade
    • 2
  • Laure Millet
    • 1
    Email author
  • Maria Potop-Butucaru
    • 1
  • Yann Thierry-Mieg
    • 1
  • Sébastien Tixeuil
    • 1
  1. 1.UPMC Univ Paris 06, CNRS, LIP6 UMR 7606Sorbonne UniversitésParisFrance
  2. 2.CNRS, LIMOS, UMR 6158University Clermont AuvergneClermontFrance

Personalised recommendations