Java Agent DEvelopment Framework (JADE)



Similar documents
JADE: Java Agent Development Framework What is it? How can I use it?


Multi-Agent Systems. Mehdi Dastani

Cloud Computing An Introduction

FIPA agent based network distributed control system

Environment Programming in Multi-Agent Systems An Artifact-Based Perspective

M-BOX V Product Profile

X.400 Messaging Server Suite Evaluation Guide. Configuring Isode's M-Switch for X.400 Messaging. Isode

J A D E T U TO R I A L

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

WHITE PAPER. Best Practices for Configuring PATROL for Microsoft Exchange Servers

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

NetBeans IDE Field Guide

TSM for Windows Installation Instructions: Download the latest TSM Client Using the following link:

Introduction to Synoptic

Novell ZENworks Asset Management

ITG Software Engineering

Integration of. ERP systems and epages 6. with Web services

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

The present document includes the following lists:

Naming in Distributed Systems

Enterprise Server. Application Sentinel for SQL Server Installation and Configuration Guide. Application Sentinel 2.0 and Higher

JOURNAL OF OBJECT TECHNOLOGY

GFI Product Manual. Administration and Configuration Manual

Omtool Server Monitor administrator guide

TIBCO Hawk SNMP Adapter Installation

Naming in Distributed Systems

Enterprise Content Management System Monitor. Server Debugging Guide CENIT AG Bettighofer, Stefan

Easy configuration of NETCONF devices

Model Simulation in Rational Software Architect: Business Process Simulation

Software Development Kit

DBA xpress Product Overview

Cloud Computing: An Introduction

JBoss Forums Guide. 1. Introduction

IGEL Universal Management. Installation Guide

Installing and Using the Zimbra Reporting Tool

Chapter 10 Encryption Service

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Source Code Translation

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

HP Business Service Management

MiVoice Business Product Category. MiVoice Business System Administration. MiVoice Business Moves, Adds, and Changes Self Study

Self-describing Agents

Installing Management Applications on VNX for File

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

WebSphere Server Administration Course

Remote support for lab activities in educational institutions

IBM WebSphere Server Administration

Course Agenda: Managing Active Directory with NetIQ Directory and Resource Administrator and NetIQ Exchange Administrator

EMC Documentum Composer

TIBCO Spotfire Statistics Services Installation and Administration Guide

Administering Parallels Desktop 7 for Mac with the Casper Suite. Technical Paper November 2012

Symantec Client Firewall Policy Migration Guide

Installing and Using the vnios Trial

TIBCO Spotfire Statistics Services Installation and Administration

Practical Android Projects Lucas Jordan Pieter Greyling

Intelligent Power Protector User manual extension for Microsoft Virtual architectures: Hyper-V 6.0 Manager Hyper-V Server (R1&R2)

Rational Developer for IBM i (RDi) Introduction to RDi

How to Configure Microsoft System Operation Manager to Monitor Active Directory, Group Policy and Exchange Changes Using NetWrix Active Directory

Department of Veterans Affairs. Open Source Electronic Health Record Services

SPAMfighter Exchange Module

ActiveVOS Server Architecture. March 2009

Dell UPS Local Node Manager USER'S GUIDE EXTENSION FOR MICROSOFT VIRTUAL ARCHITECTURES Dellups.com

Crystal Reports Installation Guide

Oracle Data Integrator: Administration and Development

TIBCO Spotfire Statistics Services Installation and Administration. Release 5.5 May 2013

How to install and use the File Sharing Outlook Plugin

UM0834 User manual. Developing and debugging your STM8S-DISCOVERY application code. Introduction. Reference documents

Gigabyte Content Management System Console User s Guide. Version: 0.1

Agent Based Expert System for Online Assessment in Distributed Database Environment: Prototype Design and Implementation

Oracle FLEXCUBE Universal Banking 12.0 RAD Notification Development. Release 1.0

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

TELECOMMUNICATIONS REQUIREMENTS FOR TRANSMITTING ELECTRONIC DATA FILES ADMINISTRATIVE SERVICES OF KANSAS

Citrix Lab Manager 3.6 SP 2 Quick Start Guide

FIGURE Selecting properties for the event log.

Course Catalog End User Training

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

Using weblock s Servlet Filters for Application-Level Security

EMC Documentum Content Services for SAP iviews for Related Content

Remote Online Support

MD Link Integration MDI Solutions Limited

Microsoft Operations Manager 2005

FileMaker Server 14. FileMaker Server Help

DocuSign Connect for Salesforce Guide

Spectrum Technology Platform. Version 9.0. Administration Guide

Microsoft Dynamics GP econnect Installation and Administration Guide

MANAGING AGENT PLATFORMS WITH THE SIMPLE NETWORK MANAGEMENT PROTOCOL

Tutorial 5: Developing Java applications

Sybase Unwired Platform 2.0

MiVoice Business Product Category. MiVoice Business System Administration. MiVoice Business Moves, Adds, and Changes Self Study

Tracking Network Changes Using Change Audit

ActiveVOS Clustering with JBoss

IBM Software Services for Lotus Consulting Education Accelerated Value Program. Log Files IBM Corporation

ASTERIA WARP Manual Last update: June 19, 2014 Infoteria Corporation

Object-Oriented Middleware for Distributed Systems

To reduce or not to reduce, that is the question

Sophos Mobile Control Administrator guide. Product version: 3.6

TIBCO Runtime Agent Domain Utility User s Guide Software Release November 2012

Transcription:

Java Agent DEvelopment Framework (JADE) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2010/2011 Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 1 / 30

Outline 1 JADE Platform 2 Programming with JADE Basic Features 3 JADE Download 4 Exercises Exercise 1 Exercise 2 Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 2 / 30

JADE Platform JADE and the Agent Abstraction JADE Main Features Software platform providing basic middleware-layer functionalities for the realisation of distributed application by exploiting the agent abstraction Full compliant with FIPA specifications Provides graphical tools to support programmers when debugging and monitoring JADE Agents Identified by a globally unique name: AgentIdentifier or AID Can join and leave a host platform at any time and can discover other agents through both white-page and yellow-page services Can initiate communication with any other agent at any time and can equally be the object of an incoming communication at any time Can be mobile Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 3 / 30

JADE Architecture JADE Platform Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 4 / 30

JADE Architecture JADE Platform Agents and Containers A JADE platform is composed of agent containers that can be distributed over the network Agents live in containers A container is a Java process providing the JADE run-time and all the service needed for hosting and executing agents Main Container Is a special container representing the bootstrap point of the platform All the containers must join to a main container by registering with it By default the Main Container contains two agents: Agent Management System (AMS) that supervises the entire platform Directory Facilitator (DF) that implements the yellow pages service Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 5 / 30

JADE Platform Admin & Debugging Tools Complexity in Multi-agent Applications Often distributed across several hosts Composed of perhaps hundreds of multi-threaded processes They are dynamic in that agents can appear, disappear and migrate Difficulties in management and especially debugging JADE has an event notification service which forms the basis of The JADE RMA management console A set of graphical tools They are provided to help in the management and debugging phase Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 6 / 30

JADE Platform Admin & Debugging Tools JADE RMA (Remote Monitoring Agent) Implements a graphical platform management console Provides a visual interface to monitor and administer a distributed JADE platform composed of one or several hosts and container nodes It includes a Tools menu through which other tools can be launched Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 7 / 30

JADE Platform Admin & Debugging Tools Dummy Agent A simple tool that is useful for sending stimuli, in the form of custom ACL messages, to test the behaviour of another agent Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 8 / 30

JADE Platform Admin & Debugging Tools Sniffer Agent A tool used for debugging or, simply documenting conversations between agents Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 9 / 30

JADE Platform Admin & Debugging Tools Introspector Agent While the Sniffer Agent is a tool useful to sniff, monitor and debug conversation between agents, the Introspector Agent should be used to debug the behaviour of a single agent In fact, it allows an agent s life cycle, and its queues of sent and received messages, to be monitored and controlled Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 10 / 30

JADE Platform Admin & Debugging Tools Log Manager Agent Is a tool that simplifies the dynamic and distributed management of the logging facility by providing a graphical interface that allows the logging levels of each component of the JADE platform to be changed at run-time Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 11 / 30

Agent Cycle Programming with JADE Basic Features Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 12 / 30

Agent Example Programming with JADE Basic Features Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 13 / 30

Programming with JADE Basic Features Agent Execution Compile the Agent HelloWorldAgent with the command javac -cp jade.jar *.java Run the Main Container with the command java -cp.:jade.jar jade.boot -gui Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 14 / 30

Programming with JADE Basic Features Agent Execution Run the Agent with the command java -cp.:jade.jar jade.boot -container Pet:HelloWorldAgent Run the Agent with the command java -cp.:jade.jar jade.boot -container "Pet:HelloWorldAgent(arg1,arg2)" Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 15 / 30

Programming with JADE Basic Features Agent Behaviour Three primary behaviour types are available with JADE One-shot. Designed to complete in one execution phase Cyclic-shot. Designed to never complete Generic-shot. Embed a status trigger and execute different operations depending on the status value Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 16 / 30

Programming with JADE Basic Features Example of Behaviour Implementation (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 17 / 30

Programming with JADE Basic Features Example of Behaviour Definition (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 18 / 30

Programming with JADE Basic Features Agent Communication Agent communication is implemented in accordance with the FIPA specifications Messages The communication paradigm is based on asynchronous message passing: A mailbox associated to each agent An agent is notified whenever a message is posted in the mailbox Compliant with FIPA-ACL message structure The sender of the message The list of receiver The communication act (or performative) indicating what the sender intends to achieve by sending the message The content containing the actual information to be exchanged The content language indicating the syntax used to express the content The ontology indicating the semantic used to interpreter the content Some additional fields... Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 19 / 30

Programming with JADE Basic Features Example of DF Usage: Registration (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 20 / 30

Programming with JADE Basic Features Example of DF Usage: Searching (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 21 / 30

Programming with JADE Basic Features Example of Message Sending (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 22 / 30

Programming with JADE Basic Features Example of Message Reception and Blocking (From BOOK-TRADING Project) Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 23 / 30

JADE Download JADE for Usage Homepage: http://jade.tilab.com/ Download JADE-all-4.0.1.zip containing bin doc examples src We need jade.jar in bin, the documentation in doc and examples Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 24 / 30

JADE Download Jason with JADE It is possible to use Jade as communication infrastructure for Jason It is possible to integrate Jade agents with Jason agents See http://jason.sourceforge.net/mini-tutorial/jason-jade/ Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 25 / 30

Outline Exercises Exercise 1 1 JADE Platform 2 Programming with JADE Basic Features 3 JADE Download 4 Exercises Exercise 1 Exercise 2 Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 26 / 30

Exercises Exercise 1 Thermostat Agent with JADE Requirements Check the environment temperature T. Until T is not: > 18 and < 22: Decrease T of one unit if the temperature is 22 Increase T of one unit if the temperature is 18 Constraint ThermostatAgent interacts with the environment to sense and change the temperature The environment can be simulated by an agent Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 27 / 30

Outline Exercises Exercise 2 1 JADE Platform 2 Programming with JADE Basic Features 3 JADE Download 4 Exercises Exercise 1 Exercise 2 Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 28 / 30

Exercises Exercise 2 Thermostat Agent with Agent Interaction New Constraints There are three agents: ThermostatAgent interacts with the environment to sense and change the temperature ManagerAgent publish the service JADE-themperature-checking in the DF ThermostatAgent searches the service JADE-themperature-checking in the DF and obtain the Agent ID (AID) of ManagerAgent ThermostatAgent asks to ManagerAgent the new value of the temperature Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 29 / 30

Java Agent DEvelopment Framework (JADE) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2010/2011 Elena Nardini (Università di Bologna) JADE A.Y. 2010/2011 30 / 30