BDI Plan Update In Dynamic Environments

Open Access
Fecteau, Anthony Roman
Graduate Program:
Computer Science and Engineering
Master of Science
Document Type:
Master Thesis
Date of Defense:
July 15, 2009
Committee Members:
  • John Yen, Thesis Advisor
  • Tracy Mullen, Thesis Advisor
  • Wang Chien Lee, Thesis Advisor
  • plan abort
  • plan fail
  • plan update
  • multi agent systems
  • intelligent agents
  • artificial intelligence
  • r-cast
  • BDI
  • plan task execution
  • plan step execution
  • update dispatcher
Multi agent systems and agent oriented programming are becoming more popular each year and is even considered to be the successor to object oriented programming. Many agent frameworks implement various models of agency including one of the most popular models, known as Belief-Desire-Intention (BDI). The most researched part of the BDI model is the intention module which involves planning. The planning includes tasks that are run to satisfy a specific goal or condition that may be associated with the plan. The most common recent implementation of the intention module is known as the Conceptual Agent Notion (CAN) and its successor (CANPLAN). Some other implementations are JADE and SPARK agent frameworks. Most agent frameworks discuss updating only in the sense of belief updates about the environment. There is very little discussion about how to update a plan that is in the process of running when the environment changes. This type of plan updating is the focus of this thesis. Most agent frameworks discuss plan updating in the context of conflict management, plan failure or plan aborting. This assumes that something has already gone wrong and that steps should be taken to fix the problem. Other methods of plan updating include an update when new important information is gathered by the agent. There are two methods for updating in the context of new information which are to update after the intention finishes and the other is to stop execution, update, and then restart. There are many examples of processes that effectively execute using one of the two updating methods. However, these methods of updating are insufficient in many situations that come up in modern agents. The method of plan updating that is introduced in this thesis is to update on the fly when new relevant information is gathered by the agent. Updating on the fly is different from the other two methods of updating in that the agent will pause execution of the intention, run update tasks and update bindings, and then continue execution of the intention. This thesis discusses in detail the full implementation of the BDI model used, as well as the new method of plan updating. An example showing the usefulness of updating on the fly is also discussed giving test data and results. The agent used is a driving simulation agent that drives from one place to another along a route and encounters traffic along the way. Using the implementation of the BDI architecture with plan updating on the fly the agent successfully updates the driving plan to take into account new information, which in this case is the traffic.