User defined monitoring strategies for BDI agent programs

An agent needs to balance its time between reflecting on its past behaviors, the execution of its current behaviors and the recognition of opportunities for future action. The optimal strategy to achieve this balance is heavily dependent on the environment in which the agent is situated. In this paper we extend a BDI agent programming language called AgentSpeak(L) in two ways. Firstly we refine the use of execution monitoring to enable agents to reflect on their past endeavors. Secondly, we extend the semantics and syntax of the language to allow for user defined monitoring strategies. This allows agent designers to utilize execution monitoring in a way that balances the focus of an agents behavior in a way that is appropriate for its application domain.