JADE 4.0 Released

Dear JADE users,

We are pleased to announce the release of version 4.0 of JADE that we named “Two in One”.
The name of this release is related to the integration between JADE and JADE-LEAP that, up to version 3.7, were two separated platforms. Since version 4.0 a single JADE platform exists that can be configured to use the standard RMI-based communication mechanism between containers or the LEAP one. The latter in particular provides a number of advantages such as higher performances and better options to configure the low level communication and is therefore the default one. People interested in using the RMI-based communication mechanism should set the

-imtp jade.imtp.rmi.RMIIMTPManager
configuration option on all containers.
As a consequence of this integration, it is now possible to use “Split Containers” (originally designed for the wireless environment, but particularly suited when dealing with NAT or firewalls too) directly in JADE by means of the jade.imtp.leap.nio.BEManagementService kernel service. This service has been significantly improved thanks to the contribution of Eduard Drenth (Logica) and is now able to manage split containers using plain sockets, SSL, HTTP and HTTPS.
The LEAP AddOn still exists, but is only required, when working with the Java Micro Edition, to generate the CDC/Personal-Java and MIDP versions of JADE.

New interesting features were introduced such as the OntologyServer behaviour that allows managing incoming messages related to a given ontology by just implementing serving methods associated to ontological elements (e.g. agent actions). Such methods will be automatically invoked whenever a message referring to the associated ontological element is received (see the javadoc of the jade.core.behaviours.OntologyServer class for more details).

The BeanOntology class, introduced in the Misc AddOn of version 3.7, was moved into the JADE core distribution and has been improved with several fixes and extensions such as the management of enum types.
Many AddOns where improved and new versions are now available for the WSDC (added support for WS-Security), WSIG, JADEOSGi, XMLCodec and Misc. A new AddOn called TrustedAgents that allows making sure only agents with a token that can be validated will be allowed to join the Jade Platform was made available by Eduard Drenth.

As usual, a sensible effort was spent in consolidating existing features, fixing bugs, and improving the documentation. In particular a fully revisited JADE Administration Tutorial was made available and the Online Documentation section of the JADE Web site was significantly reorganized. Refer to the ChangeLog file on the web site for the full list of changes and improvements in respect to the previous version of JADE.

JADE 4.0 is expected to be largely, but not completely backward compatible with previous versions. In particular the following issues should be taken into account:
- The minimal requirement to run JADE is now JAVA-5.
- All JADE classes are now packaged into a single jar file called jade.jar.
- Following the JADE/JADE-LEAP integration, the syntax of agent-specifications on the command line changed according to the LEAP format as exemplified below.
java -cp … jade.Boot -gui a:myPackage.MyClass;b:myPackage.MyClass(arg1,arg2)
More in details agent specifiers must be separated by semicolon (‘;’) instead of blanks and agent arguments (if any) must be separated by comma (‘,’) instead of blanks. People interested in using the old (3.x) format should use the jade.Boot3 class instead of the standard jade.Boot startup class.
- The classes included in the jade.util package providing support for an extended properties management were refactored and simplified. All of them were merged into a single ExtendedProperties class whose features are documented in the Javadoc and in a dedicated tutorial available on the JADE Web site.

As usual we do thank all those users that constantly contributes to the improvement of the project by submitting bug reports and fixes, suggestions, and examples.

JADE is distributed OPEN SOURCE by Telecom Italia S.p.A. under the terms of the LGPL Version 2 License and can be downloaded at http://jade.tilab.com/. JADE (Java Agent Development Framework) is a software framework that simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of tools that support the debugging and deployment phases.
JADE is completely implemented in Java language and the minimal software requirement to run it is Java 5.