SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Aglets
Programming Mobile Agents
         in Java

   A Technology Project
                    Pat O'Connor

             http://www.ibm.com/java
       IBM United Kingdom Laboratories
  Aglets is a trademark of the IBM Corporation
Outline

Motivation

What are Aglets?

Technical Overview of the Aglets API

Potential Applications
Motivation
Making Agent Technology Real
Open and Pervasive
Freely available, Java, Standards
Real application
Ability to access external resources - DB, GUI, etc.
Internet
Internet enabled agents
User Interface
Friendly, Compelling Interface
What are Aglets?
Single uniform paradigm for distributed computing
 Asynchronous and Synchronous
 Object-passing and Message-passing
 Mobile objects and Stationary objects
 Active objects and Passive objects



  Disconnected              Asynchronous      Parallel
  operation                 execution         Execution

                       Dynamic Routing
What are Aglets?                             (cont'd)
Runtime/Development kit for Java based mobile agents
 Aglets Application Programming Interface (AAPI)

Autonomous execution
 Decides what to do, where to go, and when to do/go

Platform-independence
 Totally written in Java
 Create once, go everywhere!
Technical Overview of Aglets

AAPI and Aglets Runtime Framework

Agent Transfer Protocol Overview

Aglets Object Model

Patterns
Aglet API (AAPI)
Aglet
  Aglet
  AgletIdentifier
  Itinerary                        Message

AgletProxy          Aglet Aglet              Aglet Aglet
                          Proxy              Proxy

AgletContext

Message                           AgletContext
  Message
  FutureReply
  MessageManager
Aglets Runtime Framework
                      Aglets                      ATP
               Aglets Viewer (Tahiti)




                                                              Network
      Aglet                                    ATPRequester
                 Aglet
  Aglet                         AgletContext
              Aglet                            ATPDaemon

              Aglets-SecurityManager


                      Java VM + OS / Java OS
Agent Transfer Protocol

Simple Request-Response type Protocol for agents


         Dispatch (Agent)
                                            Aglets
         Retract (Identifier)            AgentSystem

 ATP Fetch (Resource)            ATP
Daemon                          Daemon       Other
       Message (Object)                       Other
                                         AgentSystems
                                                Other
                                          AgentSystems
                                            AgentSystems
         Respond (Object)
Life Cycle Events of an Aglet
   The aglet may be:
    Created / Cloned in a context
    Dispatched to / Retracted from a destination context
    Deactivated into / Activated from storage
    Disposed

Cloned                 Dispatched                 Disposed
            Aglet                      Aglet

                        Retract
   Created
                           Deactivated Activated
         Aglet Class
                                    2nd Storage
Aglet Object Model
   Aglets doesn't migrate a process

   Callback (Event Driven) approach
     onCreation, onArrival, etc...
The event      about to take place    After the event has taken place
Creation                              onCreation()
Clone          onCloning()            onClone()
Dispatch       onDispatching()        onArrival()
Retract        onReverting()          onArrival()
Dispose        onDisposing()
Deactivate     onDeactivating()
Activate                              onActivation()
Message                               handleMessage()
Dispatch
aglet.dispatch(url);     run()

       onDispatching()

                                 onArrival()

                                        run()
import aglet.*;
public class MyAglet extends Aglet {
  URL origin;
  public void onCreation(Object init) {
     origin = getAgletContext().getHostingURL();
  }
  public void onDispatching(URL urlb) {
     setText("ByeBye..");
  }
  public void onArrival(URL url) {
     if (url.equals(origin)) {
         setText("I'm back!");
     } else {
         doJob();
         dispatch(origin);
     }
  }
}
Aglet Object Model (cont'd)
An aglet can be persistent
  Deactivation/Activation                        Message
Communication by message passing
  Future type message passing
                                        Aglets
  Subscribe/Multicast in a context

An aglet can have multiple activities
  Multiple threads in an aglet
Patterns
   Common usage patterns for agents
         Master-Slave pattern
         Messenger pattern
         Meeting pattern
                                      Slave
         and more...                  Aglet
                                                Slave
Master                                          Aglet
Aglet
                                Messenger
                                  Aglet       Roaming
                                               Aglet
Messaging in Aglets
AgletProxy proxy = ....;
                                    boolean
Message m = new                     handleMessage(Message m) {
Message("hello");
                                      if ("hello".equals(m.kind)) {
FutureReply future =
                                           m.sendReply("");
proxy.sendMessage(m);
                                           return true;
.....
                                      }
Object reply = future.getReply();
                                      return false;
                                    }
Potential Applications....

Network system management

Database access

Auction

Shopping mall
Contact Information

Latest news, updates, tutorials, etc.:
http://www.ibm.co.jp/aglets

Public mailing list (discussions, questions, etc.):
aglets@javalounge.com

Contacting the Aglets team, Bug reports:
aglets@yamato.ibm.co.jp


             Any Questions?

Mais conteúdo relacionado

Mais procurados

Internet of Things: A Hands-On Approach
Internet of Things: A Hands-On ApproachInternet of Things: A Hands-On Approach
Internet of Things: A Hands-On Approach
Arshdeep Bahga
 
Iot Security, Internet of Things
Iot Security, Internet of ThingsIot Security, Internet of Things
Iot Security, Internet of Things
Bryan Len
 

Mais procurados (20)

Internet Of Things (IoT)
Internet Of Things (IoT) Internet Of Things (IoT)
Internet Of Things (IoT)
 
Iot(security)
Iot(security)Iot(security)
Iot(security)
 
IoT Protocol Stack.pdf
IoT Protocol Stack.pdfIoT Protocol Stack.pdf
IoT Protocol Stack.pdf
 
domain specific iot system
domain specific iot systemdomain specific iot system
domain specific iot system
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Python for cloud computing
Python for cloud computingPython for cloud computing
Python for cloud computing
 
Architecture and scope of Internet of things (IoT)
Architecture and scope of  Internet of things (IoT)Architecture and scope of  Internet of things (IoT)
Architecture and scope of Internet of things (IoT)
 
MQTT
MQTTMQTT
MQTT
 
OSMC 2023 | Newest developments in Checkmk Raw – the open-source monitoring s...
OSMC 2023 | Newest developments in Checkmk Raw – the open-source monitoring s...OSMC 2023 | Newest developments in Checkmk Raw – the open-source monitoring s...
OSMC 2023 | Newest developments in Checkmk Raw – the open-source monitoring s...
 
MQTT IOT Protocol Introduction
MQTT IOT Protocol IntroductionMQTT IOT Protocol Introduction
MQTT IOT Protocol Introduction
 
Admission control
Admission controlAdmission control
Admission control
 
Internet of Things: A Hands-On Approach
Internet of Things: A Hands-On ApproachInternet of Things: A Hands-On Approach
Internet of Things: A Hands-On Approach
 
Ch 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdfCh 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdf
 
Message queuing telemetry transport (mqtt) message format
Message queuing telemetry transport (mqtt) message formatMessage queuing telemetry transport (mqtt) message format
Message queuing telemetry transport (mqtt) message format
 
Introduction to MQ Telemetry Transport (MQTT)
Introduction to MQ Telemetry Transport (MQTT)Introduction to MQ Telemetry Transport (MQTT)
Introduction to MQ Telemetry Transport (MQTT)
 
Sliding window protocol(ARQ technique)
Sliding window protocol(ARQ technique)Sliding window protocol(ARQ technique)
Sliding window protocol(ARQ technique)
 
Iot Security, Internet of Things
Iot Security, Internet of ThingsIot Security, Internet of Things
Iot Security, Internet of Things
 
Applications of WSN
Applications of WSNApplications of WSN
Applications of WSN
 
IoT with Python
IoT with PythonIoT with Python
IoT with Python
 
Ieee 802.11 wireless lan
Ieee 802.11 wireless lanIeee 802.11 wireless lan
Ieee 802.11 wireless lan
 

Destaque (10)

Aglets
AgletsAglets
Aglets
 
Anewvee Toddler Printed Outerwear
Anewvee Toddler Printed OuterwearAnewvee Toddler Printed Outerwear
Anewvee Toddler Printed Outerwear
 
Tying your shoes
Tying your shoesTying your shoes
Tying your shoes
 
Sewing problems
Sewing problemsSewing problems
Sewing problems
 
Seam Engineering v1F
Seam Engineering v1FSeam Engineering v1F
Seam Engineering v1F
 
principle of lock stitch formation
  principle of lock stitch formation  principle of lock stitch formation
principle of lock stitch formation
 
Principle of lock stitch formation
Principle of lock stitch formationPrinciple of lock stitch formation
Principle of lock stitch formation
 
Chain stitch formation
Chain stitch formationChain stitch formation
Chain stitch formation
 
Stitch
StitchStitch
Stitch
 
Sewing Machines Stitch Fundamentals
Sewing Machines Stitch FundamentalsSewing Machines Stitch Fundamentals
Sewing Machines Stitch Fundamentals
 

Semelhante a Aglets

Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with Akka
Maciej Matyjas
 
Overview of Akka
Overview of AkkaOverview of Akka
Overview of Akka
Ben James
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
grim_radical
 
GR8Conf 2011: GPars
GR8Conf 2011: GParsGR8Conf 2011: GPars
GR8Conf 2011: GPars
GR8Conf
 

Semelhante a Aglets (20)

Akka lsug skills matter
Akka lsug skills matterAkka lsug skills matter
Akka lsug skills matter
 
Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with Akka
 
Overview of Akka
Overview of AkkaOverview of Akka
Overview of Akka
 
Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
 
.NET Vs J2EE
.NET Vs J2EE.NET Vs J2EE
.NET Vs J2EE
 
The Actor Model - Towards Better Concurrency
The Actor Model - Towards Better ConcurrencyThe Actor Model - Towards Better Concurrency
The Actor Model - Towards Better Concurrency
 
G pars
G parsG pars
G pars
 
Akka Microservices Architecture And Design
Akka Microservices Architecture And DesignAkka Microservices Architecture And Design
Akka Microservices Architecture And Design
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
 
Using OTP and gen_server Effectively
Using OTP and gen_server EffectivelyUsing OTP and gen_server Effectively
Using OTP and gen_server Effectively
 
Qt Framework Events Signals Threads
Qt Framework Events Signals ThreadsQt Framework Events Signals Threads
Qt Framework Events Signals Threads
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an Introduction
 
JavaScript Basics
JavaScript BasicsJavaScript Basics
JavaScript Basics
 
Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
 
GR8Conf 2011: GPars
GR8Conf 2011: GParsGR8Conf 2011: GPars
GR8Conf 2011: GPars
 
GWT Extreme!
GWT Extreme!GWT Extreme!
GWT Extreme!
 
Integrating Cloud Services in Behaviour Programming for Autonomous Robots
Integrating Cloud Services in Behaviour  Programming for Autonomous RobotsIntegrating Cloud Services in Behaviour  Programming for Autonomous Robots
Integrating Cloud Services in Behaviour Programming for Autonomous Robots
 

Mais de EMSNEWS

Excecoes
ExcecoesExcecoes
Excecoes
EMSNEWS
 
Webpages2
Webpages2Webpages2
Webpages2
EMSNEWS
 
Html completo
Html completoHtml completo
Html completo
EMSNEWS
 
Webpages
WebpagesWebpages
Webpages
EMSNEWS
 
Java script
Java scriptJava script
Java script
EMSNEWS
 
Fontes chaveadas
Fontes chaveadasFontes chaveadas
Fontes chaveadas
EMSNEWS
 
Cabeamentos e conectores
Cabeamentos e conectores Cabeamentos e conectores
Cabeamentos e conectores
EMSNEWS
 
Cabeamento de redes
Cabeamento de redesCabeamento de redes
Cabeamento de redes
EMSNEWS
 
Aterramento
AterramentoAterramento
Aterramento
EMSNEWS
 
Aspectos transistores
Aspectos transistoresAspectos transistores
Aspectos transistores
EMSNEWS
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
EMSNEWS
 

Mais de EMSNEWS (20)

As 400
As 400As 400
As 400
 
Excecoes
ExcecoesExcecoes
Excecoes
 
Applets
AppletsApplets
Applets
 
Webpages2
Webpages2Webpages2
Webpages2
 
Atag10
Atag10Atag10
Atag10
 
Html
HtmlHtml
Html
 
Guia5
Guia5Guia5
Guia5
 
Assign
AssignAssign
Assign
 
Guia4
Guia4Guia4
Guia4
 
Html
HtmlHtml
Html
 
Html completo
Html completoHtml completo
Html completo
 
Webpages
WebpagesWebpages
Webpages
 
Java script
Java scriptJava script
Java script
 
Fontes chaveadas
Fontes chaveadasFontes chaveadas
Fontes chaveadas
 
Cabeamentos e conectores
Cabeamentos e conectores Cabeamentos e conectores
Cabeamentos e conectores
 
Cabeamento de redes
Cabeamento de redesCabeamento de redes
Cabeamento de redes
 
Básico
BásicoBásico
Básico
 
Aterramento
AterramentoAterramento
Aterramento
 
Aspectos transistores
Aspectos transistoresAspectos transistores
Aspectos transistores
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

Aglets

  • 1. Aglets Programming Mobile Agents in Java A Technology Project Pat O'Connor http://www.ibm.com/java IBM United Kingdom Laboratories Aglets is a trademark of the IBM Corporation
  • 2. Outline Motivation What are Aglets? Technical Overview of the Aglets API Potential Applications
  • 3. Motivation Making Agent Technology Real Open and Pervasive Freely available, Java, Standards Real application Ability to access external resources - DB, GUI, etc. Internet Internet enabled agents User Interface Friendly, Compelling Interface
  • 4. What are Aglets? Single uniform paradigm for distributed computing Asynchronous and Synchronous Object-passing and Message-passing Mobile objects and Stationary objects Active objects and Passive objects Disconnected Asynchronous Parallel operation execution Execution Dynamic Routing
  • 5. What are Aglets? (cont'd) Runtime/Development kit for Java based mobile agents Aglets Application Programming Interface (AAPI) Autonomous execution Decides what to do, where to go, and when to do/go Platform-independence Totally written in Java Create once, go everywhere!
  • 6. Technical Overview of Aglets AAPI and Aglets Runtime Framework Agent Transfer Protocol Overview Aglets Object Model Patterns
  • 7. Aglet API (AAPI) Aglet Aglet AgletIdentifier Itinerary Message AgletProxy Aglet Aglet Aglet Aglet Proxy Proxy AgletContext Message AgletContext Message FutureReply MessageManager
  • 8. Aglets Runtime Framework Aglets ATP Aglets Viewer (Tahiti) Network Aglet ATPRequester Aglet Aglet AgletContext Aglet ATPDaemon Aglets-SecurityManager Java VM + OS / Java OS
  • 9. Agent Transfer Protocol Simple Request-Response type Protocol for agents Dispatch (Agent) Aglets Retract (Identifier) AgentSystem ATP Fetch (Resource) ATP Daemon Daemon Other Message (Object) Other AgentSystems Other AgentSystems AgentSystems Respond (Object)
  • 10. Life Cycle Events of an Aglet The aglet may be: Created / Cloned in a context Dispatched to / Retracted from a destination context Deactivated into / Activated from storage Disposed Cloned Dispatched Disposed Aglet Aglet Retract Created Deactivated Activated Aglet Class 2nd Storage
  • 11. Aglet Object Model Aglets doesn't migrate a process Callback (Event Driven) approach onCreation, onArrival, etc... The event about to take place After the event has taken place Creation onCreation() Clone onCloning() onClone() Dispatch onDispatching() onArrival() Retract onReverting() onArrival() Dispose onDisposing() Deactivate onDeactivating() Activate onActivation() Message handleMessage()
  • 12. Dispatch aglet.dispatch(url); run() onDispatching() onArrival() run()
  • 13. import aglet.*; public class MyAglet extends Aglet { URL origin; public void onCreation(Object init) { origin = getAgletContext().getHostingURL(); } public void onDispatching(URL urlb) { setText("ByeBye.."); } public void onArrival(URL url) { if (url.equals(origin)) { setText("I'm back!"); } else { doJob(); dispatch(origin); } } }
  • 14. Aglet Object Model (cont'd) An aglet can be persistent Deactivation/Activation Message Communication by message passing Future type message passing Aglets Subscribe/Multicast in a context An aglet can have multiple activities Multiple threads in an aglet
  • 15. Patterns Common usage patterns for agents Master-Slave pattern Messenger pattern Meeting pattern Slave and more... Aglet Slave Master Aglet Aglet Messenger Aglet Roaming Aglet
  • 16. Messaging in Aglets AgletProxy proxy = ....; boolean Message m = new handleMessage(Message m) { Message("hello"); if ("hello".equals(m.kind)) { FutureReply future = m.sendReply(""); proxy.sendMessage(m); return true; ..... } Object reply = future.getReply(); return false; }
  • 17. Potential Applications.... Network system management Database access Auction Shopping mall
  • 18. Contact Information Latest news, updates, tutorials, etc.: http://www.ibm.co.jp/aglets Public mailing list (discussions, questions, etc.): aglets@javalounge.com Contacting the Aglets team, Bug reports: aglets@yamato.ibm.co.jp Any Questions?