BDI (Belief, Desire, Intention) is a mature and commonly adopted
architecture for Intelligent Agents. However, the current computational
model adopted by BDI has a number of problems with concurrency control,
recoverability and predictability.
This has hindered
the construction of agents having robust and predictable behaviour.
Indeed the conceptual and practical tools needed for building dependable
agent systems, resilient to faults and other unexpected situations, are
still at an early stage of research.
To this end, we propose to use ideas from
established database technology as an adjunct to BDI agent systems.
In the long term, we envisage a two layer model for
distributed system
development. The upper layer, called
``behavioural''
in our scheme, consists of concepts and techniques coming from
agent research. The lower layer, called ``control'', is based on more
traditional computer technologies and implements the actions decided
by the upper layer. The emphasis of the upper behavioural layer is on
flexibility of the software development process, in order to be effective
in application domains that are difficult to analyse
or rapidly changing. By contrast, the main focus of the lower control
layer is rigorous and efficient implementation within well-known
boundaries.
We discuss the development of
an agent system having a computational model with
well-defined correctness criteria.
Instead of hardwiring robustness and fault-tolerant behaviour into agent plans,
well defined notions of correctness exist at the semantic level.
Verification can then be undertaken at the desired level of
abstraction.