SlideShare a Scribd company logo
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?

More Related Content

What's hot

Cloud computing system models for distributed and cloud computing
Cloud computing system models for distributed and cloud computingCloud computing system models for distributed and cloud computing
Cloud computing system models for distributed and cloud computing
hrmalik20
 
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROUBASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
anjunarayanan
 
OS UNIT – 2 - Process Management
OS UNIT – 2 - Process ManagementOS UNIT – 2 - Process Management
OS UNIT – 2 - Process Management
Gyanmanjari Institute Of Technology
 
Chapter 3 Image Processing: Basic Transformation
Chapter 3 Image Processing:  Basic TransformationChapter 3 Image Processing:  Basic Transformation
Chapter 3 Image Processing: Basic Transformation
Varun Ojha
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
Electronic Arts / DICE
 
CNS - Unit - 10 - Web Security Threats and Approaches
CNS - Unit - 10 - Web Security Threats and ApproachesCNS - Unit - 10 - Web Security Threats and Approaches
CNS - Unit - 10 - Web Security Threats and Approaches
Gyanmanjari Institute Of Technology
 
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptxEX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
vishal choudhary
 
Histogram Specification or Matching Problem
Histogram Specification or Matching ProblemHistogram Specification or Matching Problem
Histogram Specification or Matching Problem
Kalyan Acharjya
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023
RohanMistry15
 
Digital Image Processing - Image Restoration
Digital Image Processing - Image RestorationDigital Image Processing - Image Restoration
Digital Image Processing - Image Restoration
Mathankumar S
 
4.3 techniques for turing machines construction
4.3 techniques for turing machines construction4.3 techniques for turing machines construction
4.3 techniques for turing machines construction
Sampath Kumar S
 
Polygon mesh
Polygon  meshPolygon  mesh
Polygon mesh
Farah M. Altufaili
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Chapter 13 - I/O Systems
Chapter 13 - I/O SystemsChapter 13 - I/O Systems
Chapter 13 - I/O Systems
Wayne Jones Jnr
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Guerrilla
 
Unity Roadmap 2020: Core Engine & Creator Tools
Unity Roadmap 2020: Core Engine & Creator ToolsUnity Roadmap 2020: Core Engine & Creator Tools
Unity Roadmap 2020: Core Engine & Creator Tools
Unity Technologies
 
Notes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphicsNotes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphics
NANDINI SHARMA
 

What's hot (20)

Cloud computing system models for distributed and cloud computing
Cloud computing system models for distributed and cloud computingCloud computing system models for distributed and cloud computing
Cloud computing system models for distributed and cloud computing
 
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROUBASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
BASICS OF DIGITAL IMAGE PROCESSING,MARIA PETROU
 
OS UNIT – 2 - Process Management
OS UNIT – 2 - Process ManagementOS UNIT – 2 - Process Management
OS UNIT – 2 - Process Management
 
Chapter 3 Image Processing: Basic Transformation
Chapter 3 Image Processing:  Basic TransformationChapter 3 Image Processing:  Basic Transformation
Chapter 3 Image Processing: Basic Transformation
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
CNS - Unit - 10 - Web Security Threats and Approaches
CNS - Unit - 10 - Web Security Threats and ApproachesCNS - Unit - 10 - Web Security Threats and Approaches
CNS - Unit - 10 - Web Security Threats and Approaches
 
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptxEX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
EX-6-Implement Matrix Multiplication with Hadoop Map Reduce.pptx
 
Histogram Specification or Matching Problem
Histogram Specification or Matching ProblemHistogram Specification or Matching Problem
Histogram Specification or Matching Problem
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Mathematical tools in dip
Mathematical tools in dipMathematical tools in dip
Mathematical tools in dip
 
software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023
 
Digital Image Processing - Image Restoration
Digital Image Processing - Image RestorationDigital Image Processing - Image Restoration
Digital Image Processing - Image Restoration
 
4.3 techniques for turing machines construction
4.3 techniques for turing machines construction4.3 techniques for turing machines construction
4.3 techniques for turing machines construction
 
Polygon mesh
Polygon  meshPolygon  mesh
Polygon mesh
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Chapter 13 - I/O Systems
Chapter 13 - I/O SystemsChapter 13 - I/O Systems
Chapter 13 - I/O Systems
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
Unity Roadmap 2020: Core Engine & Creator Tools
Unity Roadmap 2020: Core Engine & Creator ToolsUnity Roadmap 2020: Core Engine & Creator Tools
Unity Roadmap 2020: Core Engine & Creator Tools
 
Unix ch03-03(2)
Unix ch03-03(2)Unix ch03-03(2)
Unix ch03-03(2)
 
Notes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphicsNotes 2D-Transformation Unit 2 Computer graphics
Notes 2D-Transformation Unit 2 Computer graphics
 

Viewers also liked

Anewvee Toddler Printed Outerwear
Anewvee Toddler Printed OuterwearAnewvee Toddler Printed Outerwear
Anewvee Toddler Printed OuterwearEric Lee Musse
 
Tying your shoes
Tying your shoesTying your shoes
Tying your shoes
amsc1987
 
Sewing problems
Sewing problemsSewing problems
Sewing problems
Habibur Rahman
 
principle of lock stitch formation
  principle of lock stitch formation  principle of lock stitch formation
principle of lock stitch formation
mjrtipu
 
Principle of lock stitch formation
Principle of lock stitch formationPrinciple of lock stitch formation
Principle of lock stitch formation
জয় সরকার
 
Sewing Machines Stitch Fundamentals
Sewing Machines Stitch FundamentalsSewing Machines Stitch Fundamentals
Sewing Machines Stitch FundamentalsKAMRAN AHMAD KHAN
 

Viewers also liked (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
 

Similar to Aglets

Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with AkkaMaciej Matyjas
 
Akka lsug skills matter
Akka lsug skills matterAkka lsug skills matter
Akka lsug skills matter
Skills Matter
 
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_stal
Michael Stal
 
.NET Vs J2EE
.NET Vs J2EE.NET Vs J2EE
.NET Vs J2EE
ravikirantummala2000
 
The Actor Model - Towards Better Concurrency
The Actor Model - Towards Better ConcurrencyThe Actor Model - Towards Better Concurrency
The Actor Model - Towards Better Concurrency
Dror Bereznitsky
 
G pars
G parsG pars
Akka Microservices Architecture And Design
Akka Microservices Architecture And DesignAkka Microservices Architecture And Design
Akka Microservices Architecture And Design
Yaroslav Tkachenko
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
kaven yan
 
Using OTP and gen_server Effectively
Using OTP and gen_server EffectivelyUsing OTP and gen_server Effectively
Using OTP and gen_server Effectively
Ken Pratt
 
Qt Framework Events Signals Threads
Qt Framework Events Signals ThreadsQt Framework Events Signals Threads
Qt Framework Events Signals Threads
Neera Mital
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an Introduction
Roberto Casadei
 
JavaScript Basics
JavaScript BasicsJavaScript Basics
JavaScript Basics
Mats Bryntse
 
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 Javascript
Amit 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
 
GWT Extreme!
GWT Extreme!GWT Extreme!
GWT Extreme!
cromwellian
 
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
Corrado Santoro
 

Similar to Aglets (20)

Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with Akka
 
Akka lsug skills matter
Akka lsug skills matterAkka lsug skills matter
Akka lsug skills matter
 
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
 

More from 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
 

More from 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
 

Recently uploaded

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 

Recently uploaded (20)

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 

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?