Skip to main content

Formal Verification of a Map Merging Protocol in the Multi-agent Programming Contest

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 13190))

Abstract

Communication is a critical part of enabling multi-agent systems to cooperate. This means that applying formal methods to protocols governing communication within multi-agent systems provides useful confidence in its reliability. In this paper, we describe the formal verification of a complex communication protocol that coordinates agents merging maps of their environment. The protocol was used by the LFC team in the 2019 edition of the Multi-Agent Programming Contest (MAPC). Our specification of the protocol is written in Communicating Sequential Processes (CSP), which is a well-suited approach to specifying agent communication protocols due to its focus on concurrent communicating systems. We validate the specification’s behaviour using scenarios where the correct behaviour is known, and verify that eventually all the maps have merged.

Work supported by UK Research and Innovation, and EPSRC Hubs for “Robotics and AI in Hazardous Environments”: EP/R026092 (FAIR-SPACE), EP/R026173 (ORCA), and EP/R026084 (RAIN). The formal specification work was mostly done while the first author was employed by the University of Manchester, UK.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://multiagentcontest.org/

  2. 2.

    http://jacamo.sourceforge.net/.

  3. 3.

    Note that events in CSP are different from Jason BDI events, the former are communication events while the latter are plan triggering events.

  4. 4.

    Source code of the team is available at (the main plans for the map merge protocol are located in “src/agt/strategy/identification.asl”): https://github.com/autonomy-and-verification-uol/mapc2019-liv.

  5. 5.

    A plan still has to succeed its context check (i.e., meet its preconditions) before being selected for execution.

  6. 6.

    The CSP files are available at: https://doi.org/10.5281/zenodo.4624507.

  7. 7.

    Reported states from a check for freedom from non-determinism using FDR 4.2.7.

References

  1. Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T.: The multi-agent programming contest: a résumé. In: Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T. (eds.) MAPC 2019, pp. 3–27. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59299-8_1

  2. Akhtar, N., Missen, M.M.S.: Contribution to the formal specification and verification of a multi-agent robotic system. Eur. J. Sci. Res. 117(1), 35–55 (2014). http://www.europeanjournalofscientificresearch.com

  3. Bakar, N.A., Selamat, A.: Agent systems verification: systematic literature review and mapping. Appl. Intell. 48(5), 1251–1274 (2018). https://doi.org/10.1007/s10489-017-1112-z

    Article  Google Scholar 

  4. Boissier, O., Bordini, R., Hubner, J., Ricci, A.: Multi-Agent Oriented Programming: Programming Multi-Agent Systems Using JaCaMo. Intelligent Robotics and Autonomous Agents Series. MIT Press, Cambridge (2020)

    Google Scholar 

  5. Boissier, O., Bordini, R.H., Hübner, J.F., Ricci, A., Santi, A.: Multi-agent oriented programming with JaCaMo. Sci. Comput. Program. 78(6), 747–761 (2013). https://doi.org/10.1016/j.scico.2011.10.004

    Article  Google Scholar 

  6. Bordini, R.H., Wooldridge, M., Hübner, J.F.: Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley, Hoboken (2007)

    Book  Google Scholar 

  7. Cardoso, R.C., Farrell, M., Luckcuck, M., Ferrando, A., Fisher, M.: Heterogeneous verification of an autonomous curiosity rover. In: Lee, R., Jha, S., Mavridou, A., Giannakopoulou, D. (eds.) NASA Formal Methods, pp. 353–360. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-55754-6_20

  8. Cardoso, R.C., Ferrando, A., Papacchini, F.: LFC: combining autonomous agents and automated planning in the multi-agent programming contest. In: Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T. (eds.) MAPC 2019, pp. 31–58. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59299-8_2

  9. Dennis, L.A., Farwer, B.: Gwendolen: a BDI language for verifiable agents. In: Workshop on Logic and the Simulation of Interaction and Reasoning. AISB (2008)

    Google Scholar 

  10. Dennis, L.A., Fisher, M., Webster, M., Bordini, R.H.: Model checking agent programming languages. Autom. Softw. Eng. 19(1), 5–63 (2012). https://doi.org/10.1007/s10515-011-0088-x

    Article  Google Scholar 

  11. van Eijk, R.M., de Boer, F.S., van der Hoek, W., Meyer, J.J.C.: Process algebra for agent communication: a general semantic approach. In: Huget, M.P. (ed.) Communication in Multiagent Systems. LNCS, pp. 113–128. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-44972-0_5

  12. Farrell, M., Luckcuck, M., Fisher, M.: Robotics and integrated formal methods: necessity meets opportunity. In: Furia, C.A., Winter, K. (eds.) IFM 2018. LNCS, vol. 11023, pp. 161–171. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-98938-9_10

  13. Ferrando, A., Ancona, D., Mascardi, V.: Decentralizing MAS monitoring with DecAMon. In: Larson, K., Winikoff, M., Das, S., Durfee, E.H. (eds.) Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems, AAMAS 2017, São Paulo, Brazil, 8–12 May 2017, pp. 239–248. ACM (2017). http://dl.acm.org/citation.cfm?id=3091164

  14. Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.: FDR3 - a modern model checker for CSP. In: TACAS 2014. LNCS, vol. 8413, pp. 187–201. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54862-8_13

  15. Gracanin, D., Singh, H.L., Hinchey, M.G., Eltoweissy, M., Bohner, S.A.: A CSP-based agent modeling framework for the Cougaar agent-based architecture. In: 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS 2005), pp. 255–262. IEEE (2005). https://doi.org/10.1109/ECBS.2005.6

  16. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978). https://doi.org/10.1145/359576.359585

    Article  MATH  Google Scholar 

  17. Holzmann, G.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997). 10/d7wqxt. http://ieeexplore.ieee.org/document/588521/

  18. Huang, X., van der Meyden, R.: Symbolic model checking epistemic strategy logic. In: Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, pp. 1426–1432. AAAI Press (2014). https://ojs.aaai.org/index.php/AAAI/article/view/8894

  19. Hübner, J.F., Sichman, J.S., Boissier, O.: Developing organised multiagent systems using the MOISE+, model: programming issues at the system and agent levels. Int. J. Agent-Oriented Softw. Eng. 1(3/4), 370–395 (2007). https://doi.org/10.1504/IJAOSE.2007.016266

    Article  Google Scholar 

  20. Izumi, N., Takamatsu, S., Kise, K., Fukunaga, K.: CSP-based formulation of multi-agent communication for a first-order agent theory. Commitment 42, 213–261 (1990)

    MATH  Google Scholar 

  21. Kacem, A.H., Kacem, N.H.: From formal specification to model checking of MAS using CSP-Z and SPIN. Int. J. Comput. Inf. Sci. 5(1) (2007). http://www.ijcis.info/Vol5N1.htm

  22. Lomuscio, A., Raimondi, F.: MCMAS: a model checker for multi-agent systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 450–454. Springer, Heidelberg (2006). https://doi.org/10.1007/11691372_31

  23. Luckcuck, M., Farrell, M., Dennis, L.A., Dixon, C., Fisher, M.: Formal Specification and Verification of Autonomous Robotic Systems: a Survey. ACM Comput. Surv. 52(5), 1–41 (2019). https://doi.org/10.1145/3342355. http://dl.acm.org/citation.cfm?doid=3362097.3342355

  24. Massink, M., Brambilla, M., Latella, D., Dorigo, M., Birattari, M.: On the use of Bio-PEPA for modelling and analysing collective behaviours in swarm robotics. Swarm Intell. 7(2–3), 201–228 (2013). https://doi.org/10.1007/s11721-013-0079-6

    Article  Google Scholar 

  25. Rao, A.S., Georgeff, M.: BDI agents: from theory to practice. In: Proceedings of the 1st International Conference on Multi-Agent Systems (ICMAS), San Francisco, USA, pp. 312–319, June 1995

    Google Scholar 

  26. Ricci, A., Piunti, M., Viroli, M., Omicini, A.: Environment programming in CArtAgO. In: El Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R.H. (eds.) Multi-Agent Programming, pp. 259–288. Springer, Boston, MA (2009). https://doi.org/10.1007/978-0-387-89299-3_8

    Chapter  MATH  Google Scholar 

  27. Spivey, J.M.: The Z Notation: A Reference Manual. International Series in Computer Science, Prentice-Hall, New York (1992)

    MATH  Google Scholar 

  28. Van Eijk, R.M., De Boer, F.S., Van Der Hoek, W., Meyer, J.J.C.: A verification framework for agent communication. Auton. Agents Multi-Agent Syst. 6(2), 185–219 (2003). 10/dzcsw4. https://doi.org/10.1023/A:1021836202093

  29. Vieira, R., Moreira, Á.F., Wooldridge, M., Bordini, R.H.: On the formal semantics of speech-act based communication in an agent-oriented programming language. J. Artif. Intell. Res. (JAIR) 29, 221–267 (2007). https://doi.org/10.1613/jair.2221

    Article  MATH  Google Scholar 

  30. Winikoff, M.: BDI agent testability revisited. Auton. Agents Multi-Agent Syst. 31(5), 1094–1132 (2017). https://doi.org/10.1007/s10458-016-9356-2

    Article  Google Scholar 

  31. Yeung, W.L.: Behavioral modeling and verification of multi-agent systems for manufacturing control. Expert Syst. Appl. 38(11), 13555–13562 (2011). https://doi.org/10.1016/j.eswa.2011.04.067

    Article  Google Scholar 

  32. Zatelli, M.R., Ricci, A., Hübner, J.F.: Integrating interaction with agents, environment, and organisation in JaCaMo. Int. J. Agent-Oriented Softw. Eng. 5(2/3), 266–302 (2016). https://doi.org/10.1504/IJAOSE.2016.080889

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matt Luckcuck .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Luckcuck, M., Cardoso, R.C. (2022). Formal Verification of a Map Merging Protocol in the Multi-agent Programming Contest. In: Alechina, N., Baldoni, M., Logan, B. (eds) Engineering Multi-Agent Systems. EMAS 2021. Lecture Notes in Computer Science(), vol 13190. Springer, Cham. https://doi.org/10.1007/978-3-030-97457-2_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-97457-2_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-97456-5

  • Online ISBN: 978-3-030-97457-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics