State Space Reduction for Model Checking Agent Programs
Abstract
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.
Keywords
Model Check Transition System Linear Temporal Logic Agent Program Action RulePreview
Unable to display preview. Download preview PDF.
References
- 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.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.Bordini, R., Fisher, M., Wooldridge, M., Visser, W.: Property-based Slicing for Agent Verification. Journal of Logic and Computation 19(6), 1385–1425 (2009)MathSciNetCrossRefMATHGoogle Scholar
- 4.Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press (2000)Google Scholar
- 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.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.Holzmann, G.: The SPIN Model Checker. Addison-Wesley (2003)Google Scholar
- 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.Hopcroft, J., Tarjan, R.: Efficient Algorithms for Graph Manipulation. Tech. Rep. STAN-CS-71-207, Stanford University (1971)Google Scholar
- 10.Jongmans, S.-S.T.Q.: Model Checking Goal Agents. Master’s thesis, Delft University of Technology (2010)Google Scholar
- 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.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)MathSciNetMATHGoogle Scholar
- 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.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.Tip, F.: A Survey of Program Slicing Techniques. Tech. Rep. CS-R9438, Centrum Wiskunde & Informatica (1994)Google Scholar
- 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