State Space Reduction for Model Checking Agent Programs

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


State space reduction techniques have been developed to increase the efficiency of model checking in the context of imperative programming languages. Unfortunately, these techniques cannot straightforwardly be applied to agents: the nature of states in the two programming paradigms differs too much for this to be possible. To resolve this, we adapt core definitions on which existing reduction algorithms are based to agents. Moreover, the framework that we introduce is such that different reduction algorithms can be defined in terms of the same relations. This is beneficial because it enables the reuse of code and reduces computation time when different techniques are used simultaneously. Specifically, we adapt and combine two known techniques: property-based slicing and partial order reduction. We exemplify our work with the Goal agent programming language, and implement the theory that we present for Goal. Several experiments with this implementation show that performance is in line with known results from traditional model checking.


Model Check Transition System Linear Temporal Logic Agent Program Action Rule 
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.


  1. 1.
    Bordini, R., Dennis, L., Farwer, B., Fisher, M.: Automated Verification of Multi-Agent Programs. In: Proceedings of ASE, pp. 69–78 (2008)Google Scholar
  2. 2.
    Bordini, R., Fisher, M., Visser, W., Wooldridge, M.: State-Space Reduction Techniques in Agent Verification. In: Proceedings of AAMAS, pp. 896–903 (2004)Google Scholar
  3. 3.
    Bordini, R., Fisher, M., Wooldridge, M., Visser, W.: Property-based Slicing for Agent Verification. Journal of Logic and Computation 19(6), 1385–1425 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press (2000)Google Scholar
  5. 5.
    Dennis, L.A., Farwer, B., Bordini, R.H., Fisher, M., Wooldridge, M.J.: A Common Semantic Basis for BDI Languages. In: Dastani, M., El Fallah Seghrouchni, A., Ricci, A., Winikoff, M. (eds.) ProMAS 2007. LNCS (LNAI), vol. 4908, pp. 124–139. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Hindriks, K.: Programming Rational Agents in Goal. In: El Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R. (eds.) Multi-Agent Programming, pp. 119–157. Springer (2009)Google Scholar
  7. 7.
    Holzmann, G.: The SPIN Model Checker. Addison-Wesley (2003)Google Scholar
  8. 8.
    Holzmann, G., Peled, D., Yannakakis, M.: On Nested Depth First Search. In: Grégoire, J.C., Holzmann, G., Peled, D. (eds.) The SPIN Verification System, DIMACS, vol. 32, pp. 23–31. American Mathematical Society (1997)Google Scholar
  9. 9.
    Hopcroft, J., Tarjan, R.: Efficient Algorithms for Graph Manipulation. Tech. Rep. STAN-CS-71-207, Stanford University (1971)Google Scholar
  10. 10.
    Jongmans, S.-S.T.Q.: Model Checking Goal Agents. Master’s thesis, Delft University of Technology (2010)Google Scholar
  11. 11.
    Jongmans, S.-S.T.Q., Hindriks, K.V., van Riemsdijk, M.B.: Model Checking Agent Programs by Using the Program Interpreter. In: Dix, J., Leite, J., Governatori, G., Jamroga, W. (eds.) CLIMA XI. LNCS, vol. 6245, pp. 219–237. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Lomuscio, A., Penczek, W., Qu, H.: Partial Order Reductions for Model Checking Temporal-epistemic Logics over Interleaved Multi-agent Systems. Fundamenta Informaticae 101(1-2), 71–90 (2010)MathSciNetzbMATHGoogle Scholar
  13. 13.
    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
  14. 14.
    Pelánek, R.: Fighting State Space Explosion: Review and Evaluation. In: Cofer, D., Fantechi, A. (eds.) FMICS 2008. LNCS, vol. 5596, pp. 37–52. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Tip, F.: A Survey of Program Slicing Techniques. Tech. Rep. CS-R9438, Centrum Wiskunde & Informatica (1994)Google Scholar
  16. 16.
    Zhao, J., Cheng, J., Ushijima, K.: Literal Dependence Net and Its Use in Concurrent Logic Programming Environment. In: Proceedings of Workshop on Parallel Logic Programming, pp. 127–141 (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sung-Shik T. Q. Jongmans
    • 1
  • Koen V. Hindriks
    • 2
  • M. Birna van Riemsdijk
    • 2
  1. 1.Centrum Wiskunde & InformaticaAmsterdamThe Netherlands
  2. 2.Delft University of TechnologyDelftThe Netherlands

Personalised recommendations