We are pleased to announce the release of version 2.4 of JADE, release that we named “The LEAP of little JADE into the wireless world”.
In fact, at a functional level, the most important feature given by this new release is the integration with the results of the LEAP project. The synergy between the JADE platform and the LEAP libraries allows to obtain a FIPA-compliant agent platform with reduced footprint and compatibility with mobile Java environments down to J2ME-CLDC. The LEAP site provides instructions on how to integrate these libraries with the JADE platform. A single homogeneous view of the platform and set of API’s is offered independently on the Java environment ultimately allowing ubiquitous deployment of agent services and applications. The JADE Team thanks the LEAP consortium for the patient, professional, and effective collaboration that allowed to reach such a good result.
One of the most challenging problem that we had to face with, was the removal of the dependency on the Java Collection Framework (which is not available on J2ME run-time) still preserving the legacy and the existing applications of JADE users. In order to do that, in this version we have deprecated a small number of JADE API’s and introduced a jade.util.leap package, kindly provided by the LEAP consortium. J2SE users can of course continue to use the Java Collection Framework, but J2ME users have to import this new JADE package.
Still at a functional level, it is worth to mention three more modifications:
- David Bell, HP Labs, provided the code to allow JADE to use an already-running RMIRegistry without any need to create a new private registry
- the constraint that only Strings could be passed as arguments to an Agent has been removed and it is now possible to pass an array of Object, including an object reference, which makes straightforward agent-to-object communication. In the next release, we intend also to give an effective solution for the other way around, i.e. object-to-agent communication
- a new couple of classes jade.proto.AchieveREInitiator/Responder (Achieve Rational Effect) has been added that allows simple and compositional implementation of all the FIPA-request like interaction protocols that have been defined by FIPA, such as FIPA-request, FIPA-query, FIPA-propose, FIPA-proxy, …
Compliance to FIPA specifications has been further reinforced by fixing a mistake that was the result of an oversight: 3 constants had a plural name instead of a singular name, i.e. an extra “s” was added in the name of the slots “ontologies”, “languages”, “protocols”.
The JADE Team slightly increased, and we welcomed Federico Bergenti, from the University of Parma. His first major contribution is the new support for message content that has been also included in this version of JADE, as implemented by the package jade.content. It is still in an experimental phase but, in the long term, our intention is to replace the current message content support (jade.onto) with the new one. In the short term, we invite users to test and analyze it and provide us feedback.
The community support is still strong and, thanks also to the help of the users, a number of bugs has been fixed and a number of examples has been added. The team has ideas to further improve this community support but, in this case, we prefer to be pushed by the community rather than drive and force some directions.
As usual, a complete and detailed lists of all the changes can be found in the ChangeLog file.
Regarding backward compatibility, applications should not be impacted by this new release and no change should be needed apart from some new warnings because of those methods which have been now deprecated. Notice that JADE 2.4 containers cannot join to JADE 2.3 containers and viceversa, while inter-platform compatibility is guaranteed.
Our short term plans include better integration with Web technology (e.g. JSP, Servlets, XML, …) as well as security and multi-user support in JADE.