State Space Reduction for Model Checking Agent Programs
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.
KeywordsModel Check Transition System Linear Temporal Logic Agent Program Action Rule
Unable to display preview. Download preview PDF.
- 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
- 4.Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press (2000)Google 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
- 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