Model Checking Agent Programs by Using the Program Interpreter

  • Sung-Shik T. Q. Jongmans
  • Koen V. Hindriks
  • M. Birna van Riemsdijk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6245)


Model checking agent programs is a challenge and it is still a question which approaches can suitably be applied to effectively model check such programs. We present a new approach to explicit-state, on-the-fly model checking for agent programs. In this approach we use the agent program interpreter for generating the state space. A model checker is built on top of this interpreter by implementing efficient transformations of temporal properties to Büchi automata and an efficient bookkeeping mechanism that maintains track of states that have been visited. The proposed approach is generic and can be applied to different agent programming frameworks. We evaluate this approach to model checking by comparing it empirically with an approach based on the Maude model checker, and one based on the Agent Infrastructure Layer (AIL) intermediate language in combination with JPF. It turns out that although our approach does not use state-space reduction techniques, it shows significantly improved performance over these approaches. To the best of our knowledge, no such comparisons of approaches to model checking agent programs have been done before.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bordini, R.H., Fisher, M., Pardavila, C., Wooldridge, M.: Model checking agentspeak. In: Proceedings of the 2nd International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 409–416. ACM, New York (2003)CrossRefGoogle Scholar
  2. 2.
    Bordini, R.H., Fisher, M., Visser, W., Wooldridge, M.: Verifiable multi-agent programs. In: Dastani, M.M., Dix, J., El Fallah-Seghrouchni, A. (eds.) PROMAS 2003. LNCS (LNAI), vol. 3067, pp. 72–89. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Bordini, R.H., Dennis, L.A., Farwer, B., Fisher, M.: Automated verificiation of multi-agent programs. In: 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 69–78. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar
  4. 4.
    Dennis, L.A., Fisher, M.: Programming verifiable heterogeneous agent systems. In: Hindriks, K.V., Pokahr, A., Sardina, S. (eds.) ProMAS 2008. LNCS, vol. 5442, pp. 40–55. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Kacprzak, M., Nabialek, W., Niewiadomski, A., Penczek, W., Pólrola, A., Szreter, M., Wozna, B., Zbrzezny, A.: Verics 2007 - a model checker for knowledge and real-time. Fundamenta Informaticae 85, 313–328 (2008)MATHMathSciNetGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    van Riemsdijk, M.B., de Boer, F.S., Dastani, M., Meyer, J.J.C.: Prototyping 3apl in the maude term rewriting language. In: Inoue, K., Satoh, K., Toni, F. (eds.) CLIMA 2006. LNCS (LNAI), vol. 4371, pp. 95–114. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Wooldridge, M., Fisher, M., Huget, M.P., Parsons, S.: Model checking multi-agent systems with mable. In: Proceedings of the 1st International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 952–959. ACM, New York (2002)CrossRefGoogle Scholar
  9. 9.
    Holzmann, G.J.: The SPIN model checker. Addison-Wesley, Reading (2003)Google Scholar
  10. 10.
    Dennis, L.A., Farwer, B., Bordini, R.H., Fisher, M., Wooldridge, M.: A common semantic basis for bdi languages. In: Dastani, M.M., El Fallah Seghrouchni, A., Ricci, A., Winikoff, M. (eds.) ProMAS 2007. LNCS (LNAI), vol. 4908, pp. 124–139. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering 10, 203–232 (2004)CrossRefGoogle Scholar
  12. 12.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: specification and programming in rewriting logic. Theoretical Computer Science 285, 187–243 (2002)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Eker, S., Meseguer, J., Sridharanarayanan, A.: The maude ltl model checker. In: Proceedings of the 4th International Workshop on Rewriting Logic and its Applications, pp. 162–187. Elsevier Science, Amsterdam (2002)Google Scholar
  14. 14.
    Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.J.C.: Agent programming with declarative goals. In: Castelfranchi, C., Lespérance, Y. (eds.) ATAL 2000. LNCS (LNAI), vol. 1986, pp. 248–257. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model checking. The MIT Press, Cambridge (1999)Google Scholar
  16. 16.
    Emerson, E.: Temporal and modal logic. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models and Semantics, vol. B, pp. 996–1072. Elsevier, Amsterdam (1990)Google Scholar
  17. 17.
    Hindriks, K.V.: Programming rational agents in goal. Multi-Agent Programming, 119–157 (2009)Google Scholar
  18. 18.
    Slaney, J., Thiébaux, S.: Blocks world revisited. Artificial Intelligence 125, 119–153 (2001)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Daniele, M., Giunchiglia, F., Vardi, M.Y.: Improved automata generation for linear temporal logic. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    Tauriainen, H.: Nested emptiness search for generalized buchi automata. In: Proceedings of the 4th International Conference on Application of Concurrency to System Design, pp. 165–174 (2004)Google Scholar
  21. 21.
    Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice-Hall, Englewood Cliffs (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Sung-Shik T. Q. Jongmans
    • 1
  • Koen V. Hindriks
    • 1
  • M. Birna van Riemsdijk
    • 1
  1. 1.Delft University of Technology 

Personalised recommendations