AgletsProgramming Mobile Agents         in Java   A Technology Project                    Pat OConnor             http://w...
OutlineMotivationWhat are Aglets?Technical Overview of the Aglets APIPotential Applications
MotivationMaking Agent Technology RealOpen and PervasiveFreely available, Java, StandardsReal applicationAbility to access...
What are Aglets?Single uniform paradigm for distributed computing Asynchronous and Synchronous Object-passing and Message-...
What are Aglets?                             (contd)Runtime/Development kit for Java based mobile agents Aglets Applicatio...
Technical Overview of AgletsAAPI and Aglets Runtime FrameworkAgent Transfer Protocol OverviewAglets Object ModelPatterns
Aglet API (AAPI)Aglet  Aglet  AgletIdentifier  Itinerary                        MessageAgletProxy          Aglet Aglet    ...
Aglets Runtime Framework                      Aglets                      ATP               Aglets Viewer (Tahiti)        ...
Agent Transfer ProtocolSimple Request-Response type Protocol for agents         Dispatch (Agent)                          ...
Life Cycle Events of an Aglet   The aglet may be:    Created / Cloned in a context    Dispatched to / Retracted from a des...
Aglet Object Model   Aglets doesnt migrate a process   Callback (Event Driven) approach     onCreation, onArrival, etc...T...
Dispatchaglet.dispatch(url);     run()       onDispatching()                                 onArrival()                  ...
import aglet.*;public class MyAglet extends Aglet {  URL origin;  public void onCreation(Object init) {     origin = getAg...
Aglet Object Model (contd)An aglet can be persistent  Deactivation/Activation                        MessageCommunication ...
Patterns   Common usage patterns for agents         Master-Slave pattern         Messenger pattern         Meeting pattern...
Messaging in AgletsAgletProxy proxy = ....;                                    booleanMessage m = new                     ...
Potential Applications....Network system managementDatabase accessAuctionShopping mall
Contact InformationLatest news, updates, tutorials, etc.:http://www.ibm.co.jp/agletsPublic mailing list (discussions, ques...
Upcoming SlideShare
Loading in …5
×

Aglets

1,554 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,554
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Aglets

  1. 1. AgletsProgramming Mobile Agents in Java A Technology Project Pat OConnor http://www.ibm.com/java IBM United Kingdom Laboratories Aglets is a trademark of the IBM Corporation
  2. 2. OutlineMotivationWhat are Aglets?Technical Overview of the Aglets APIPotential Applications
  3. 3. MotivationMaking Agent Technology RealOpen and PervasiveFreely available, Java, StandardsReal applicationAbility to access external resources - DB, GUI, etc.InternetInternet enabled agentsUser InterfaceFriendly, Compelling Interface
  4. 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. 5. What are Aglets? (contd)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/goPlatform-independence Totally written in Java Create once, go everywhere!
  6. 6. Technical Overview of AgletsAAPI and Aglets Runtime FrameworkAgent Transfer Protocol OverviewAglets Object ModelPatterns
  7. 7. Aglet API (AAPI)Aglet Aglet AgletIdentifier Itinerary MessageAgletProxy Aglet Aglet Aglet Aglet Proxy ProxyAgletContextMessage AgletContext Message FutureReply MessageManager
  8. 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. 9. Agent Transfer ProtocolSimple Request-Response type Protocol for agents Dispatch (Agent) Aglets Retract (Identifier) AgentSystem ATP Fetch (Resource) ATPDaemon Daemon Other Message (Object) Other AgentSystems Other AgentSystems AgentSystems Respond (Object)
  10. 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 DisposedCloned Dispatched Disposed Aglet Aglet Retract Created Deactivated Activated Aglet Class 2nd Storage
  11. 11. Aglet Object Model Aglets doesnt migrate a process Callback (Event Driven) approach onCreation, onArrival, etc...The event about to take place After the event has taken placeCreation onCreation()Clone onCloning() onClone()Dispatch onDispatching() onArrival()Retract onReverting() onArrival()Dispose onDisposing()Deactivate onDeactivating()Activate onActivation()Message handleMessage()
  12. 12. Dispatchaglet.dispatch(url); run() onDispatching() onArrival() run()
  13. 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("Im back!"); } else { doJob(); dispatch(origin); } }}
  14. 14. Aglet Object Model (contd)An aglet can be persistent Deactivation/Activation MessageCommunication by message passing Future type message passing Aglets Subscribe/Multicast in a contextAn aglet can have multiple activities Multiple threads in an aglet
  15. 15. Patterns Common usage patterns for agents Master-Slave pattern Messenger pattern Meeting pattern Slave and more... Aglet SlaveMaster AgletAglet Messenger Aglet Roaming Aglet
  16. 16. Messaging in AgletsAgletProxy proxy = ....; booleanMessage 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. 17. Potential Applications....Network system managementDatabase accessAuctionShopping mall
  18. 18. Contact InformationLatest news, updates, tutorials, etc.:http://www.ibm.co.jp/agletsPublic mailing list (discussions, questions, etc.):aglets@javalounge.comContacting the Aglets team, Bug reports:aglets@yamato.ibm.co.jp Any Questions?

×