Tutorial 4 Using JADE from External Java Applications Fuhua Lin, PhD, Professor, School of Computing and Information Systems Athabasca University, Alberta,

Slides:



Advertisements
Similar presentations
1 Dynamic Proxies Explained Simply. 2 Dynamic Proxies License Copyright © 2008 Ciaran McHale. Permission is hereby granted, free of charge, to any person.
Advertisements

Three types of remote process invocation
The SMART Way to Migrate Replicated Stateful Services Jacob R. Lorch, Atul Adya, Bill Bolosky, Ronnie Chaiken, John Douceur, Jon Howell Microsoft Research.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Advanced Programming Rabie A. Ramadan Lecture 4. A Simple Use of Java Remote Method Invocation (RMI) 2.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Nov R McFadyen1 Design Patterns (GoF) contains the creational patterns: Abstract factory Builder Factory method (section 23.3 has a Simple.
Windows Communication Foundation and Web Services.
Basic Socket Programming with Java. What is a socket?  Generally refers to a stream connecting processes running in different address spaces (across.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
University of Jyväskylä An Observation Framework for Multi-Agent Systems Joonas Kesäniemi, Artem Katasonov * and Vagan Terziyan University of Jyväskylä,
June 1998 CHAIMS1 Challenge 1: Composition of Processes... versus composition and integration of Data »data-warehouses »wrapping data available on web.
Copyright W. Howden1 Lecture 14: Callbacks, Singletons and Wrappers.
Apache Axis: A Set of Java Tools for SOAP Web Services.
Communication in Distributed Systems –Part 2
.NET Mobile Application Development Remote Procedure Call.
Protection of Agent Teamwork By Jeremy Hall. Agent Teamwork Overview ● Mobile agent framework  AgentTeamwork 2 is a mobile-agent based middleware system.
7/16/2015Singleton creational design pattern1 Eivind J. Nordby Karlstad University Dept. of Computer Science.
JADE: installation and “Hello World” application Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE)
An Introduction to Rational Rose Real-Time
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
Java Agent Development Environment (JADE) Jade is a platform for running agents; it supports: –An asynchronous agent programming model –Communication between.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Java Methods By J. W. Rider. Java Methods Modularity Declaring methods –Header, signature, prototype Static Void Local variables –this Return Reentrancy.
Computer Science 209 The Strategy Pattern II: Emulating Higher-Order Functions.
Agents Computer Programs of a certain type Effectively bodiless robots –Rise of internet enables Agents Lostness –As life becomes more complex, we cannot.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
The Reflection Lucielle Mendez Antonio Bologna.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
1 Java RMI G53ACC Chris Greenhalgh. 2 Contents l Java RMI overview l A Java RMI example –Overview –Walk-through l Implementation notes –Argument passing.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Intelligent Architectures for Electronic Commerce Prolog/JADE Tutorial.
Tutorial 1 Running JADE Under Eclipse Dr. Fuhua Lin School of Computing and Information Systems Athabasca University, Alberta, Canada Oct. 27, 2009.
CSE 341, S. Tanimoto Java brief review - 1 Java Brief Review Java’s strengths Object-oriented terminology Inheritance Interfaces An example with inheritance.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 17/10/2007.
1 Conventional Procedure Call read(fd,buf,nbytes) a)Parameter passing in a local procedure call: the stack before the call to read b)The stack while the.
Tutorial 2 Agent Actions Specification --- Behavior Dr. Fuhua Lin School of Computing and Information Systems Athabasca University, Alberta, Canada Oct.
Java Web Services CSCI 4300 Diagrams from the Sun Java Web Services Tutorial,
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
JADE: installation and “Hello World” application
Tutorial 5 Object to Agent Communication Fuhua Lin, PhD, Professor, School of Computing and Information Systems Athabasca University, Alberta, Canada Nov.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Remote Method Invocation A Client Server Approach.
The Memento Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
EEL 5937 The Bond Agent System (1) EEL 5937 Multi Agent Systems Lecture 8, Jan 30, 2003 Lotzi Bölöni.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Distributed programming in Java Faculty:Nguyen Ngoc Tu Session 5 - RMI.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
SOAP, Web Service, WSDL Week 14 Web site:
ISBN Chapter 12 Support for Object-Oriented Programming.
OOP Tirgul 10. What We’ll Be Seeing Today  Generics – A Reminder  Type Safety  Bounded Type Parameters  Generic Methods  Generics and Inner Classes.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
January 26, Ann Wollrath Copyright 1999 Sun Microsystems, Inc., all rights reserved. Java ™ RMI Overview Ann Wollrath Senior Staff Engineer Sun Microsystems,
cs612/2002sp/projects/ CS612 Term Projects cs612/2002sp/projects/
Windows Communication Foundation and Web Services
Principles of Software Development
Chapter 5 Remote Procedure Call
Windows Communication Foundation and Web Services
Using local variable without initialization is an error.
Tutorial 6 Directory Facilitator
Tutorial 3 ACL: Agent Communication Language
WebServices Using JAX-RPC
The SMART Way to Migrate Replicated Stateful Services
Java Remote Method Invocation
Java phoneME CDC AMS July, 15, 2008 by Wooram Noh.
Presentation transcript:

Tutorial 4 Using JADE from External Java Applications Fuhua Lin, PhD, Professor, School of Computing and Information Systems Athabasca University, Alberta, Canada Nov. 7, 2009

In-Process Since JADE 2.3, an in-process interface has been implemented in JADE that allows external Java applications to use JADE as a kind of library and to launch the JADE Runtime from within the application itself. A singleton instance of the JADE Runtime can be obtained via the static method jade.core.Runtime.instance(), it provides two methods to create a JADE main-container or a JADE remote container (i.e. a container that joins to an existing main- container forming in this way a distributed agent platform); both methods requires passing as a parameter a jade.core.Profile object that keeps the configuration options (e.g. the hostname and port number of the main container) required to start the JADE runtime.

Both these two methods of the Runtime return a wrapper object, belonging to the package jade.wrapper, that wraps the higher-level functionality of the agent containers, such as installing and uninstalling MTPs (Message Transport Protocol)8, killing the container (where just the container is killed while the external application remains alive) and, of course, creating new agents. The createNewAgent method of this container wrapper returns as well a wrapper object, which wraps some functionalities of the agent, but still tends to preserve the autonomy of agents. In particular, the application can control the life-cycle of the Agent but it cannot obtain a direct reference to the Agent object and, as a direct consequence, it cannot perform method calls on that object. Notice that, having created the agent, it still needs to be started via the method start()

A simple way to launch an agent from within an external applications Step 1 Step 2 Step 3 Step 4 Step 5 Step 6