Slide: 1 Java Agent Development Framework what it is and what it is next Fabio Bellifemine Telecom Italia Lab -

Slides:



Advertisements
Similar presentations
1DAML PI meeting, October DAML and Agents DAML and Agents Breakout Session DAML PI Meeting 17 October 2002 Tim Finin.
Advertisements

Web Service Architecture
Mobile Agents Mouse House Creative Technologies Mike OBrien.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
The road to reliable, autonomous distributed systems
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Technical Architectures
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Slide: 1 JADE Java Agent DEvelopment Framework Fabio Bellifemine, CSELT - Torino (Italy) Agostino Poggi, Giovanni Rimassa, University of Parma (Italy)
Introduction to JADE presenter: Syuan-Hao Li
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
JADE Java Agent Development Framework An Overview.
JADE: installation and “Hello World” application Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE)
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Introduction of Java Agent Development Environment (JADE) 余萍
Java Agent Development Environment (JADE) Jade is a platform for running agents; it supports: –An asynchronous agent programming model –Communication between.
Understanding and Managing WebSphere V5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
2APL A Practical Agent Programming Language March 6, 2007 Cathy Yen.
Workshop 9 in AOM & MAS Prof Kuldar Taveter, Tallinn University of Technology.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
JADE - A FIPA-Compliant Java Agent Development Framework Andrei Dancus Spring 2002.
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
第十四章 J2EE 入门 Introduction What is J2EE ?
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Software Agent Computing Agent Mobility. Agent mobility is the ability for an agent program to migrate or to make a copy (clone) itself across one or.
Architecting Web Services Unit – II – PART - III.
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Page 1 ADANETS Workshop 29/01/2003ADANETS-WP1 ADANETS Annual Workshop Mobility in Car Services.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
SEMANTIC AGENT SYSTEMS Towards a Reference Architecture for Semantic Agent Systems Applied to Symposium Planning Usman Ali.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
Supporting FIPA Interoperability for Legacy Multi-Agent Systems Christos Georgousopoulos 1 Omer F. Rana 1 ( ) 2.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
FIPA Abstract Architecture London FIPA meeting January 24-29, 2000 from: TC-A members.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
JADE: installation and “Hello World” application
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
MTA SZTAKI Department of Distributed Systems Hogyan mixeljünk össze webszolgáltatásokat, ontológiákat és ágenseket? Micsik András.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
JADE Java Agent Development Environment Yunus Emre ÇAKMAZ Ahmet Cahit YAŞA 1.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
M OBILE A GENTS & JADE Shaquille Wilkins Zak Lowman.
Architecting Web Services
Architecting Web Services
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Presentation transcript:

Slide: 1 Java Agent Development Framework what it is and what it is next Fabio Bellifemine Telecom Italia Lab - Torino (Italy) ETAPS 2001, 7 th Apr. 2001

Slide: 2 Overview o No standard, no agents m FIPA – Foundation for Intelligent Physical Agents o No software tools, no agents m JADE  what it is u main features, architectural choices, sub-systems  what it is next o Standards and Software tools, agents? m Some conclusions

Slide: 3 No standards, no agents o Maximum of potential is expressed by high level interaction (e.g. contract net, auction) m agents from several designers, several vendors, several organizations o Standard is the enabling factor for openness and heterogeneity B + D  I I => A B + D  I I => A User Agent ua 2 Agent a 0 User Agent ua 1 represent services register available services directory service Services provided by a 0 query respond connect communicate, negotiate, delegate, …. Shift from making better components to making better the way the components cooperate

Slide: 4 FIPA Foundation for Intelligent Physical Agents m is a non-profit association of companies, founded in 1996 m its purpose is to promote the success of emerging agent-based applications, services, and equipments  to facilitate the end-to-end interworking u for heterogeneous and interacting agents and agent-based systems u developed by different companies and organisations m the goal is pursued by producing specifications  Agent Management and platform services  Agent Communication Model and Language  set of common Interaction Protocols m today FIPA counts about 65 member companies m the FIPA’s core message  through a combination of speech acts, predicate logic and public ontologies, standard ways of interpreting communication between agents can be achieved that respect the intended meaning of the communication

Slide: 5 FIPA Conceptual model of an Agent Platform Agent Platform Service White page service Life cycle Management Agent-Software Integration Ontology Service Human Agent Interaction provides Yellow page service Message Transport service Normative servicesOptional services

Slide: 6 FIPA conceptual model of agent communication EnvelopeEncodingScheme ACLEncodingScheme CLEncodingScheme TransportProtocol InteractionProtocol Envelope isTransmittedOver Ontology Message 1 ACL 1 isExpressedIn 1..* 1 1 contains ContentLanguage Symbol 11..*1 belongsTo Content contains 1111 isExpressedIn 0..* 1 1 contains 1

Slide: 7 No software tools, no agents - JADE o is the middle-ware for MAS m target users: agent programmers for MAS m agent services  life-cycle, white-page, yellow-page, message transport, message encoding m tools to support debugging phase  remote monitoring agent, dummy agent, sniffer agent, introspector agent m designed to support scalability  from debugging to deployment  from small scale to large scale m claims to comply with the FIPA specifications o fully implemented in Java o distributed in Open Source under LPGL

Slide: 8 Distributed architecture of a JADE platform Network protocol stack JRE 1.2 Jade Main-container Application Agent host1.ithost2.jphost3.us Jade Agent Container Jade distributed Agent Platform Application Agent

Slide: 9 Intra-Container Message Transport (Java events) White page service Agent Management System Yellow page service Directory Facilitator Agent Communication Channel Inter-Containers Message Transport (Java RMI) Inter-Platforms Message Transport (IIOP, HTTP, …) cache of agent addresses Internal architecture of the JADE run-time Note: The internal architecture of a JADE container is similar, but it does not contain the AMS, and the DF. Within the scope of the LEAP project, dependency on Java RMI has been removed

Slide: 10 JADE - Message Transport Service o controls the agent’s private queue of ACL messages o designed as a chameleon m the transport mechanism is selected according to the situation  to achieve the lowest cost for message passing  the overheads depend on the receiver’s location and the cache status o distributed Agent Communication Channel m the main container is not a bottle-neck, thanks to the distributed caches m Message Transport Protocols (MTP) can be activated/deactivated at run- time on any container via the GUI  IIOP based on the ORB implementation of Sun  IIOP based on the ORBacus implementation u allows to make persistent the object reference u allows a more friendly URL-format corbaloc:iiop:hostname:port/name  HTTP MTP provided by EPFL under LGPL m multiple ACL encodings have been implemented  String-based, XML-based (EPFL), bit-efficient (Sonera)

Slide: 11 Agent Execution Model implications on the JADE implementation o agent is autonomous m it completely controls its thread of execution  has a private proxy of the life-cycle manager m decides itself when to read messages and which messages to read  the transport mechanism fills a private queue but it does not call the agent code (no automatic callback) o agent needs concurrency m can engage multiple simultaneous conversations m can execute several concurrent tasks  Java multi-thread or/and  JADE behaviours with cooperative scheduling  one thread-per-agent rather than one thread-per-task/conversation.  Programming Model  A JADE agent is mapped onto an user defined Java class, that must subclass Agent class in jade.core package.  Agent tasks are mapped onto user defined subclasses of Behaviour class in jade.core.behaviours package.

Slide: 12 Int. architect. of a generic JADE agent private inbox of ACL messages scheduler of behaviours pattern matching timeout-basedblocking-basedpolling-based life-cycle manager access mode application dependent agent resources beliefs capabi- lities behaviour 1behaviour 2 behaviour n … active agent behaviours (i.e. agent intentions or agent tasks) JADE library of interaction protocols and of generic agent behaviours The JADE framework includes a library of interaction protocols and generic agent behaviours, that must be customized for the specific application needs in order to create the agent capabilities

Slide: 13 JADE – Agent Communication Model o Agents send/receive Java objects, that represent ACLMessages, within the scope of interaction protocols m JADE hides all message coding (encoding/parsing)  Envelope level u String-based, XML-based  Agent Communication Language level u String-based, XML-based, bit-efficient  Content Language level u FIPA SL-0 + API to register user-defined content languages u support for Base64-encoded direct Java object serialization  Ontology level u FIPA-Agent Management; JADE Agent Management u API to register user-defined content languages  the framework can be extended by users u all levels provide APIs to implement/register new codecs u work is in progress to improve CL and ontology level extendibility m JADE provides a library of common interaction protocols  users just need to implement the handle methods  users can compose agent tasks like super-states of FSM

Slide: 14 JADE – Agent mobility o JADE supports intra-platform mobility and cloning m A platform can be distributed across multiple hosts  each host is an agent container m Agents can migrate between containers m Agents can clone across containers m Self-initiated  doMove(Location) / doClone(Location, String)  before/afterMove() before/afterClone() m Requested to the platform (via the AMS)  Fipa-request interaction protocol  jade.domain.MobilityOntology defines all the concepts and actions needed to support agent mobility and cloning

Slide: 15 JADE - Some graphical tools to support development o RMA (Remote Monitoring Agent) m to browse the white-page service m to control the agent life-cycle (e.g. remote creation, agent migration, …) m to activate/deactivate MTPs on containers m to browse white-page services of remote agent platforms o DF GUI m to browse the yellow-page service m to make DF federations and browse remote DF’s o DummyAgent m send/receive store/save ACLMessages o Sniffer Agent m to sniff, debug, save to file, multi-agent conversations o Introspector Agent m to debug an agent: queue of sent/received messages, queue of behaviours, …

Slide: 16 Scalability in JADE o Configuration of a platform m from one MAS on a single host  single-host platform m to one agent on a single host  agent platform on a cluster of hosts m configuration can be changed at run-time  hot restarting is possible thanks to the local caches u agent is referred by name => no need to get new reference o Is the main-container a bottle-neck? m the Agent Communication Channel is distributed m the main container is involved only when strictly necessary

Slide: 17 How much of FIPA is hidden by JADE to the programmer? o no need to implement the Agent Platform m AMS, DF, and ACC automatically launched at start-up o no need to implement agent-management ontology and functionalities m an agent is registered with the AP by the Java constructor itself  it is given a name and an address m the Agent class provides a simplified interface to access the services of the DF (registration, searching, …) o no need to implement Message Transport and Parsing m automatically (and possibly efficiently) done by the framework when sending/receiving messages o no need to implement Interaction Protocols m they must only be extended via handle methods

Slide: 18 JADE – what is next o JADE 2.2 (the taste of the community’s power) m HTTP MTP and XML-based ACLCodec(EPFL’s contribution) m bit-efficient ACL codec (Sonera’s contribution) m improvements to the SnifferAgent GUI (HP Palo Alto contribution) m GUI support for remote platforms, introspector agent, FSM Behaviour o JADE 2.3 (expected in summer) m improving integration with Web technologies: applets, servlets, JSP, XML m improving support for persistence and restartability m improving support for interaction protocols o soon more … m integrating the LEAP core (JADE/LEAP run-time for mobile terminals)  No API modifications. JADE agents will run also on mobile devices m security and multi-users support m improving support for JESS users m adding plans, i.e. JADE behaviours as production rule systems m … more contributions of the user community

Slide: 19 The JADE license open source does not just mean access to the source code (O’Reilly) o JADE is OSS since Feb (version 1.3) under LGPL m keep all contributors to the same level relative to each other m Assure right to  make and distribute copies of JADE  have access to the software’s source code  make improvements to the program  incorporate JADE into a proprietary program  continue the JADE experience even if we stopped it !! u which will not happen, because we will not stop JADE so easily m Mandate duty to  not keep modifications private  not change the license of JADE and its modifications

Slide: 20 Some conclusions (1/2) o does JADE really comply with FIPA? m strong active participation of the JADE team in FIPA (FAB, TC chair, …) m successfully participated in the 1 st FIPA interop. tests in Seoul on Jan. 99 m successfully participated in the 2 nd FIPA interop. tests in London on Apr. 01 o does JADE really simplifies the development of MAS? m pay-as-you-go philosophy m How much of FIPA is hidden to programmers?  is FIPA for agent developers or for agent platform developers? o Is JADE too low-level? m JADE provides the communication layer and the task scheduling layer m JADE can be easily integrated with a reasoning layer (JESS, PARADE, …) o LGPL license m respect and protect both the users and the authors

Slide: 21 Some conclusions (2/2) o Some numbers (useless) m > 3000 downloads since Feb m > 600 users registered on the mailing list m > 700 exchanged and archived s o Some credits (useful) m JADE is the result of a joint collaboration with the University of Parma m thanks to all the external contributors:  Daniel Le Berre, Kaveh Kamyab, Bernard Burg and his team at HP Palo Alto, EPFL, … o Standards and Software tools, Agents? m standard and sw tools are enabling components but  the technology needs a scope (agents to do what?)  from multi-agent systems/platforms to multi-agent applications  killer applications of mainstream technologies  pragmatic view of the theory (OO theory vs. OO usage)

Slide: 22 Spare slides

Slide: 23 Package jade.core.behaviours

Slide: 24 JADE - Some graphical tools to support development

Slide: 25 Concurrency in JADE o different containers on the same platform m 1 JVM per container o different agents on the same container m run in a preemptive multi-threaded environment scheduled by the JAVA Virtual Machine o different behaviours on the same agent m scheduled cooperatively  every behaviour must release the control to allow the other behaviours to be executed  no stack to be saved, more effort to the programmer  JADE scheduler carries out a round-robin non-preemptive policy among all behaviours in the ready queue m Behaviours can be composed into a tree  every Behaviour is a Finite State Machine u one state per execution time slot

Slide: 26 Agents as a system building paradigm THE Problem: Interoperability Methodologies, technologies, and tools currently available allow to develop software more and more powerful and complex BUT All the produced software is not able to interoperate with other software if no specific provision was made at the design time THEREFORE It is necessary to define new software development methodologies and technologies that allow to transfer this interoperability burden from the designers to the software program itself m Shift from making better components to making better the way the components cooperate

Slide: 27 FIPA and Compliance Testing o FIPA is not only ACL m FIPA is also Agent Platform and Agent Services o MAS and the MAS environment are very dynamic in nature m static compliance testing vs statistical compliance testing o compliance tests based upon access to internal of agents might not be viable in commercial applications o the delegation pattern does not apply to standards m if you need standards, you must work for that o compliance test activity has kicked-off in FIPA m a workplan has been submitted with goals and milestones