Developing Multi-Agent Systems with JADE
JADE (Java Agent DEvelopment framework) is a middleware for the development of applications, both in the mobile and fixed environment, based on the Peer-to-Peer intelligent autonomous agent approach. JADE enables developers to implement and deploy multi-agent systems, including agents running on wireless networks and limited-resource devices.
Developing Multi-Agent Systems with JADE is a practical guide to using JADE. The text will give an introduction to agent technologies and the JADE Platform, before proceeding to give a comprehensive guide to programming with JADE. Basic features such as creating agents, agent tasks, agent communication, agent discovery and GUIs are covered, as well as more advanced features including ontologies and content languages, complex behaviours, interaction protocols, agent mobility, and the in-process interface. Issues such as JADE internals, running JADE agents on mobile devices, deploying a fault tolerant JADE platform, and main add-ons are also covered in depth.
Developing Multi-Agent Systems with JADE:
- Comprehensive guide to using JADE to build multi-agent systems and agent orientated programming.
- Describes and explains ontologies and content language, interaction protocols and complex behaviour.
- Includes material on persistence, security and a semantics framework.
- Contains numerous examples, problems, and illustrations to enhance learning.
- Presents a case study demonstrating the use of JADE in practice.
- Offers an accompanying website with additional learning resources such as sample code, exercises and PPT-slides.
This invaluable resource will provide multi-agent systems practitioners, programmers working in the software industry with an interest on multi-agent systems as well as final year undergraduate and postgraduate students in CS and advanced networking and telecoms courses with a comprehensive guide to using JADE to employ multi agent systems.
With contributions from experts in JADE and multi agent technology.
List of Contributors.
2 Agent Technology Overview.
2.1 About agents.
2.2 The Foundation for Intelligent, Physical Agents (FIPA).
3 The JADE Platform.
3.1 Brief history.
3.2 JADE and the agents paradigm.
3.3 JADE architecture.
3.4 Compiling the software and launching the platform.
3.5 JADE packages.
3.6 Message transport service.
3.7 Admin and debugging tools.
4 Programming with JADE – Basic Features.
4.1 Creating agents.
4.2 Agent tasks.
4.3 Agent communication.
4.4 Agent discovery: the yellow pages service.
4.5 Agents with a GUI.
5 Programming with JADE – Advanced Features.
5.1 Ontologies and content languages.
5.2 Composing behaviours to create complex tasks.
5.3 Threaded behaviours.
5.4 Interaction protocols.
5.5 Interacting with the AMS.
5.6 Starting JADE from an external Java application.
6 Agent Mobility.
6.1 Agent mobility.
6.2 Intra-platform mobility.
6.3 Inter-platform mobility service.
6.4 Usage of the JADE mobility services.
7 JADE Internal Architecture.
7.1 Distributed coordinated filters.
7.2 Creating a JADE kernel service.
8 Running JADE Agents on Mobile Devices.
8.1 Main limitations of the mobile environment.
8.2 The LEAP add-on.
8.3 The split container execution mode.
8.4 Developing MIDP agents.
8.5 LEAP add-on advanced.
9 Deploying a Fault-Tolerant JADE Platform.
9.1 The main replication service.
9.2 Attaching the DF to a relational DB.
10 The JADE Web Services Integration Gateway.
10.1 Web service technology.
10.2 The utility of agent and Web service integration.
10.3 The WSIG architecture.
10.4 Installation requirements.
10.5 WSIG installation procedure.
10.6 WSIG operation.
10.7 Example 1: Web service client invokes an agent service.
10.8 Example 2: Agent service invokes a Web service.
11 Agent-Society Configuration Manager and Launcher.
11.1 Basic terms and concepts.
11.2 Book-trading example.
11.3 Distributed deployment.
11.4 The XML meta-model.
11.5 Inside the ASCML.
11.6 Distributed monitoring, logging and debugging.
12 JADE Semantics Framework.
12.1 FIPA-SL language.
12.2 Interpretation engine.
12.3 Basic semantic agent.
12.4 Specializing the interpretation activity.
12.5 Customizing belief handling.
12.6 Handling Actions.
12.7 Synthesizing standard and advanced use of the JSA.
13 A Selection of Other Relevant Tools.
13.1 The Bean Generator.
13.3 The Java Sniffer.
13.4 JADEX – engineering goal-oriented agents.
APPENDIX A Command Line Options.
A.2 Options to launch containers and main containers.
A.3 General Options.
A.4 Options of the JADE kernel-level services.
A.5 Options related to MTPs.
A.6 Options to configure the yellow page DF service.
A.7 Options specific to the JADE-LEAP platform.
A.8 Extending the command line with user-defined options.
APPENDIX B List of Symbols and Acronyms.
Giovanni Caire graduated summa cum laude from the Politecnico di Torino in 1992 and, after that, joined the Research Labs of Telecom Italia (formerly CSELT) where he is now a senior project manager. He started working in the Multimedia and Video Services department where he was involved in several international collaborative projects. In 1995 he led the ATMAN ACTS European Project dealing with advanced techniques of audio-visual content trading. Since 1998 his interest has been in the field of distributed applications with particular focus on the Java technology. He started working in the JADE Project in 2000 when he led the working group that ported the platform on the Java Micro Edition within the scope of the LEAP IST European Project. In 2004 he represented Telecom Italia in the Java Workstream of the OMTP international initiative whose goal was to define an open platform on mobile terminals enabling service providers to develop a uniform and simplified customer experience. In 2005 he actively participated in the Expert Group of the JSR 232 Mobile Operational Management which addressed the customization of the OSGi specification for hand-held devices. Currently he is working in the OSS Innovation department of Telecom Italia where he leads the software development of an important project employing agent technology and in particular the JADE platform in the field of network management. At the same time he is actively involved in the JADE Board with the role of Technical Leader.
Dominic P. A. Greenwood is Head of Research at Whitestein Technologies AG in Z´urich, Switzerland. He has been active in the field of multi-agent software and systems for several years from both a research and commercial perspective, including participation in FIPA and involvement with JADE as a member of the JADE Board and as designer of the JADE Web Services Integration Gateway add-on. He received a Ph.D. for his work on ‘adaptive strategies for controlling non-linear behaviour in communication networks’ from Staffordshire University in 1997, after which he took a position as group leader of distributed network management research at Fujitsu Telecommunications Europe in the UK. In 2000 he joined the Network Agent Research group of Fujitsu Laboratories of America in Sunnyvale, California, where he became involved in several aspects of agent-related research and standardization. It was during this period that he became actively involved with FIPA, serving as contributor to various activities including the FIPA Abstract Architecture and as co-chair of the FIPA Ontology technical committee. He also served as technical coordinator of JSR 87, Java Agent Services, which addressed the creation of a core API for agent systems based on a reification of the FIPA Abstract Architecture. In 2003 he joined Whitestein Technologies AG in Z´urich, becoming involved in a broad variety of projects related to the commercial application of agent technology and several European-wide collaborative projects, including the JADE Board. He is a member of several program committees and has a number of academic publications, with his current research interests including distributed and complex adaptive systems, proactive computing, ubiquitous systems, service-oriented computing and commercial applications of software agent technology and autonomic computing.
"…a comprehensive book that covers a wide range of topics related to agent-based programming with JADE." (Computing Reviews.com, October 1, 2007)