JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

20
JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004 http://jade.tilab.com/

Transcript of JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Page 1: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

JADE – Java Agent Development Framework

Fabio Bellifemine, Telecom Italia LAB5th July 2004

http://jade.tilab.com/

Page 2: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Table of Content

1. The JADE platform

2. The Open Source Project

3. JADE Board

4. Roadmap

5. Open Issues and Conclusions

Page 3: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

JADE• JADE is an agent platform that implements the basic services and

infrastructure of a distributed multi-agent application:– agent life-cycle and mobility– white & yellow-page services– peer-to-peer message transport & parsing– agent security– scheduling of multiple agent tasks

• JADE allows faster time-to-market for new services by making key functionality available across multiple applications– terminal2terminal and multi-party communication (N:M)– pro-active applications

• Some relevant features:– is extremely light-weight, ported to J2ME-CLDC-MIDP 1.0 – enables interoperability through FIPA compliance– is an Open Source project originated by TILAB and currently governed

by an International Board– is used by several EU R&D projects

Page 4: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Platform Architecture

Agent

Agent

Agent

Agent

Container Container Container

J2SE pJava J2ME

Middleware

JADE API

JAVA Layer

The platform enables ubiquitous deployment & distributed systems – agents can discover, communicate, and provide services

• transparently to their location, to the hosting device• where needed, based on the MSISDN identity• agents can also migrate between different containers

– communication is• peer-to-peer, multi-party• based on semantics, ontology definition,

and interaction protocols

Notice that services canbe provided BY themobile device andterminal-to-terminalcommunication is enabled

Page 5: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Java 2 Platform and JADE

JADEJADE-LEAP

• footprint of the JADE-LEAP run-time on mobile phones:

– 10-30 Kbyte if compiled with the JVM (ROMizing)

– 40-100 Kbyte otherwise

• tested over almost all Java mobile phones

• integrated with Operator APN Radius Server to allow SIM-based addressing and authorization

Page 6: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

JADE for mobile operators

The JADE architecture is a sort of hybrid P2P based on a ‘mediator’ in the Operator Service Centre that controls and authorizes the P2P connectivity:

it authorizes a mobile peer to join the JADE networkon the basis of the IP address, or certificates, or via the Radius Server integration

it assigns logical identifiers to the peers

it manages all the events and allows event-based billing

it manages hot-changes of the IP address

it manages temporary disconnections (e.g. dead spot)

it provides store&forward functionality

it can be managed in load balancing

it enables controls possibly requestedby the magistrature

Pure agent paradigm is disruptive and dangerous for a mobile operator:it empowers the users and the devices, it reduces control of applications, it can relegate the MO just to the data pipe

Java J2ME

JADE run-time

application

Operating System

JADE “mediator”

APN RADIUSServer

Page 7: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Model of agent communication

• agents communicate via asynchronous message passing• messages are modeled as communicative actions

– each message has Rational Effect and Feasibility Precondition

• messages can be composed into interaction protocols• the meaning of the message content is based on ontology definitions

– RDF, OWL, …

EnvelopeEncodingScheme

ACLEncodingScheme

CLEncodingScheme

TransportProtocol

InteractionProtocol

Envelope

1 11 isTransmittedOver

Ontology

Message

1

ACL

1

isExpressedIn1..*

1

1..*

1

contains

ContentLanguage

Symbol

11..* 11..*

belongsTo

Content

1

1

1

1

contains

11 11

isExpressedIn

0..*

1

0..*

1

contains

1

Page 8: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Ontologies, Protègè and JADE

Elements in the CR Model imported from

the “upper” ontology

Elements in the CR Model imported from

the “upper” ontology

class Car extends Concept {

private int year;

private String type;

.....

}

class Car extends Concept {

private int year;

private String type;

.....

}

Beangenerator

Page 9: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

On-going activity on distributed security

• Constrain/control through policies:– All the actions that an Agent can

perform on the platform and on other agents

– The access to the services provided by the platform

– The access to the application-level services provided by other agents

• Make JADE a multi-user system– integrate “user” and “ownership”

concepts, as for filesystem– assign “permessions” to users and

agents of performing actions– “delegate” to others the own

permissions• Secure communication between agents

– Confidentiality, integrity, data-origin authentication

Several applications

Several actors

Several communication flows

Page 10: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Open Source as a business strategy

• TILAB (formerly CSELT) launched the Open Source Project in 2000

– at the end of the FACTS project, as one of its major achievements

• Goals of the Open Source initiative:

– to spread the intelligent agents paradigm

– to support and drive the FIPA specification process

– to create an effective platform

– to base business upon the applications

• the LGPL license was chosen

– profit• companies can make business based on JADE, they can sell applications

using it, they just cannot keep their own private version of JADE

– openness and control: the code is king• anybody can modify JADE, but modifications must be made public• the Board reserves the right of deciding what to integrate in the next

releases

Page 11: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

The Open Source Community (updated 19/6/04)

0

10000

20000

30000

40000

50000

60000

25/0

2/20

00

06/0

6/20

00

12/0

9/20

00

18/1

2/20

00

11/0

4/20

01

11/0

7/20

01

25/0

9/20

01

05/0

2/20

02

19/0

7/20

02

24/0

9/20

02

19/0

3/20

03

18/1

2/20

03

1.3 1.4 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.61 3.0b1 3.1

JADE Version

0

500

1000

1500

2000

2500

3000

25/0

2/20

00

06/0

6/20

00

12/0

9/20

00

18/1

2/20

00

11/0

4/20

01

11/0

7/20

01

25/0

9/20

01

05/0

2/20

02

19/0

7/20

02

24/0

9/20

02

19/0

3/20

03

18/1

2/20

03

1.3 1.4 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.61 3.0b1 3.1

JADE Version

• ~ 60.000 downloads

– 40+ downloads/day

• 2500+ members of the mailing list

– 5+ e-mails/day

• 270+ accesses/day at the JADE home page

• 2 tutorials on JADE at the Borland Conference (San Jose, Nov. 03), CEEMAS, Holomas

• widely spread in Universities

– UPC, UAB, Rovira i Virgili, Braganca, Amsterdam, Budapest, Praha, Parma, Palermo, Rome, Lausanne, …

– Utah, Canberra, South Carolina, Toronto, Montreal, Pakistan, Newcastle, …

FACTS LEAPmailing list members

cumulative # of downloads

Page 12: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Major contributions from the Community

• JADE for mobile, LEAP project• improvements to the GUIs, BlueJADE for J2EE, SLFormatter, HP's

Agents for Mobility Department (HP Labs, Palo Alto, California)• support for Hierarchical State Machine, JADE and .NET, Univ. Utah• bit-efficient add-on, Sonera• HTTP and JMS MTPs, EPFL, UAB, Univ. Galway• JSP Tag Library, Univ. Artois• Protègè beangenerator, Aacklin• ACLAnalyser, Univ. Murcia• JADEX, Univ. Hamburg• benchmark and comparison with other platforms, Rockwell

Automation• documentation, support to the mailing list, misc, private people• + many others valuable contributions (bug reporting, bug fixing,

suggestions, ...)

Page 13: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Project Starting Ending Partners using JADE

FACTS 1998 2000 BT, FT, CSELT, KPN, ICL, IRST

DICEMAN 1998 2000 CSELT, KPN, StarLab

LIME 1998 2000 Imperial College

Monads 1999 2000 Sonera

Comma 1999 2001 Univ. Parma, INRIA, ATOS

eXPlanTech(IST-1999-20171) 1999 2001 Univ. Prague

IBROW 1999 2001 Acklin

MedPAge 2000 2006  

Knowledge On Demand 2000 2003 ?

IMAGE (IST-2000-30047) 2000 2002 Singular Sofware SA

LEAP 2000 2002 BTExact, Siemens, Motorola, TILAB

EUTIST-AMI(IST-2000-28221) 2000 2002 Univ. Prague

SONG 2000 2002 TILAB, ICL

AgentCities 2001 2003 severals (see the next sheet)

ICONS (IST 2001-32429) 2001 2003 Univ. Ulster

SAFIRA 2001 2002 ICL

Pellucid (IST-2001-34519) 2002 2004 ?

TeSCHeT (Italian MIUR project) 2002 2005 Engineering, TILAB

PISA     TNO, FINSA, TUDelft

Collaborator     Univ. Parma, ATOS, Univ. Madrid

AgentAcademy     University of Twente, APS-group

Esperonto 2002 2005 Univ. of Liverpool

MaBE 2002 2005 Profactor, Atos, …

"@lis" 2003 2006  

CrossWork 2004 2006 Profactor

JADE in the EU R&D Projects

Usage of JADE is difficult to track because of the LGPL

license.

This list is incomplete and not up-to-date.

It does not include national projects, e.g. German and Italian

MIUR funded.

We estimate that we are not aware of about 80% of the

projects that have used/are using JADE

Page 14: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Table of Content

1. The JADE platform

2. The Open Source Project

3. JADE Board

4. Roadmap

5. Open Issues and Conclusions

Page 15: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

JADE Board• Founded on March 2003 by TILAB and Motorola

– as a follow-up of their collaboration in the LEAP project

– as a not-for-profit contractual consortium among the Members

• Mission

– Promote, govern, and implement the evolution of JADE

• Goal

– JADE adoption by the mobile industry as a standard middleware for mobile Peer-To-Peer intelligent agent applications completely interoperating on different terminals and networks

Motorola

Tilab

Whitestein

FranceTelecom

Profactor

Board Members

Page 16: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

JADE Board

• Leading Principles– not-for-profit association– The Board is open and welcomes all companies and organizations that

have a concrete business interest in the exploitation of JADE and that commit to its development and promotion

– JADE APIs are public and its evolution is controlled by the Board– strength of the Open source process– a Consortium Agreement regulates copyright and IPR issues between

members

• Activities of the Board– govern and implement the evolution of JADE through:

• the definition of public API’s,• the development of the underlying software

– decide on the content/functionalities of the JADE releases– specify the technical activities of the JADE Board Software Team– advise on the content of the JADE Web site– nominate and elect new Members

Page 17: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Roadmap 2003-2004

19/3/033.0b1

JADE 3.0b1• consolidation of previous features• integrated JADE and LEAP• split container mode• update for compliance to new FIPA standards• persistent DF• XMLCodec• misc add-on

18/12/033.1

JADE 3.1• consolidation of previous features• tutorial for beginners + more documentation• new service-based kernel based on a Distributed Composition Filter pattern• support for replication of the main container• support for application specific message persistency through the PersistentDeliveryService• support for FIPA Propose, 2phase-commit interaction protocol• HTTP, JMS MTPs• Bean-generator, and RDFCodec add-ons

JADE 3.2 • consolidation of previous features• security add-on including support for authentication, authorization, and end-to-end message integrity and confidentiality (J2SE only)• HTTP MTP• Test Suite Framework• Persistent Service• threaded behaviours• agent loading from jar file• logging• SerializableOntology that handles homogeneously ontological concepts and serializable objects• Automatic DF clean-up when a registered agent dies

15/7/043.2

15/12/043.3

JADE 3.3 • consolidation of previous features• security add-on (J2ME)• Web Service Integration• Agent Launcher (Univ. Aachen)• Performance Scalability

Page 18: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Open issues and challenges• Technical topics

– JADE for ad-hoc networks– integration with SIP protocol and IMS network– JADE for embedded systems & machine-to-machine applications– Distributed security for J2ME-MIDP terminals (usage of JSR-177 API)

• Model and Tools for dealing with agent trust– Semantic-driven communication – Distributed workflow– Model and Visual tools to organize & deploy an application as a society of

agents• groups of agents, roles, norms, obligations, permissions

– Interaction Protocols for distributed control and self-organization– Methodology & sw-engineering tools

• a complete environment from sw design to deployment• Further increase the level of participation of the Open Source Community

– deployment of some proper web-based tools (e.g. gforge)• to allow access to the CVS repository, creation of sub-projects, forums, …

– educational material, books, courses, tutorials and user workshops– integrating the contributions from the Community– providing support to the Community via e-mail– presenting JADE to proper forums & standards

• e.g. Java-ONE conference, OSGi framework, J2ME community, OMTP

Page 19: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Foreseen impact on EU Strategic Objectives

- IST 2.3.2.3 Open source development and run-time environment, middleware and tools to support developers- IST 2.3.1.4 Mobile and Wireless Systems Beyond 3G- IST 2.3.1.5 Towards a global dependability and security framework- IST 2.3.1.7 Semantic-based knowledge systems- IST 2.3.1.9 Networked businesses and governments- IST 2.3.2.5 Networked Embedded Systems

- IST 2.3.1.11 eHealth- IST 2.3.2.6 Applications and Services for the Mobile User and Worker- IST-NMP-1 Fast and Flexibly Manufacturing Enterprise- …

Technology-driven perspective

Application-driven perspective

Page 20: JADE – Java Agent Development Framework Fabio Bellifemine, Telecom Italia LAB 5 th July 2004

Brussels, 5/7/2004

CO

NF

IDE

NT

IAL

– A

ll r

igh

ts r

ese

rved

Conclusions

• JADE is a european-driven strong Open Source initiative

– http://jade.tilab.com

– 60,000 downloads, 5+ e-mails/day

– governed by a Board of 5 members

– broad deployment in several EU projects• is the reference tool for AgentCities, AgentLink EU projects

• JADE has a potential impact on several IST strategic objectives

– it can be the catalyst of several on-going R&D initiatives in Europe

– the usage of a common open source technology facilitates harmonization and interoperability of sw developments

• Questions for the plenary discussion

– How to increase the level of participation to the Open Source project?

– How to increase the level of adoption in commercial deployments?

– What the EU can do for JADE and what JADE can do for empowering the EU-vision?