JADE Tutorial and Primer
Jean Vaucher and Ambroise Ncho
Université de Montréal
updated april 2004
This primer is aimed at the Jade beginner. It concentrates on the basic features of Jade and explains these in detail with lots of simple examples showing what works and what doesn't. Thus it is a useful introduction to more advanced tutorials as well as Jade's official documentation.
- Installing the software
- Your first programs [ passing arguments]
- Parallelism and Behaviours
- Agent communication [ Section added august 2004 ]
- Using the DF
- Complex behaviours
- Using ontologies
- Graphical Interfaces
Jade (Jave Agent Development Environment) is a robust and efficient environment for distributed "agent" systems. It was developped in Italy jointly by CSELT (Centro Studi e Laboratori Telecommunicazioni) in conjunction with the Computer
Engineering Group of the University
of Parma. Jade follows the FIPA standards [Note: CSELT is now known as Telecomm Italia Lab (tilab) ].
The official web site for JADE is: http://jade.cselt.it
We used Jade for the programming assignments in a course on Agent technology at the Universite of Montreal ( ift6802 ). It proved to be a good choice because:
On the negative side, JADE may be disappointing to AI people because it lacks mechanisms for "intelligence", planning or reasoning. However, the JAVA base means that JADE can interact relatively easily with Java implementations of Prolog or Expert systems (JESS).
- it had all the agent features that we needed (and more)
- communication between student "agents" running on various workstations
on the network was trivial to do
- it was efficient and tolerant of faulty programming
- it followed FIPA standards
- the user group is very active and implementors typically respond
to problems within 24 hours
[ Hats off to Fabio Bellifemine and Giovanni Caire ]
After dabbling with various agent toolkits, our impression is that Jade embodies extensive experience in the implementation of large Agent systems. Furthermore, it is free software. [Note: this contrasts favourably with our painful and expensive experience with Jack. ]
However, this maturity leads to difficulty for learners. Many Jade features deal with sophisticated matters that beginners either don't need or don't understand. Similarly, most documentation (reports and Javadoc) is suitable for experienced users but quite inadequate for learners. The examples that come with the distribution are fairly long and designed to show off advanced features, not to illustrate Jade basics.
[ Note: in december 2003, the Jade team finally added a tutorial - along the same lines as our primer - which addresses these shortcomings ]
These pages concentrate on the basics and we make it a point to use small examples which grow progressively. Longer examples at the end of the primer were written by A. NCho.
Others have put Jade tutorials on the web and throughout you will find links to other material. An important contributor (apart from Jade's authors) is Prof. David Grimshaw who created a set of pages devoted to Agents, Jade and Fipa in support of his lectures at Ryerson. In particular, we heartily recommend his
Jade tutorials which we used to get started. Other sites include:
- Jade Programming For Beginners, A new tutorial by Giovanni Caire, TILAB Jade Support Team.
- Last Fall (2003), Owen Cliffe, at the University of Bath, developped
with a plan similar to mine in support of his agent course. Hint: go to the Table of Contents
at the bottom of his page.
- Jade Tutorial
from Gerstner Laboratory, Czechoslovakia
- Martin Griss (UCSC) and Robert R. Kessler (Utah) created a half-day tutorial on Agents with Jade examples which gives a good overview of the language.
- Steve Willmott when he was at EPFL also created some WWW pages on Jade and agents.
URL: Zipped version of Primer and examples
Email: vaucher "at" iro.umontreal.ca
version 0.9 (Sept 12, 2003)
updated August 2004