Debugging Is Explaining
Debugging is a process of finding and reducing the number of bugs, or defects, in a program. A defect typically is detected because the program generates unexpected behaviour. In order to locate the cause of a defect, it therefore is essential to explain why this behaviour is generated. In this paper, we propose a new debugging approach for agent-oriented programming that exploits the structure and basic concepts that are used in logic-based agent programs for providing answers to some of such why questions. Our approach is based on the fact that the behaviour of an agent-oriented program can be traced back to basically two sources. First, agents derive their choice of action from their beliefs and goals - two fundamental programming concepts in agent-oriented programming. These folk psychological concepts provide reasons for doing something. Second, agent programs are rule-based programs and the evaluation of rules to a large extent determines the program’s behaviour.
KeywordsAgent Program Execution Trace Explanation Framework Rule Instance Agent Programming Language
Unable to display preview. Download preview PDF.
- 1.Storey, M.A.: Theories, tools and research methods in program comprehension: past, present and future. Software Quality Control 14(3), 187–208 (2006)Google Scholar
- 2.Pokahr, A., Braubach, L.: A survey of agent-oriented development tools. In: Multi-Agent Programming, pp. 289–329. Springer (2009)Google Scholar
- 5.Taylor, G., Knudsen, K., Holt, L.S.: Explaining agent behavior. In: Proc. of the 15th Conference on Behavior Representation in Modeling and Simulation (2006)Google Scholar
- 8.Hindriks, K.V.: Programming Rational Agents in GOAL. In: Multi-Agent Programming, pp. 119–157. Springer (2009)Google Scholar
- 9.Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A BDI Reasoning Engine. In: Multi-Agent Programming, pp. 149–174. Springer (2005)Google Scholar
- 10.Agent Oriented Software: Jack intelligent agents tracing and logging manual, http://www.aosgrp.com/documentation/jack/JACK_Tracing_Manual_WEB/index.html#Designtracingtool (April 2012)
- 11.Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley (2007)Google Scholar
- 14.Bosse, T., Lam, D.N., Barber, K.S.: Tools for analyzing intelligent agent systems. Web Intelli. and Agent Sys. 6(4), 355–371 (2008)Google Scholar
- 17.Taylor, G., Jones, R.M., Goldstein, M., Frederiksen, R., Wray, R.E.: Vista: A generic toolkit for visualizing agent behavior. In: Proc. of the 11th Conference on Computer Generated Forces and Behavioral Representation, pp. 157–167 (2002)Google Scholar
- 21.Sterling, L., Shapiro, E.: The Art of Prolog: Advanced Programming Techniques, 2nd edn. The MIT Press (1994)Google Scholar
- 22.Lifschitz, V.: On the semantics of STRIPS. In: Georgeff, M., Lansky, A. (eds.) Reasoning about Actions and Plans, pp. 1–9. Morgan Kaufman (1986)Google Scholar