SlideShare a Scribd company logo
1 of 18
Download to read 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?

More Related Content

What's hot

Software Defined Networking - Huawei, June 2017
Software Defined Networking - Huawei, June 2017Software Defined Networking - Huawei, June 2017
Software Defined Networking - Huawei, June 2017Novosco
 
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...Mark Goldstein
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...Majid Hajibaba
 
Integrating Public & Private Clouds
Integrating Public & Private CloudsIntegrating Public & Private Clouds
Integrating Public & Private CloudsProact Belgium
 
SK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionSK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionMemory Fabric Forum
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookAmr Awadallah
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...RealTime-at-Work (RTaW)
 
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...Majid Hajibaba
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
CS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling TechnologiesCS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling Technologieskarthikajegadeesan
 
Real-Time Stock Market Analysis using Spark Streaming
 Real-Time Stock Market Analysis using Spark Streaming Real-Time Stock Market Analysis using Spark Streaming
Real-Time Stock Market Analysis using Spark StreamingSigmoid
 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computinggaurav jain
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualizationxKinAnx
 

What's hot (20)

Software Defined Networking - Huawei, June 2017
Software Defined Networking - Huawei, June 2017Software Defined Networking - Huawei, June 2017
Software Defined Networking - Huawei, June 2017
 
MetaCDN
MetaCDNMetaCDN
MetaCDN
 
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
IEEE Computer Society Phoenix Chapter - Internet of Things Innovations & Mega...
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...
Cloud Computing Principles and Paradigms: 11 t-systems cloud-based solutions ...
 
Integrating Public & Private Clouds
Integrating Public & Private CloudsIntegrating Public & Private Clouds
Integrating Public & Private Clouds
 
SK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionSK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory Solution
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
 
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...
Cloud Computing Principles and Paradigms: 6 on the management of virtual mach...
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
Hadoop YARN overview
Hadoop YARN overviewHadoop YARN overview
Hadoop YARN overview
 
CS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling TechnologiesCS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling Technologies
 
Xen & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualization
 
Google App Engine ppt
Google App Engine  pptGoogle App Engine  ppt
Google App Engine ppt
 
Cloud Computing Using OpenStack
Cloud Computing Using OpenStack Cloud Computing Using OpenStack
Cloud Computing Using OpenStack
 
Real-Time Stock Market Analysis using Spark Streaming
 Real-Time Stock Market Analysis using Spark Streaming Real-Time Stock Market Analysis using Spark Streaming
Real-Time Stock Market Analysis using Spark Streaming
 
netconf and yang
netconf and yangnetconf and yang
netconf and yang
 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computing
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
 

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

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
 

Similar to 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
 

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

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 

Recently uploaded (20)

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 

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?