Developing
Multi-Agent Systems
with JADE
Wiley Series in Agent Technology
Series Editor: Michael Wooldridge, Liverpool University, UK
The ‘Wiley Series in Agent Technology’ is a series of comprehensive practical guides and cutting-
edge research titles on new developments in agent technologies. The series focuses on all aspects of
developing agent-based applications, drawing from the Internet, telecommunications, and Artificial
Intelligence communities with a strong applications/technologies focus.
The books will provide timely, accurate and reliable information about the state of the art to
researchers and developers in the Telecommunications and Computing sectors.
Titles in the series:
Padgham/Winikoff: Developing Intelligent Agent Systems
Pitt (ed.): Open Agent Societies
0470861207 (June 2004)
047148668X (August 2004)
Developing
Multi-Agent Systems
with JADE
Fabio Bellifemine, Telecom Italia, Italy
Giovanni Caire, Telecom Italia, Italy
Dominic Greenwood, Whitestein Technologies AG, Switzerland
Copyright 2007
John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester,
West Sussex PO19 8SQ, England
Telephone (+44) 1243 779777
Email (for orders and customer service enquiries): cs-books@wiley.co.uk
Visit our Home Page on www.wiley.com
All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in
any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the
terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright
Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the
Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd,
The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to permreq@wiley.co.uk, or
faxed to (+44) 1243 770620.
This publication is designed to provide accurate and authoritative information in regard to the subject matter
covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If
professional advice or other expert assistance is required, the services of a competent professional should be sought.
JADE () and related logos are a registered trademark of Telecom Italia S.p.A.
Other Wiley Editorial Offices
John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA
Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA
Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany
John Wiley & Sons Australia Ltd, 42 McDougall Street, Milton, Queensland 4064, Australia
John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809
John Wiley & Sons Canada Ltd, 6045 Freemont Blvd, Mississauga, ONT, L5R 4J3, Canada
Wiley also publishes its books in a variety of electronic formats. Some content that appears
in print may not be available in electronic books.
Anniversary Logo Design: Richard J. Pacifico
Library of Congress Cataloging-in-Publication Data:
Bellifemine, Fabio.
Developing multi-agent systems with JADE / Fabio Bellifemine,
Giovanni Caire, Dominic Greenwood.
p. cm.
Includes bibliographical references and index.
ISBN-13: 978-0-470-05747-6 (cloth : alk. paper)
1.
Intelligent agents (Computer software)
2. Object-oriented
programming (Computer science)
Caire, Giovanni.
II. Greenwood, Dominic.
QA76.76.I58B45 2007
006.3–dc22
3.
Java (Computer program language)
I.
III. Title.
2006036200
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library
ISBN: 978-0-470-05747-6 (HB)
Typeset in 9/11pt Times by Laserwords Private Limited, Chennai, India
Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire
This book is printed on acid-free paper responsibly manufactured from sustainable forestry
in which at least two trees are planted for each one used for paper production.
Contents
The Authors
List of Contributors
Preface
1 Introduction
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
ix
xi
xiii
1
3
3
10
29
29
30
32
34
37
39
42
51
51
57
65
72
75
77
77
91
99
100
107
111
115
115
117
119
121