Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Storey, M.A.: Theories, tools and research methods in program comprehension: past, present and future. Software Quality Control 14(3), 187–208 (2006)
Pokahr, A., Braubach, L.: A survey of agent-oriented development tools. In: Multi-Agent Programming, pp. 289–329. Springer (2009)
Lacave, C., Diez, F.J.: A review of explanation methods for heuristic expert systems. The Knowledge Engineering Review 19(02), 133–146 (2004)
Gregor, S., Benbasat, I.: Explanations from intelligent systems: theoretical foundations and implications for practice. MIS Quarterly 23(4), 497–530 (1999)
Taylor, G., Knudsen, K., Holt, L.S.: Explaining agent behavior. In: Proc. of the 15th Conference on Behavior Representation in Modeling and Simulation (2006)
Collier, R.: Debugging Agents in Agent Factory. In: Bordini, R.H., Dastani, M.M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 229–248. Springer, Heidelberg (2007)
Dastani, M., Brandsema, J., Dubel, A., Meyer, J.-J.C.: Debugging BDI-Based Multi-Agent Programs. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS, vol. 5919, pp. 151–169. Springer, Heidelberg (2010)
Hindriks, K.V.: Programming Rational Agents in GOAL. In: Multi-Agent Programming, pp. 119–157. Springer (2009)
Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A BDI Reasoning Engine. In: Multi-Agent Programming, pp. 149–174. Springer (2005)
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)
Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley (2007)
Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W., Renz, W.: Validation of BDI Agents. In: Bordini, R.H., Dastani, M.M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 185–200. Springer, Heidelberg (2007)
Pothier, G., Tanter, E.: Back to the future: Omniscient debugging. IEEE Software 26(6), 78–95 (2009)
Bosse, T., Lam, D.N., Barber, K.S.: Tools for analyzing intelligent agent systems. Web Intelli. and Agent Sys. 6(4), 355–371 (2008)
Eisenstadt, M.: My hairiest bug war stories. Com. of the ACM 40(4), 30–37 (1997)
Pothier, G., Tanter, É.: Summarized Trace Indexing and Querying for Scalable Back-in-Time Debugging. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 558–582. Springer, Heidelberg (2011)
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)
Broekens, J., Harbers, M., Hindriks, K., van den Bosch, K., Jonker, C., Meyer, J.-J.: Do You Get It? User-Evaluated Explainable BDI Agents. In: Dix, J., Witteveen, C. (eds.) MATES 2010. LNCS, vol. 6251, pp. 28–39. Springer, Heidelberg (2010)
Sindlar, M.P., Dastani, M.M., Dignum, F., Meyer, J.-J.C.: Mental State Abduction of BDI-Based Agents. In: Baldoni, M., Son, T.C., van Riemsdijk, M.B., Winikoff, M. (eds.) DALT 2008. LNCS (LNAI), vol. 5397, pp. 161–178. Springer, Heidelberg (2009)
Slaney, J., Thibaux, S.: Blocks world revisited. Artificial Intelligence 125(12), 119–153 (2001)
Sterling, L., Shapiro, E.: The Art of Prolog: Advanced Programming Techniques, 2nd edn. The MIT Press (1994)
Lifschitz, V.: On the semantics of STRIPS. In: Georgeff, M., Lansky, A. (eds.) Reasoning about Actions and Plans, pp. 1–9. Morgan Kaufman (1986)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hindriks, K.V. (2012). Debugging Is Explaining. In: Rahwan, I., Wobcke, W., Sen, S., Sugawara, T. (eds) PRIMA 2012: Principles and Practice of Multi-Agent Systems. PRIMA 2012. Lecture Notes in Computer Science(), vol 7455. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32729-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-32729-2_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32728-5
Online ISBN: 978-3-642-32729-2
eBook Packages: Computer ScienceComputer Science (R0)