Multi-Agent Systems. Mehdi Dastani

Size: px
Start display at page:

Download "Multi-Agent Systems. Mehdi Dastani"

Transcription

1 Multi-Agent Systems Mehdi Dastani

2 What is JADE? JADE (Java Agent DEvelopment framework) is a FIPA compliant agent platform and a Java framework for the development of MAS. The Jade platform is based on a middleware that facilitates the development of distributed multi-agent applications based on a peerto-peer communication architecture. The environment can evolve dynamically with agents that appear and disappear in the system according to the needs and the requirements of the context. JADE Project started in July 1998 as joint development of Telecom Italia Lab and Parma University. JADE is the Leading Open Source FIPA compliant agent platform. Currently JADE development is driven by a board composed of five industrial partners:tilab, Motorola, Whitestein Technologies AG, Profactor GmbH, and France Telecom R&D.

3 JADE An agent platform that implements the basic services and infrastructure of a distributed multi-agent application: agent life-cycle, agent mobility, and agent security white & yellow-page services peer-to-peer message transport & parsing; also multi-party communication scheduling of multiple agent tasks set of graphical tools to support monitoring, logging, and debugging Some relevant features: Distributed Agent Platform seen as a whole from the outside world spanning multiple machines enables interoperability through FIPA compliance Two levels concurrency model Inter-agent (pre-emptive, Java threads) Intra-agent (co-operative, Behaviour classes)

4 The architectural model A JADE-based application is composed of a collection of active components called Agents. Each agent has a unique name. Each agent is a peer since he can communicate in a bidirectional way with all other agents Each agent lives in a container (that provides its run time) and can migrate within the platform One container plays the role of main (where AMS, DF live)

5 Agent class and names A type of agent is created by extending the jade.core.agent class and redefining the setup() method. Each Agent instance is identified by an AID (jade.core.aid), composed of a unique name plus some addresses; the getaid() method of the Agent class Agent names are of the form <local-name>@<platform-name>. The complete name of an agent must be globally unique. The default platform name is <main-host>:<main-port>/jade. The platform name can be set using the name option Within a single JADE platform agents are referred through their names only. Given the name of an agent its AID can be created as AID id = new AID(localname, AID.ISLOCALNAME); AID id = new AID(name, AID.ISGUID);

6 Hello World: A Simple Example import jade.core.agent; public class HelloAgent extends Agent { protected void setup() { System.out.println("Hello World. "); System.out.println("My name is "+ getlocalname()); } } $> javac HelloAgent.java $> java jade.boot fred:helloagent This is JADE 3.0b1. Hello World. My name is fred

7 Starting Agent Execution Birth of a new agent The agent is given an identifier It is registered with the AMS It is put in the AP_ACTIVE state Its setup() method is executed The setup() method is therefore the point where any application-defined agent activity starts Initialise the agent Add tasks using the method addbehaviour() Scheduled as soon as the setup() method ends

8 The Behaviour class The actual job that an agent does is typically carried out within behaviours Behaviours are created by extending jade.core.behaviours.behaviour class To make an agent execute a task it is sufficient to create an instance of the corresponding Behaviour subclass and call the addbehaviour() method of the Agent class. Each Behaviour subclass must implement public void action(): what the behaviour actually does public boolean done(): Whether the behaviour is finished An agent can execute several behaviours in parallel, however, behaviour scheduling is not preemptive, but cooperative and everything occurs within a single Java Thread Behaviour switch occurs only when the action() method of the currently scheduled behaviour returns.

9

10 Hello World: A Simple Example import jade.core.agent; import jade.core.behaviours.*; public class myagent extends Agent { protected void setup() { addbehaviour( new mybehaviour( this ) ); } class mybehaviour extends SimpleBehaviour { public void action() { //... the real programming!! } private boolean finished = false; public boolean done() { return finished; } } // End mybehaviour } //end class myagent Hello World! My name is fred Hello World! My name is fred Hello World! My name is fred Hello World! My name is fred... loops until stopped with CTL-C...!

11 Hello World: A Simple Example import jade.core.agent; import jade.core.behaviours.*; public class myagent extends Agent { protected void setup() { addbehaviour( new mybehaviour( this ) ); } class mybehaviour extends SimpleBehaviour { int n=0; public void action() { ; n++; } public boolean done() { return n>=3; } } // End mybehaviour } //end class myagent Hello World! My name is fred Hello World! My name is fred Hello World! My name is fred

12 Behaviour types One shot behaviours. Cyclic behaviours. Complex behaviours. WakerBehaviour The action() and done() method are already implemented so that the handleelapsedtimeout() method (to be implemented by subclasses) is executed after a given timeout After that execution the behaviour completes. TickerBehaviour The action() and done() method are already implemented so that the ontick() (to be implemented by subclasses) method is executed periodically with a given period The behaviour runs forever unless its stop() method is executed

13 WakerBehaviour: A Simple Example public class MyAgent extends Agent { protected void setup() { System.out.println( Adding waker behaviour ); addbehaviour(new WakerBehaviour(this, 10000) { protected void handleelapsedtimeout() { // perform operation X } } ); } } Operation X is performed 10 seconds after the Adding waker behaviour printout appears.

14 TickerBehaviour: A Simple Example public class tickeragent extends Agent { Behaviour loop; protected void setup() { } } loop = new TickerBehaviour( this, ) { protected void ontick() { // perform operation X } }; addbehaviour( loop ); Operation X is performed periodically every 10 seconds.

15 Stopping Agent Execution Any behaviour can call the Agent.doDelete() method in order to stop agent execution. The Agent.takeDown() method is executed when the agent is going to be destroyed The agent is still registered with the AMS and can therefore send messages to other agents The takedown() method can be overridden to implement any necessary cleanup. Just after the takedown() method is completed, the agent will be de-registered and its thread destroyed

16

17 More about behaviours The onstart() method of the Behaviour class is invoked only once before the first execution of the action() method. The onend() method of the Behaviour class is invoked only once after the done() method returns true. The removebehaviour() method of the Agent class can be used to remove a behaviour from the agent pool of behaviours. The onend() method is not called. When the pool of active behaviours of an agent is empty, the agent enters the IDLE state and its thread goes to sleep

18 ACLMessage Based on asynchronous message passing Message format defined by the ACL language (FIPA) Messages exchanged by agents are instances of the jade.lang.acl.aclmessage Sending a message = creating an ACLMessage object and calling the send() method of the Agent class Reading messages from the private message queue is accomplished through the receive() method Provide accessor methods to get and set all the fields defined by the ACL language : get/setperformative(), get/setsender(), add/getallreceiver(), get/setlanguage(), get/setontology(), get/setcontent()

19 Blocking or selecting The block() method of the Behaviour class removes a behaviour from the agent pool of behaviours and puts it in a blocked state. Each time a message is received all blocked behaviours are inserted back in the agent pool and have a chance to read and process the message. It is possible to read only messages with certain characteristics specifying a jade.lang.acl.messagetemplate parameter in the receive() method. The Agent class also provides the blockingreceive() method; there are overloaded versions that accept a MessageTemplate and/or a timeout.

20 Blocking or selecting public void action() { ACLMessage msg = myagent.receive(); if (msg!= null) { // Message received. Process it... } else { block(); } }

21 FIPA ACL Message Elements p e r f o r m a t i v e What action the message performs s e n d e r Initiator of the message r e c e i v e r Recipient of the message r e p l y - t o Recipient of the message reply c o n t e n t Content of the message l a n g u a g e Language used to express content e n c o d i n g Encoding used for content o n t o l o g y Ontology context for content p r o t o c o l Protocol message belongs to c o n v e r s a t i o n - i d Conversation message belongs to r e p l y - w i t h Reply with this expression i n - r e p l y - t o Action to which this is a reply r e p l y - b y Time to receive reply by

22 ACL Message Example (request :sender (:name :receiver (:name :ontology personal-travel-assistant :language FIPA-SL :protocol fipa-request :content (action (book-hotel (:arrival 25/11/2000) (:departure 05/12/2000)... ))) Any language can be used as a Content Language, e.g.: KIF, Prolog, SQL, Serialized Objects, Binary Large Objects FIPA-SL, FIPA-CCL, FIPA-RDF, FIPA-KIF

23 Sending/receiving Message ACLMessage msg = receive(); ACLMessage reply = new ACLMessage( ACLMessage.INFORM ); reply.setcontent( "Pong" ); reply.addreceiver( msg.getsender() ); send(reply); public void action() { ACLMessage msg = receive(); if (msg!=null) {...; ACLMessage reply = msg.createreply(); reply.setperformative(aclmessage.inform ); reply.setcontent(" Pong" ); reply.send(); } block(); }

24 DF (Directory Facilitator)

25 Interacting with the DF Agent The DF is an agent, it communicates using ACL The ontology and language that the DF understands are specified by FIPA The jade.domain.dfservice class provides static utility methods that facilitate the interactions with the DF register(); modify(); deregister(); search(); The JADE DF also supports a subscription mechanism

26 DFDescription format When an agent registers with the DF it must provide a description The agent AID A collection of service descriptions (class ServiceDescription): The service type (e.g. Weather forecast ) The service name (e.g. Meteo-1 ) The languages, ontologies and interaction protocols that must be known to exploit the service A collection of service-specific properties in the form key-value pair When an agent searches/subscribes to the DF it must specify another DFAgentDescription that is used as a template

27 Interacting with the DF Agent protected void setup() {... DFAgentDescription dfd = new DFAgentDescription(); dfd.setname(getaid()); ServiceDescription sd = new ServiceDescription(); sd.settype( book-selling ); sd.setname( JADE-book-trading ); dfd.addservices(sd); DFService.register(this, dfd);... } protected void takedown() { DFService.deregister(this); }

28 Agent Management System The authority in a JADE platform; all platform management actions (creating/killing agents, killing containers...) Other agents can request the AMS to perform these actions by using The fipa-request interaction protocol The SL language The JADE-Management ontology and related actions getams() => the AID of the AMS

29

30 The main graphical tools of JADE Management, control, monitoring, and debugging of a multi-agent platform RMA (Remote Monitoring Agent) Dummy Agent Sniffer Agent Introspector Agent Log Manager Agent DF (Directory Facilitator) GUI

31

32

33

34

35 Advantages No need to implement the Agent Platform AMS, DF executed at start-up No need to implement agent-management ontology and functionalities An agent is registered with the Agent Platform within its constructor, it is given a name and an address The DFService class provides a simplified interface to access the services of the DF (registration, searching, lease-renewal, ) No need to implement Message Transport and Parsing Automatically (and possibly efficiently) done by the framework when sending/receiving messages Interaction Protocols must only be extended via handle methods Standard FIPA!

http://jade.tilab.com/

http://jade.tilab.com/ http://jade.tilab.com/ JADE A framework for developing multi-agent systems FIPA-compliant Written in JAVA, consists of an API with several packages Agent platform: 2 AMS and DF Agent Management System

More information

J A D E T U TO R I A L

J A D E T U TO R I A L J A D E T U TO R I A L J A D E P R O G R A M M I N G F O R B E G I N N E R S USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 30 June 2009. JADE 3.7 Authors: Giovanni Caire (TILAB, formerly

More information

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

JADE: Java Agent Development Framework What is it? How can I use it? JADE: Java Agent Development Framework What is it? How can I use it? Based on Online documentation of Jade http://jade.tilab.com/ 1 Overview Agent Communication Language Jade Features The agent Platform

More information

Java Agent DEvelopment Framework (JADE)

Java Agent DEvelopment Framework (JADE) 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

More information

JADE PROGRAMMER S GUIDE

JADE PROGRAMMER S GUIDE JADE PROGRAMMER S GUIDE USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update:08-april-2010. JADE 4.0 Authors: Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB, formerly CSELT) Giovanni

More information

FIPA Agent Management Specification

FIPA Agent Management Specification FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Management Specification Document title FIPA Agent Management Specification Document number XC00023G Document source FIPA Agent Management Document

More information

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

Agent Based Expert System for Online Assessment in Distributed Database Environment: Prototype Design and Implementation Agent Based Expert System for Online Assessment in Distributed Database Environment: Prototype Design and Implementation Khurshid Alam Borbora 1, Ridip Dev Choudhury 2, Shikhar Kr. Sarma 3 Assistant Professor,

More information

FIPA Agent Management Specification

FIPA Agent Management Specification 1 2 3 4 5 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Management Specification 6 7 Document title FIPA Agent Management Specification Document number SC00023K Document source FIPA TC Agent Management

More information

Técnicas Avanzadas de Inteligencia Artificial Dpt. Lenguajes y Sistemas Informáticos. FISS. UPV-EHU

Técnicas Avanzadas de Inteligencia Artificial Dpt. Lenguajes y Sistemas Informáticos. FISS. UPV-EHU Laboratorio 2 Comportamientos Técnicas Avanzadas de Inteligencia Artificial Dpt. Lenguajes y Sistemas Informáticos. FISS. UPV-EHU 1 Hilo de ejecución de un agente Ejecución del comportamiento onstart()

More information

Tutorial: Getting Started

Tutorial: Getting Started 9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform

More information

3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version

3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin wolin@jlab.org Carl Timmer timmer@jlab.org

More information

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009 STORM Simulation TOol for Real-time Multiprocessor scheduling Designer Guide V3.3.1 September 2009 Richard Urunuela, Anne-Marie Déplanche, Yvon Trinquet This work is part of the project PHERMA supported

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets 1 Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri}@ai.uwf.edu

More information

Scalability and Performance of JADE Message Transport System

Scalability and Performance of JADE Message Transport System E.Cortese Telecom Italia LAB Centro Direzionale isola F7 8143 Naples Italy +39819718364 Elisabetta.Cortese@TILAB.com Scalability and Performance of JADE Message Transport System F.Quarta Telecom Italia

More information

FIPA agent based network distributed control system

FIPA agent based network distributed control system FIPA agent based network distributed control system V.Gyurjyan, D. Abbott, G. Heyes, E. Jastrzembski, C. Timmer, E. Wolin TJNAF, Newport News, VA 23606, USA A control system with the capabilities to combine

More information

A PACKAGE TRACKING APPLICATION BASED ON SOFTWARE AGENTS

A PACKAGE TRACKING APPLICATION BASED ON SOFTWARE AGENTS A PACKAGE TRACKING APPLICATION BASED ON SOFTWARE AGENTS A Paper Submitted to the Graduate Faculty of the North Dakota State University of Agriculture and Applied Science By Vindhya Jonnalagadda In Partial

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, Novmeber - December 2008 Extension of Object-Oriented Software

More information

Design and Implementation of Distributed Process Execution Environment

Design and Implementation of Distributed Process Execution Environment Design and Implementation of Distributed Process Execution Environment Project Report Phase 3 By Bhagyalaxmi Bethala Hemali Majithia Shamit Patel Problem Definition: In this project, we will design and

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri@ai.uwf.edu.

More information

Business Intelligence Knowledge Base

Business Intelligence Knowledge Base Business Intelligence Knowledge Base Project Acronym UNDERSTANDER Document-Id D.4 File name Version Final document Date start: 01 November 2013 end: 31 December 2013 Author(s) QA Process Violeta Damjanovic

More information

1. Stem. Configuration and Use of Stem

1. Stem. Configuration and Use of Stem Configuration and Use of Stem 1. Stem 2. Why use Stem? 3. What is Stem? 4. Stem Architecture 5. Stem Hubs 6. Stem Messages 7. Stem Addresses 8. Message Types and Fields 9. Message Delivery 10. Stem::Portal

More information

Constructing a Collaborative Multi-Agents System Tool for Real Time System Requirements

Constructing a Collaborative Multi-Agents System Tool for Real Time System Requirements www.ijcsi.org 134 Constructing a Collaborative Multi-Agents System Tool for Real Time System Requirements Asmaa Y. Hamo 1, Marwa A. Aljawaherry 2 1, 2 Software Engineering, Mosul University, Collage of

More information

Business Intelligence Seeker - User Agent

Business Intelligence Seeker - User Agent Business Intelligence Seeker - User Agent Project Acronym UNDERSTANDER Document-Id D.3 File name Version Final document Date start: 01 January 2014 end: 28 February 2014 Author(s) QA Process Violeta Damjanovic

More information

Interoperability of open-source VoIP and multi-agent systems

Interoperability of open-source VoIP and multi-agent systems Interoperability of open-source VoIP and multi-agent systems Marko Skomeršić 1, Neven Parat 2 1 Voice services department, Iskon Internet d.d., Garićgradska 18, 10000 Zagreb, Croatia marko.skomersic@iskon.hr

More information

Manual. Programmer's Guide for Java API

Manual. Programmer's Guide for Java API 2013-02-01 1 (15) Programmer's Guide for Java API Description This document describes how to develop Content Gateway services with Java API. TS1209243890 1.0 Company information TeliaSonera Finland Oyj

More information

Virtual Knowledge Communities for Distributed Knowledge Management: A Multi-Agent-Based Approach using JADE. Diplomarbeit von Marc Hammond

Virtual Knowledge Communities for Distributed Knowledge Management: A Multi-Agent-Based Approach using JADE. Diplomarbeit von Marc Hammond Virtual Knowledge Communities for Distributed Knowledge Management: A Multi-Agent-Based Approach using JADE Diplomarbeit von Marc Hammond Betreuer: Betreuender Mitarbeiter: Prof. Dr. J. Calmet Dr. Pierre

More information

A Multi-agent System for Knowledge Management based on the Implicit Culture Framework

A Multi-agent System for Knowledge Management based on the Implicit Culture Framework A Multi-agent System for Knowledge Management based on the Implicit Culture Framework Enrico Blanzieri Paolo Giorgini Fausto Giunchiglia Claudio Zanoni Department of Information and Communication Technology

More information

Developing Multi-agent Systems with JADE

Developing Multi-agent Systems with JADE Developing Multi-agent Systems with JADE Fabio Bellifemine 1, Agostino Poggi 2, and Giovanni Rimassa 2 1 CSELT S.p.A. Via G. Reiss Romoli, 274, 10148, Torino, Italy bellifemine@cselt.it 2 Dipartimento

More information

E) Modeling Insights: Patterns and Anti-patterns

E) Modeling Insights: Patterns and Anti-patterns Murray Woodside, July 2002 Techniques for Deriving Performance Models from Software Designs Murray Woodside Second Part Outline ) Conceptual framework and scenarios ) Layered systems and models C) uilding

More information

E-mail Listeners. E-mail Formats. Free Form. Formatted

E-mail Listeners. E-mail Formats. Free Form. Formatted E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail

More information

Web development... the server side (of the force)

Web development... the server side (of the force) Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server

More information

A Scheme for Implementing Load Balancing of Web Server

A Scheme for Implementing Load Balancing of Web Server Journal of Information & Computational Science 7: 3 (2010) 759 765 Available at http://www.joics.com A Scheme for Implementing Load Balancing of Web Server Jianwu Wu School of Politics and Law and Public

More information

To Java SE 8, and Beyond (Plan B)

To Java SE 8, and Beyond (Plan B) 11-12-13 To Java SE 8, and Beyond (Plan B) Francisco Morero Peyrona EMEA Java Community Leader 8 9...2012 2020? Priorities for the Java Platforms Grow Developer Base Grow Adoption

More information

Communication Protocol

Communication Protocol Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth

More information

MD Link Integration. 2013 2015 MDI Solutions Limited

MD Link Integration. 2013 2015 MDI Solutions Limited MD Link Integration 2013 2015 MDI Solutions Limited Table of Contents THE MD LINK INTEGRATION STRATEGY...3 JAVA TECHNOLOGY FOR PORTABILITY, COMPATIBILITY AND SECURITY...3 LEVERAGE XML TECHNOLOGY FOR INDUSTRY

More information

MA-WA1920: Enterprise iphone and ipad Programming

MA-WA1920: Enterprise iphone and ipad Programming MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This

More information

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT 1 R.Sivaraman, 2 RM.Chandrasekaran 1 Dy.Director, Center for Convergence of Technologies (CCT), Anna University Tiruchirappalli, Tiruchirappalli,

More information

09336863931 : provid.ir

09336863931 : provid.ir provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement

More information

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration Author Company : Syed Umar : SAP Labs India Pvt.Ltd TABLE OF CONTENTS INTRODUCTION... 3 Preparation... 3 CONFIGURATION REQUIRED FOR SENDER

More information

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started Version 2.0 Original-Application Note ads-tec GmbH IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IWL3000 SRC1000

More information

What Are the Different Types of Service Instabilities?

What Are the Different Types of Service Instabilities? Jonathan Dale Fujitsu Laboratories of America 595 Lawrence Expressway Sunnyvale, CA 94085, USA jonathan.dale@fla.fujitsu.com Implementing Agent-based Web Services Luigi Ceccaroni Fujitsu Laboratories of

More information

MULEP-A Multi Level E-Procurement System with Distributed Agents

MULEP-A Multi Level E-Procurement System with Distributed Agents MULEP-A Multi Level E-Procurement System with Distributed s Ozgur Koray SAHINGOZ, Emre OZTAS Abstract Supply chain management system satisfies the customer demands through the most efficient use of resources,

More information

socketio Documentation

socketio Documentation socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15

More information

Chapter 2: Processes, Threads, and Agents

Chapter 2: Processes, Threads, and Agents Process Management A distributed system is a collection of cooperating processes. Applications, services Middleware Chapter 2: Processes, Threads, and Agents OS: kernel, libraries & servers OS1 Processes,

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

MetroPro Remote Access OMP-0476F. Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455

MetroPro Remote Access OMP-0476F. Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455 MetroPro Remote Access OMP-0476F Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455 Telephone: (860) 347-8506 E-mail: inquire@zygo.com Website: www.zygo.com ZYGO CUSTOMER SUPPORT

More information

Developing intelligent agents on the Android platform

Developing intelligent agents on the Android platform Developing intelligent agents on the Android platform Jorge Agüero, Miguel Rebollo, Carlos Carrascosa, Vicente Julián Departamento de sistemas informáticos y computación Universidad Politécnica de Valencia

More information

J A D E T U TO R I A L

J A D E T U TO R I A L J A D E T U TO R I A L J A D E P R O G R A M M I N G F O R A N D R O I D USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 14 June 2012. JADE 4.2.0 Authors: Giovanni Caire (Telecom Italia S.p.A.)

More information

MPLAB Harmony System Service Libraries Help

MPLAB Harmony System Service Libraries Help MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available

More information

Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ

Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ Rodrigo Gonçalves, Rômulo Silva de Oliveira, Carlos Montez LCMI Depto. de Automação e Sistemas Univ. Fed. de

More information

Glossary of Object Oriented Terms

Glossary of Object Oriented Terms Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction

More information

An Approach for FIPA Agent Service Discovery in Mobile Ad Hoc Environments

An Approach for FIPA Agent Service Discovery in Mobile Ad Hoc Environments An Approach for FIPA Agent Service Discovery in Mobile Ad Hoc Environments Michael Pirker 1, Michael Berger 2, Michael Watzke 2 1 Profactor Produktionsforschungs GmbH, Im Stadtgut A2, 4407 Steyr, Austria

More information

Monitoring of Tritium release at PTC.

Monitoring of Tritium release at PTC. Monitoring of Tritium release at PTC. Scope of the project From more than 20 projects supported by Equipment Manufacturing Support group this is one of the simplest. What is nice about it is that elegant

More information

Real Time Programming: Concepts

Real Time Programming: Concepts Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

How to develop your own app

How to develop your own app How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that

More information

Enterprise Service Bus

Enterprise Service Bus We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications

More information

Realizing Enterprise Integration Patterns in WebSphere

Realizing Enterprise Integration Patterns in WebSphere Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik Realizing Enterprise Integration Patterns in WebSphere Thorsten Scheibler, Frank Leymann Report 2005/09 October 20, 2005

More information

JAVA API FOR XML WEB SERVICES (JAX-WS)

JAVA API FOR XML WEB SERVICES (JAX-WS) JAVA API FOR XML WEB SERVICES (JAX-WS) INTRODUCTION AND PURPOSE The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services. JAX-WS 2.0 replaced the JAX-RPC

More information

How to Write AllSeen Alliance Self- Certification Test Cases September 25, 2014

How to Write AllSeen Alliance Self- Certification Test Cases September 25, 2014 How to Write AllSeen Alliance Self- Certification Test Cases September 25, 2014 This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/

More information

Windows PowerShell Cookbook

Windows PowerShell Cookbook Windows PowerShell Cookbook Lee Holmes O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword Preface xvii xxi Part I. Tour A Guided Tour of Windows PowerShell

More information

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) 2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file

More information

StreamServe Persuasion SP4 Service Broker

StreamServe Persuasion SP4 Service Broker StreamServe Persuasion SP4 Service Broker User Guide Rev A StreamServe Persuasion SP4 Service Broker User Guide Rev A 2001-2009 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent #7,127,520 No

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A COMPREHENSIVE VIEW OF HADOOP ER. AMRINDER KAUR Assistant Professor, Department

More information

Integrated Migration Tool

Integrated Migration Tool IceWarp Unified Communications Integrated Migration Tool Version 10.4 Printed on 16 April, 2012 Contents Integrated Migration Tool 1 How It Works... 2 Performing Migration... 3 Set up the Domain in IceWarp

More information

FioranoMQ 9. High Availability Guide

FioranoMQ 9. High Availability Guide FioranoMQ 9 High Availability Guide Copyright (c) 1999-2008, Fiorano Software Technologies Pvt. Ltd., Copyright (c) 2008-2009, Fiorano Software Pty. Ltd. All rights reserved. This software is the confidential

More information

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) 2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file

More information

Building a Multi-Threaded Web Server

Building a Multi-Threaded Web Server Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous

More information

Java and IRC. What Is IRC? Nicks, Channels and Operators. Using IRC. What Is an IRC Bot? IRC Protocol

Java and IRC. What Is IRC? Nicks, Channels and Operators. Using IRC. What Is an IRC Bot? IRC Protocol What Is IRC? Java and IRC Making a Java IRC Bot With The PircBot Framework IRC stands for Internet Relay Chat Created by Jarkko Oikarinen in 1988 and still growing in popularity An IRC server allows people

More information

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2.

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2. Distributed Object Systems 12 Tuple spaces and Object spaces Tuple spaces and Object spaces Tuple spaces Shared memory as a mechanism for exchanging data in a distributed setting (i.e. separate from processes)

More information

Introduction to MAS. (Multi-Agent Systems) P. Laroque. march 2009. P. Laroque () Multi-Agent Systems march 2009 1 / 136

Introduction to MAS. (Multi-Agent Systems) P. Laroque. march 2009. P. Laroque () Multi-Agent Systems march 2009 1 / 136 Introduction to MAS (Multi-Agent Systems) P. Laroque march 2009 P. Laroque () Multi-Agent Systems march 2009 1 / 136 Outline I 1 Introduction Terminology Denition Multi-Agent Systems A Simple Agent Classication

More information

HP Operations Orchestration Software

HP Operations Orchestration Software HP Operations Orchestration Software Software Version: 9.00 Citrix XenServer Integration Guide Document Release Date: June 2010 Software Release Date: June 2010 Legal Notices Warranty The only warranties

More information

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For Projet Java Responsables: Ocan Sankur, Guillaume Scerri (LSV, ENS Cachan) Objectives - Apprendre à programmer en Java - Travailler à plusieurs sur un gros projet qui a plusieurs aspects: graphisme, interface

More information

CS11 Java. Fall 2014-2015 Lecture 7

CS11 Java. Fall 2014-2015 Lecture 7 CS11 Java Fall 2014-2015 Lecture 7 Today s Topics! All about Java Threads! Some Lab 7 tips Java Threading Recap! A program can use multiple threads to do several things at once " A thread can have local

More information

AP Computer Science Java Subset

AP Computer Science Java Subset APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

More information

PIKA HMP 3.0 High Level API Programmer's Guide

PIKA HMP 3.0 High Level API Programmer's Guide Copyright (c) 2011. All rights reserved. Table of Contents 1 Copyright Information 1 2 Contacting PIKA Technologies 2 3 Introduction 3 3.1 Purpose and Scope 4 3.2 Assumed Knowledge 4 3.3 Related Documentation

More information

SnapLogic Salesforce Snap Reference

SnapLogic Salesforce Snap Reference SnapLogic Salesforce Snap Reference Document Release: October 2012 SnapLogic, Inc. 71 East Third Avenue San Mateo, California 94401 U.S.A. www.snaplogic.com Copyright Information 2012 SnapLogic, Inc. All

More information

Linux Driver Devices. Why, When, Which, How?

Linux Driver Devices. Why, When, Which, How? Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may

More information

Office 365. Created: 06/04/2013 Revised: 08/20/2013. Outlook 365 Kindred Healthcare, Inc. All rights reserved. Logging In Page 1 of 15

Office 365. Created: 06/04/2013 Revised: 08/20/2013. Outlook 365 Kindred Healthcare, Inc. All rights reserved. Logging In Page 1 of 15 Logging into Office 365 Page 1 of 15 Table of Contents Logging in to Office 365... 3 Outlook Features... 4 Accessing Outlook... 4 Accessing Email... 5 Compose New Email... 7 Accessing Calendar... 8 Adding

More information

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description

More information

Distributed Knowledge Management based on Software Agents and Ontology

Distributed Knowledge Management based on Software Agents and Ontology Distributed Knowledge Management based on Software Agents and Ontology Michal Laclavik 1, Zoltan Balogh 1, Ladislav Hluchy 1, Renata Slota 2, Krzysztof Krawczyk 3 and Mariusz Dziewierz 3 1 Institute of

More information

Getting Started Guide

Getting Started Guide Getting Started Guide Mulberry IMAP Internet Mail Client Versions 3.0 & 3.1 Cyrusoft International, Inc. Suite 780 The Design Center 5001 Baum Blvd. Pittsburgh PA 15213 USA Tel: +1 412 605 0499 Fax: +1

More information

Crash Course in Java

Crash Course in Java Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is

More information

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware

More information

U.S. Navy Automated Software Testing

U.S. Navy Automated Software Testing U.S. Navy Automated Software Testing Application of Standards to the Automated Test and Re-Test (ATRT) Effort Object Management Group (OMG) Technical Meeting June 2007 Approved for public release; distribution

More information

# Constructors $smtp = Net::SMTP->new('mailhost'); $smtp = Net::SMTP->new('mailhost', Timeout => 60);

# Constructors $smtp = Net::SMTP->new('mailhost'); $smtp = Net::SMTP->new('mailhost', Timeout => 60); NAME Net::SMTP - Simple Mail Transfer Protocol Client SYNOPSIS DESCRIPTION EXAMPLES # Constructors $smtp = Net::SMTP->new('mailhost', Timeout => 60); This module implements a client interface to the SMTP

More information

Using J-ISIS in a Local Network

Using J-ISIS in a Local Network 23 December 2012 Author: Jean-Claude Dauphin jc.dauphin@gmail.com Status:draft Using J-ISIS in a Local Network 1. Introduction J-ISIS uses TCP/IP protocol to communicate between computers. TCP/IP like

More information

Programming Without a Call Stack: Event-driven Architectures

Programming Without a Call Stack: Event-driven Architectures Gregor Hohpe Google Programming Without a Call Stack: -driven Architectures www.eaipatterns.com Who's Gregor? Distributed systems, enterprise integration, service-oriented architectures MQ, MSMQ, JMS,

More information

Release Notes LS Retail Data Director 3.01.04 August 2011

Release Notes LS Retail Data Director 3.01.04 August 2011 Release Notes LS Retail Data Director 3.01.04 August 2011 Copyright 2010-2011, LS Retail. All rights reserved. All trademarks belong to their respective holders. Contents 1 Introduction... 1 1.1 What s

More information

ACR Triad Site Server Click Once Software System

ACR Triad Site Server Click Once Software System ACR Triad Site Server Click Once Software System Version 2.5 20 October 2008 User s Guide American College of Radiology 2007 All rights reserved. CONTENTS INTRODUCTION...3 ABOUT TRIAD...3 DEFINITIONS...4

More information

PIKA GrandPrix 1.3 Programmer's Guide

PIKA GrandPrix 1.3 Programmer's Guide PIKA GrandPrix 1.3 Programmer's Guide Copyright (c) 2007. All rights reserved. Table of Contents Copyright Information 1 Contacting PIKA Technologies 2 Introduction 3 Purpose and Scope 4 Assumed Knowledge

More information

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders 1.00 Lecture 1 Course Overview Introduction to Java Reading for next time: Big Java: 1.1-1.7 Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

More information

A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS. N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1

A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS. N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1 A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1 1 Royal Holloway, University of London 2 University of Strathclyde ABSTRACT Future mobile

More information

A Tool for Evaluation and Optimization of Web Application Performance

A Tool for Evaluation and Optimization of Web Application Performance A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application

More information

A Distributed Event Messaging System for Mobile Agent Communication

A Distributed Event Messaging System for Mobile Agent Communication A Distributed Event Messaging System for Mobile Agent Communication John McCormick, Daria Chacón, Susan McGrath, and Craig Stoneking Lockheed Martin Advanced Technology Laboratories Federal Street A&E

More information

TEMAS A Trust-Enabling Multi-Agent System for Open Environments

TEMAS A Trust-Enabling Multi-Agent System for Open Environments TEMAS A Trust-Enabling Multi-Agent System for Open Environments Gerrit Anders, Florian Siefert, Nizar Msadek, Rolf Kiefhaber, Oliver Kosak, Wolfgang Reif, Theo Ungerer Institut für Informatik Universität

More information

Facebook Twitter YouTube Google Plus Website Email

Facebook Twitter YouTube Google Plus Website Email PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2015 The third

More information

Capabilities of a Java Test Execution Framework by Erick Griffin

Capabilities of a Java Test Execution Framework by Erick Griffin Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information