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

Machine learning Lecture 2
Machine learning Lecture 2Machine learning Lecture 2
Machine learning Lecture 2Srinivasan R
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMSkoolkampus
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.Mohd Arif
 
I.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AII.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AIvikas dhakane
 
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...SlideTeam
 
Composite transformations
Composite transformationsComposite transformations
Composite transformationsMohd Arif
 
Artificial Neural Networks
Artificial Neural NetworksArtificial Neural Networks
Artificial Neural NetworksArslan Zulfiqar
 
Remote Method Invocation (RMI)
Remote Method Invocation (RMI)Remote Method Invocation (RMI)
Remote Method Invocation (RMI)Peter R. Egli
 
Naming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesNaming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesRajat Kumar
 
State space search and Problem Solving techniques
State space search and Problem Solving techniquesState space search and Problem Solving techniques
State space search and Problem Solving techniquesKirti Verma
 
L03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicL03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicManjula V
 
Heap management in Compiler Construction
Heap management in Compiler ConstructionHeap management in Compiler Construction
Heap management in Compiler ConstructionMuhammad Haroon
 
Transport services
Transport servicesTransport services
Transport servicesNavin Kumar
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Election algorithms
Election algorithmsElection algorithms
Election algorithmsAnkush Kumar
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 

Mais procurados (20)

Machine learning Lecture 2
Machine learning Lecture 2Machine learning Lecture 2
Machine learning Lecture 2
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.
 
I.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AII.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AI
 
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...
 
Composite transformations
Composite transformationsComposite transformations
Composite transformations
 
Artificial Neural Networks
Artificial Neural NetworksArtificial Neural Networks
Artificial Neural Networks
 
5 csp
5 csp5 csp
5 csp
 
Remote Method Invocation (RMI)
Remote Method Invocation (RMI)Remote Method Invocation (RMI)
Remote Method Invocation (RMI)
 
RMI
RMIRMI
RMI
 
Naming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile EntitiesNaming Entities and Locating Mobile Entities
Naming Entities and Locating Mobile Entities
 
State space search and Problem Solving techniques
State space search and Problem Solving techniquesState space search and Problem Solving techniques
State space search and Problem Solving techniques
 
L03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicL03 ai - knowledge representation using logic
L03 ai - knowledge representation using logic
 
Sum of subset problem.pptx
Sum of subset problem.pptxSum of subset problem.pptx
Sum of subset problem.pptx
 
Heap management in Compiler Construction
Heap management in Compiler ConstructionHeap management in Compiler Construction
Heap management in Compiler Construction
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Transport services
Transport servicesTransport services
Transport services
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Election algorithms
Election algorithmsElection algorithms
Election algorithms
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 

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

Akka lsug skills matter
Akka lsug skills matterAkka lsug skills matter
Akka lsug skills matterSkills Matter
 
Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with AkkaMaciej Matyjas
 
Overview of Akka
Overview of AkkaOverview of Akka
Overview of AkkaBen James
 
Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)Virtualizing Java in Java (jug.ru)
Virtualizing Java in Java (jug.ru)aragozin
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stalMichael Stal
 
The Actor Model - Towards Better Concurrency
The Actor Model - Towards Better ConcurrencyThe Actor Model - Towards Better Concurrency
The Actor Model - Towards Better ConcurrencyDror Bereznitsky
 
Akka Microservices Architecture And Design
Akka Microservices Architecture And DesignAkka Microservices Architecture And Design
Akka Microservices Architecture And DesignYaroslav Tkachenko
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Domkaven yan
 
Using OTP and gen_server Effectively
Using OTP and gen_server EffectivelyUsing OTP and gen_server Effectively
Using OTP and gen_server EffectivelyKen Pratt
 
Qt Framework Events Signals Threads
Qt Framework Events Signals ThreadsQt Framework Events Signals Threads
Qt Framework Events Signals ThreadsNeera Mital
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an IntroductionRoberto Casadei
 
Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)lutter
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operationsgrim_radical
 
GR8Conf 2011: GPars
GR8Conf 2011: GParsGR8Conf 2011: GPars
GR8Conf 2011: GParsGR8Conf
 
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 RobotsCorrado Santoro
 

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
ExcecoesEMSNEWS
 
Webpages2
Webpages2Webpages2
Webpages2EMSNEWS
 
Html completo
Html completoHtml completo
Html completoEMSNEWS
 
Webpages
WebpagesWebpages
WebpagesEMSNEWS
 
Java script
Java scriptJava script
Java scriptEMSNEWS
 
Fontes chaveadas
Fontes chaveadasFontes chaveadas
Fontes chaveadasEMSNEWS
 
Cabeamentos e conectores
Cabeamentos e conectores Cabeamentos e conectores
Cabeamentos e conectores EMSNEWS
 
Cabeamento de redes
Cabeamento de redesCabeamento de redes
Cabeamento de redesEMSNEWS
 
Aterramento
AterramentoAterramento
AterramentoEMSNEWS
 
Aspectos transistores
Aspectos transistoresAspectos transistores
Aspectos transistoresEMSNEWS
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentiumEMSNEWS
 

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

Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 

Último (20)

Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 

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?