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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 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.
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.
A plan still has to succeed its context check (i.e., meet its preconditions) before being selected for execution.
- 6.
The CSP files are available at: https://doi.org/10.5281/zenodo.4624507.
- 7.
Reported states from a check for freedom from non-determinism using FDR 4.2.7.
References
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
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
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
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)
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
Bordini, R.H., Wooldridge, M., Hübner, J.F.: Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley, Hoboken (2007)
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
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
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)
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
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
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
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
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
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
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978). https://doi.org/10.1145/359576.359585
Holzmann, G.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997). 10/d7wqxt. http://ieeexplore.ieee.org/document/588521/
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
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
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)
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
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
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
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
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
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
Spivey, J.M.: The Z Notation: A Reference Manual. International Series in Computer Science, Prentice-Hall, New York (1992)
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
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)