Debugging Agent Programs with Why? Questions

Michael Winikoff (University of Otago)

Abstract

Debugging is hard, and debugging cognitive agent programs is particularly hard, since they involve concurrency, a dynamic environment, and a complex execution model that includes failure handling. Previous work by Ko & Myers has demonstrated that providing Alice and Java programmers with software that can answer "why?" and "why not?" questions can make a dramatic difference to debugging performance. This paper considers how to adapt this approach to cognitive agent programs, specifically AgentSpeak. It develops and formalises definitions for "why?" and "why not?" questions and associated answers, and illustrates their application using a scenario.