Model Checking Agent Communication

  • J. Bentahar
  • J.-J. Ch. Meyer
  • W. Wan


Model checking is a formal and automatic technique used to verify computational systems (e.g. communication protocols) against given properties. The purpose of this chapter is to describe a model checking algorithm to verify communication protocols used by autonomous agents interacting using dialogue games, which are governed by a set of logical rules. We use a variant of Extended Computation Tree Logic CTL* for specifying these dialogue games and the properties to be checked. This logic, called ACTL*, extends CTL* by allowing formulae to constrain actions as well as states. The verification method uses an on-the-fly efficient algorithm. It is based on translating formulae into a variant of alternating tree automata called Alternating Büchi Tableau Automata (ABTA). We present a tableau-based version of this algorithm and provide the soundness, completeness, termination and complexity results. Two case studies are discussed along with their respective implementations to illustrate the proposed approach. The first one is about an agent-based negotiation protocol and the second one considers a modified version of the NetBill protocol.


Model Check Product Graph Dialogue Game Model Check Algorithm Model Check Technique 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



We would like to thank the reviewers for their valuable comments and suggestions. Jamal Bentahar would like to thank Natural Sciences and Engineering Research Council of Canada (NSERC: Project 341422-07), Fonds québécois de la recherche sur la nature et les technologies (FQRNT: Project 2008-NC-119348) and Fonds québécois de la recherche sur la société et la culture (FQRSC: Project 2007- 111881) for their financial support.


  1. 182.
    Fornara, N., Colombetti, M.: Operational specification of a commitment-based agent communication language. In: Proc. of the International Joint Conference on AAMAS, pp. 535–542 (2002)Google Scholar
  2. 318.
    Moulin, B.: The social dimension of interactions in multi-agent systems. In: Proceedings of the Workshops on Commonsense Reasoning, Intelligent Agents, and Distributed Artificial Intelligence: Agents and Multi-Agent Systems Formalisms, Methodologies, and Applications, pp. 109 – 123 (1998)Google Scholar
  3. 205.
    Halpern, R.F.J., Moses, Y., Vardi, M.: Reasoning about Knowledge. MIT Press, Cambridge (1995)MATHGoogle Scholar
  4. 107.
    Cleaveland, R., Sims, S.: Generic tools for verifying concurrent systems. Science of Computer Programming 41(1), 39–47 (2002)CrossRefGoogle Scholar
  5. 356.
    Rao, A., Georgeff, M.: A model-theoretic approach to the verification of situated reasoning systems. In: Proc. of IJCAI, pp. 318–324 (1993)Google Scholar
  6. 335.
    Pecheur, C., Raimondi, F.: Symbolic model checking of logics with actions. In: Proc. of Model Checking and Artificial Intelligence, pp. 113–128 (2007)Google Scholar
  7. 24.
    Baldoni, M., Baroglio, C., Martelli, A., Patti, V., Schifanella, C.: Verifying protocol conformance for logic-based communicating agents. In: Computational Logic in Multi-Agent Systems, pp. 196–212 (2004)Google Scholar
  8. 4.
    Alberti, M., Chesani, F., Gavanelli, M., Lamma, E., Mello, P., Torroni, P.: Compliance verification of agent interaction: a logic-based tool. In: Proc. of the European Meeting on Cybernetics and Systems Research, Vol. II, pp. 570–575 (2004)Google Scholar
  9. 36.
    Bentahar, J., Maamar, Z., Benslimane, D., Thiran, P.: An argumentation framework for communities of web services. IEEE Intelligent Systems 22(6), 75–83 (2007)Google Scholar
  10. 408.
    Stirling, C., Walker, D.: Local model checking in the modal mu-calculus. In: Proceedings of the International Joint Conference on Theory and Practice of Software Development, pp. 369–383 (1989)Google Scholar
  11. 62.
    Bordini, R., Visser, W., Fisher, M., Pardavila, C., Wooldridge, M.: Model checking multi-agent programs with CASP. In: Computer-Aided Verification, pp. 110–113 (2003)Google Scholar
  12. 316.
    Milner, R.: Operational and algebraic semantics of concurrent processes. In: J. van Leeuwen (ed.) Handbook of Theoretical Computer Science, pp. 1201–1242. Elsevier, Amsterdam (1990)Google Scholar
  13. 354.
    Raimondi, F., Lomuscio, A.: Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation. In: Proc. of the International Joint Conference on AAMAS, pp. 630–637 (2004)Google Scholar
  14. 109.
    Cohen, P., Levesque, H.: Persistence, intentions and commitment. In: Intentions in Communication, pp. 33–69. MIT Press (1990)Google Scholar
  15. 307.
    McBurney, P., Parsons, S.: Games that agents play: A formal framework for dialogues between autonomous agents. Journal of Logic, Language, and Information 11(3), 315–334 (2002)MATHCrossRefMathSciNetGoogle Scholar
  16. 381.
    Sadri, F., Toni, F., Torroni, P.: Dialogues for negotiation: agent varieties and dialogue sequences. In: Proc. of the International workshop on Agents, Theories, Architectures and Languages, pp. 405–421 (2001)Google Scholar
  17. 244.
    Huget, M., Wooldridge, M.: Model checking for ACL compliance verification. In: Advances in Agent Communication, pp. 75–90 (2004)Google Scholar
  18. 266.
    Kacprzak, M., Lomuscio, A., Penczek, W.: Verification of multiagent systems via unbounded model checking. In: Proc. of the International Joint Conference on AAMAS, pp. 638–645 (2004)Google Scholar
  19. 33.
    Benerecetti, M., Cimatti, A.: Symbolic model checking for multi-agent systems. In: Proc. of the International Workshop on Model Checking and AI, pp. 1–8 (2002)Google Scholar
  20. 73.
    Bordini, R.H., Fisher, M., Visser, W., Wooldridge, M.: Verifying Multi-Agent Programs by Model Checking. Journal of Autonomous Agents and Multi-Agent Systems 12(2), 239–256 (2006)CrossRefGoogle Scholar
  21. 355.
    Raimondi, F., Lomuscio, A.: Automatic Verification of Multi-agent Systems by Model Checking via Ordered Binary Decision Diagrams. Journal of Applied Logic 5(2), 235–251 (2007)MATHCrossRefMathSciNetGoogle Scholar
  22. 98.
    Cimatti, A., Clarke, E., Giunchuglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In: Proc. 14th International Conference on Computer Aided Verification (CAV), LNCS, vol. 2404, pp. 359–364. Springer-Verlag (2002)Google Scholar
  23. 430.
    Walton, D.: Model checking agent dialogues. In: Declarative Agent Languages and Technologies, pp. 132–147 (2005)Google Scholar
  24. 446.
    Zhang, D., Cleaveland, R., Stark, E.: The integrated cwb-nc/pioatool for functional verification and performance analysis of concurrent systems. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 431–436 (2003)Google Scholar
  25. 45.
    Bhat, G., Cleaveland, R., Grumberg, O.: Efficient on-the-fly model checking for ctl*. In: The IEEE Symposium on Logics in Computer Science, pp. 388–397 (1995)Google Scholar
  26. 267.
    Kacprzak, M., Penczek, W.: Unbounded model checking for alternating-time temporal logic. In: The International Joint Conference on AAMAS, pp. 646–653 (2004)Google Scholar
  27. 337.
    Penczek, W., Lomuscio, A.: Verifying epistemic properties of multi-agent systems via model checking. Fundamenta Informaticae 55(2), 167–185 (2003)MATHMathSciNetGoogle Scholar
  28. 422.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification (preliminary report). In: Proceedings of the First Annual IEEE Symposium on Logic in Computer Science (LICS 1986), pp. 332–344. IEEE Computer Society Press (1986)Google Scholar
  29. 115.
    Colombetti, M.: A commitment-based approach to agent speech acts and conversations. In: Proc. of the International Autonomous Agent Workshop on Conversational Policies, pp. 21–29 (2000)Google Scholar
  30. 404.
    Singh, M.: Agent communication languages: rethinking the principles. IEEE Computer 31(2), 40–47 (1998)Google Scholar
  31. 108.
    Cohen, M., Dam, M., Lomuscio, A., Russo, F.: Abstraction in model checking multi-agent systems. In: Proc. of AAMAS, pp. 945–952 (2009)Google Scholar
  32. 61.
    Bordini, R., Fisher, M., Pardavila, C., Wooldridge, M.: Model checking AgentSpeak. In: Proceedings of the Second International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’03), pp. 409–416 (2003)Google Scholar
  33. 37.
    Bentahar, J., Moulin, B., Chaib-draa, B.: A persuasion dialogue game based on commitments and arguments. In: Proc. of the International Workshop on Argumentation in Multi-Agent Systems, pp. 148–164 (2004)Google Scholar
  34. 44.
    Bhat, G., Cleaveland, R., Groce, A.: Efficient model checking via büchi tableau automata. In: Computer-Aided Verification, pp. 38–52 (2001)Google Scholar
  35. 304.
    Maudet, N., Chaib-draa, B.: Commitment-based and dialogue-game based protocols, new trends in agent communication languages. Knowledge Engineering Review 17(2), 157–179 (2002)Google Scholar
  36. 35.
    Bentahar, J.: A pragmatic and semantic unified framework for agent communication. Ph.D. thesis, Laval University, Canada (2005)Google Scholar
  37. 165.
    Engelhardt, K., van der Meyden, R., Moses, Y.: Knowledge and the logic of local propositions. In: Proc. of the International Conference on Theoretical Aspects of Reasoning about Knowledge, pp. 29–41 (1998)Google Scholar
  38. 195.
    Giordano, L., Martelli, A., Schwind, C.: Verifying communicating agents by model checking in a temporal action logic. In: Logics in Artificial Intelligence, pp. 57–69 (2004)Google Scholar
  39. 211.
    Havelund, K., Pressburger, T.: Model checking java programs using java pathfinder. International Journal on Software Tools for Technology Transfer (STTT) (1999)Google Scholar
  40. 106.
    Cleaveland, R.: Tableau-based model checking in the propositional mu-calculus. Acta Informatica 27(8), 725–747 (1990)MATHCrossRefMathSciNetGoogle Scholar
  41. 38.
    Bentahar, J., Moulin, B., Meyer, J.-J. Ch., Chaib-draa, B.: A logical model for commitment and argument network for agent communication. In: Proc. of the International Joint Conference on AAMAS, pp. 792–799 (2004)Google Scholar
  42. 440.
    Wooldridge, M., Fisher, M., Huget, M.P., Parsons, S.: Model checking multi-agent systems with MABLE. In: C. Castelfranchi, W.L. Johnson (eds.) Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 952–959. ACM Press (2002)Google Scholar
  43. 117.
    Courcoubetis, C., Vardi, M., Wolper, P., Yannakakis, M.: Memory efficient algorithms for verification of temporal properties. Formal Methods in System Design 1, 275–288 (1992)CrossRefGoogle Scholar
  44. 163.
    Endriss, U., Maudet, N., Sadri, F., Toni, F.: Protocol conformance for logic-based agents. In: Proc. of the International Joint Conference on AI, pp. 679–684 (2003)Google Scholar
  45. 232.
    van der Hoek, W., Wooldridge, M.: Model checking knowledge and time. In: SPIN 2002 - Proceedings of the Ninth International SPIN Workshop on Model Checking of Software, pp. 95–111 (2002)Google Scholar
  46. 405.
    Sirbu, M.: Credits and debits on the internet. IEEE Spectrum 34(2), 23–29 (1997)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Concordia University, Concordia Institute for Information Systems EngineeringMontrealCanada
  2. 2.Department of Computer ScienceUtrecht UniversityUtrechtThe Netherlands

Personalised recommendations