Abstract
Debugging agent systems can be rather difficult. It is often noted as one of the most time-consuming tasks during the development of cognitive agents. Algorithmic (or declarative) debugging is a semi-automatic technique, where the developer is asked questions by the debugger in order to locate the source of an error. We present how this can be applied in the context of a BDI agent language, demonstrate how it can speed up or simplify the debugging process and reflect on its advantages and limitations.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Data Availability
Data sharing not applicable to this article as no datasets were generated or analysed during the current study.
Code Availability
The debugger prototype is available at https://github.com/t-ah/declarative-agent-debugger (ongoing work). The logger and example are available at https://github.com/t-ah/jason-util (also ongoing work).
References
Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T.: The multi-agent programming contest: a résumé. In: Multi-Agent Progamming Contest. LNCS, vol. 12381, pp. 3–27. Springer (2019)
Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T.: The 15th multi-agent programming contest. In: Multi-Agent Progamming Contest. LNCS, vol. 12947, pp. 3–20. Springer (2021)
Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming multi-agent systems in AgentSpeak using Jason. John Wiley & Sons (2007)
Botía, J.A., Hernansáez, J.M., Gómez-Skarmeta, A.F.: On the application of clustering techniques to support debugging large-scale multi-agent systems. In: International Workshop on Programming Multi-Agent Systems. LNAI, vol. 4411, pp. 217–227. Springer (2006)
Bratman, M.: Intention, plans, and practical reason. Cambridge: Cambridge, MA: Harvard University Press (1987)
Caballero, R., Hermanns, C., Kuchen, H.: Algorithmic debugging of Java programs. Electronic Notes in Theoretical Computer Science 177, 75–89 (2007)
Caballero, R., Martin-Martin, E., Riesco, A., Tamarit, S.: Declarative debugging of concurrent Erlang programs. Journal of Logical and Algebraic Methods in Programming 101, 22–41 (2018)
Hindriks, K.V.: Programming rational agents in GOAL. In: Multi-agent Programming, pp. 119–157. Springer (2009)
Hindriks, K.V.: Debugging is explaining. In: International Conference on Principles and Practice of Multi-Agent Systems. LNAI, vol. 7455, pp. 31–45. Springer (2012)
Johnson, M., Jonker, C., Riemsdijk, B.v., Feltovich, P.J., Bradshaw, J.M.: Joint activity testbed: Blocks world for teams (BW4T). In: International Workshop on Engineering Societies in the Agents World. LNCS, vol. 5881, pp. 254–256. Springer (2009)
Koeman, V.J., Hindriks, K.V., Jonker, C.M.: Omniscient debugging for cognitive agent programs. In: 26th International Joint Conference on Artificial Intelligence, IJCAI 2017. pp. 265–272. AAAI Press (2017)
Poutakidis, D., Winikoff, M., Padgham, L., Zhang, Z.: Debugging and testing of multi-agent systems using design artefacts. In: Multi-agent programming, pp. 215–258. Springer (2009)
Rao, A.S.: AgentSpeak (L): BDI agents speak out in a logical computable language. In: European workshop on modelling autonomous agents in a multi-agent world. pp. 42–55. Springer (1996)
Rao, A.S., Georgeff, M.P.: BDI agents: from theory to practice. In: Proc. of the First Intl. Conference on Multiagent Systems (ICMAS-95), San Francisco. LNAI, vol. 95, pp. 312–319. MIT Press (1995)
Ricci, A., Bordini, R.H., Collier, R., Hübner, J.F.: AgentSpeak(ER): An extension of AgentSpeak(L) improving encapsulation and reasoning about goals. Proceedings of 17th AAMAS, 2018, Brasil (2018)
Shapiro, E.Y.: Algorithmic program diagnosis. In: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. pp. 299–308. ACM (1982)
Shapiro, E.Y.: Algorithmic program debugging. Yale University (1982)
Winikoff, M.: Debugging agent programs with Why? questions. In: Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems. pp. 251–259 (2017)
Acknowledgements
I thank the anonymous reviewers of the workshop paper this work is based on and of this extended version for their very helpful and insightful feedback.
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest for all authors
None
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Ahlbrecht, T. An algorithmic debugging approach for belief-desire-intention agents. Ann Math Artif Intell 92, 797–814 (2024). https://doi.org/10.1007/s10472-023-09843-4
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10472-023-09843-4