Skip to main content

Designing a Source-Level Debugger for Cognitive Agent Programs

  • Conference paper
  • First Online:
PRIMA 2015: Principles and Practice of Multi-Agent Systems (PRIMA 2015)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 9387))

Abstract

When an agent program exhibits unexpected behaviour, a developer needs to locate the fault by debugging the agent’s source code. The process of fault localisation requires an understanding of how code relates to the observed agent behaviour. The main aim of this paper is to design a source-level debugger that supports single-step execution of a cognitive agent program. Cognitive agents execute a decision cycle in which they process events and derive a choice of action from their beliefs and goals. Current state-of-the-art debuggers for agent programs provide insight in how agent behaviour originates from this cycle but less so in how it relates to the program code. As relating source code to generated behaviour is an important part of the debugging task, arguably, a developer also needs to be able to suspend an agent program on code locations. We propose a design approach for single-step execution of agent programs that supports both code-based as well as cycle-based suspension of an agent program. This approach results in a concrete stepping diagram ready for implementation and is illustrated by an implementation of a source-level debugger for the GOAL agent programming language in the Eclipse development environment.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.): Multi-Agent Programming: Languages, Platforms and Applications. Springer, US (2005)

    MATH  Google Scholar 

  2. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak using Jason. John Wiley & Sons, Ltd, October 2007

    Google Scholar 

  3. Collier, R.: Debugging agents in agent factory. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 229–248. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  4. Dastani, M.: 2apl: a practical agent programming language. Autonomous Agents and Multi-Agent Systems 16(3), 214–248 (2008)

    Article  Google Scholar 

  5. Eisenstadt, M.: My hairiest bug war stories. Communications of the ACM 40(4), 30–37 (1997)

    Article  Google Scholar 

  6. Gilmore, D.J.: Models of debugging. Acta Psychologica 78(1–3), 151–172 (1991)

    Article  Google Scholar 

  7. Hindriks, K.V.: Programming rational agents in goal. In: Seghrouchni, E.F.A., Dix, J., Dastani, M., Bordini, R.H. (eds.) Multi-Agent Programming: Languages, Tools and Applications, pp. 119–157. Springer, US (2009)

    Chapter  Google Scholar 

  8. Hindriks, K.V.: Debugging is explaining. In: Rahwan, I., Wobcke, W., Sen, S., Sugawara, T. (eds.) PRIMA 2012. LNCS, vol. 7455, pp. 31–45. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  9. Hindriks, K.V.: The shaping of the agent-oriented mindset. In: Dalpiaz, F., Dix, J., van Riemsdijk, M.B. (eds.) EMAS 2014. LNCS, vol. 8758, pp. 1–14. Springer, Heidelberg (2014)

    Google Scholar 

  10. ISO: ISO/IEC/IEEE 24765:2010 systems and software engineering - vocabulary. Technical report, Institute of Electrical and Electronics Engineers, Inc. (2010)

    Google Scholar 

  11. Katz, I.R., Anderson, J.R.: Debugging: An analysis of bug-location strategies. Human-Computer Interaction 3(4), 351–399 (1987)

    Article  Google Scholar 

  12. Koeman, V.J., Hindriks, K.V.: A fully integrated development environment for agent-oriented programming. In: Demazeau, Y., Decker, K.S., Bajo Pérez, J., De la Prieta, F. (eds.) PAAMS 2015. LNCS, vol. 9086, pp. 288–291. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  13. Lam, D.N., Barber, K.S.: Comprehending agent software. In: Proceedings of the Fourth International Joint Conference on Autonomous Agents and Multiagent Systems. AAMAS 2005, pp. 586–593. ACM, New York (2005)

    Google Scholar 

  14. Lam, D.N., Barber, K.S.: Debugging agent behavior in an implemented agent system. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2004. LNCS (LNAI), vol. 3346, pp. 104–125. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  15. Lawrance, J., Bogart, C., Burnett, M., Bellamy, R., Rector, K., Fleming, S.: How programmers debug, revisited: An information foraging theory perspective. IEEE Transactions on Software Engineering 39(2), 197–215 (2013)

    Article  Google Scholar 

  16. Layman, L., Diep, M., Nagappan, M., Singer, J., Deline, R., Venolia, G.: Debugging revisited: Toward understanding the debugging needs of contemporary software developers. In: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 383–392, October 2013

    Google Scholar 

  17. Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: a bdi reasoning engine. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) Multi-Agent Programming, Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 15, pp. 149–174. Springer, US (2005)

    Google Scholar 

  18. Rajan, T.: Principles for the design of dynamic tracing environments for novice programmers. Instructional Science 19(4–5), 377–406 (1990)

    Article  Google Scholar 

  19. Romero, P., du Boulay, B., Cox, R., Lutz, R., Bryant, S.: Debugging strategies and tactics in a multi-representation software environment. International Journal of Human-Computer Studies 65(12), 992–1009 (2007)

    Article  Google Scholar 

  20. Seghrouchni, A.E.F., Dix, J., Dastani, M., Bordini, R.H. (eds.): Multi-Agent Programming: Languages. Tools and Applications. Springer, US (2009)

    MATH  Google Scholar 

  21. Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W., Renz, W.: Validation of BDI agents. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) PROMAS 2006. LNCS (LNAI), vol. 4411, pp. 185–200. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  22. Ungar, D., Lieberman, H., Fry, C.: Debugging and the experience of immediacy. Communications of the ACM 40(4), 38–43 (1997)

    Article  Google Scholar 

  23. Winikoff, M.: Jack intelligent agents: an industrial strength platform. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) Multi-Agent Programming, Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 15, pp. 175–193. Springer, US (2005)

    Google Scholar 

  24. Yoon, B.d., Garcia, O.: Cognitive activities and support in debugging. In: Proceedings of Fourth Annual Symposium on Human Interaction with Complex Systems, pp. 160–169, March 1998

    Google Scholar 

  25. Zacharias, V.: Tackling the debugging challenge of rule based systems. In: Filipe, J., Cordeiro, J. (eds.) Enterprise Information Systems. LNBIP, vol. 19, pp. 144–154. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  26. Zeller, A.: Why Programs Fail, Second Edition: A Guide to Systematic Debugging, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincent J. Koeman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Koeman, V.J., Hindriks, K.V. (2015). Designing a Source-Level Debugger for Cognitive Agent Programs. In: Chen, Q., Torroni, P., Villata, S., Hsu, J., Omicini, A. (eds) PRIMA 2015: Principles and Practice of Multi-Agent Systems. PRIMA 2015. Lecture Notes in Computer Science(), vol 9387. Springer, Cham. https://doi.org/10.1007/978-3-319-25524-8_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25524-8_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25523-1

  • Online ISBN: 978-3-319-25524-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics