Michael Bratman'sBDI agent model is based on 3 basic elements: Belief, Desire and Intention (you know, B-D-I).
A Belief is an entry in the agent's knowledge base. It represents what the agent "knows" about its environment.
Desires represent that which the agents wishes to achieve. The instantiation of a Desire is a Goal.
Intentions represent the deliberative state of the agent, that is, what the agent has decided to do in order to achieve its goals. The Intentions in execution are Plans, that is, a sequence of actions that the agent can execute in order to fulfill an Intention.
The BDI implemented by SPADE is slightly different. We have tried to develop a distributed BDI system using Service Oriented Computing (SOC) together with dynamic compilation of services in SPADE, which we have called Distributed Goal Oriented Computing.
This BDI model uses the same basic principles of the classic BDI model from Bratman, but it introduces a more complex model for the Intentions. In the SPADE's BDI model, the following elements appear:
Belief: An entry of knowledge in the agent's KB. You can insert new knowledge, delete it and make queries to the KB about it.
Goals: SPADE's BDI model does not differentiate Desires and Goals, there are only Goals. When an agent expresses a Goal, it means that the agents wishes to accomplish the expression contained in such Goal. When a goal is selected for accomplishment, it becomes active.
Services: Given that SPADE's BDI model is grounded on SOC, it is necessary to include a Service element into the model. A Service is a method offered by the agent to the rest of the system agents. Services can be composed into a sequence forming the Plans. Services have in their description both a pre-condition (P) and a post-condition (Q). The pre-condition P represents a state of knowledge that must be present in order to execute the Service. The post-condition Q represents the state of knowledge that the agent will achieve once the Service has been invoked.
Plans: Plans are a sequence of Services that work their way to achieve the agent's Goals. Agents reach their Goals by executing Plans. Such Plans are composed of a sequence of Services (with their pre-conditions and post-conditions connected) and both a pre-condition P and a post-condition Q that define the whole Plan. Whenever a Goal G must be achieved, the agent will look for a Plan whose post-condition
G and also whose pre-condition
P is present as a pre-requisite for the Plan to start. But, wait for this, the Services composing a Plan's actions do not necessarily belong to the same agent. There is where the distributed nature of SPADE's BDI model comes into play.