BDI4JADE is an agent platform that implements the BDI (belief-desire-intention) architecture. It consists of a BDI layer implemented on top of JADE.
BDI4JADE leverages all the features provided by JADE and reuses it as much as possible. Other highlights of our JADE extension, besides providing BDI abstractions and the reasoning cycle, include:
- Use of Capabilities – agents aggregate a set of capabilities, which are a collection of beliefs and plans, and allow modularisation of particular agent functionality.
- Plan Body is an Extension of JADE Behaviour – in order to better exploit JADE features, plan bodies are subclasses of JADE behaviours.
- Java Annotations – annotations are provided to allow easier configuration of agent components, without compromising its flexibility.
- Extension Points – strategies can be easily implemented to extend parts of the reasoning cycle, such as belief revision and plan selection.
- Listeners and Events – different events (such as events related to goals and beliefs) can be observed in the platform, allowing listeners to react according to events that occurred.
- Java Generics for Beliefs – beliefs can store any kind of information and are associated with a name, and if the value of a belief is retrieved, it must be cast to its specific type, so the use of Java generics allows us to capture incorrect castings at compile time.
As opposed to different BDI platforms that have been proposed, it does not introduce a new programming language nor rely on a domain-specific language (DSL) written in terms of XML files. Because agents are implemented with the constructions of the underlying programming language, Java, we bring two main benefits, as detailed below.
- Features of the Java language, such as annotations and reflection, can be exploited for the development of complex applications.
- It facilitates the integration of existing technologies, e.g. frameworks and libraries, which is essential for the development of large scale enterprise applications, involving multiple concerns such as persistence and transaction management. This also allows a smooth adoption of agent technology.