Agents - PowerPoint PPT Presentation

1 / 49
About This Presentation



Once created, a mobile agent autonomously decides which locations to visit and ... Mobile Agents Detached from client, can have multiple hops ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 50
Provided by: shonalikri
Tags: agents | mobile


Transcript and Presenter's Notes

Title: Agents

Agents Mobile Agents
  • Introduction Agents Mobile Agents 1

Agents - The Concept
  • software system which acts intelligently on
    your behalf
  • convenient metaphor
  • situated in an environment and exhibit behaviour
    which can be viewed as
  • pro-active, autonomous, communicative,
    persistent, mobile, benevolent,
    adaptive/learning, collaborative, reactive,
    deliberative, ...
  • stronger notions of agency mentalistic notions
    such as knowledge, beliefs, desire, intention,
    goals, and a logic for reasoning with them
  • Cutting out the hype a kind of software and an
    approach to software design

Agent Definitions
  • Mission Impossible ?
  • No consensus on a single definition
  • New Buzzword
  • Everybody wants to call their software Agents!
  • Many synonyms just to add to the confusion ?
  • knowbots, softbots, personal assistants

What the Gurus Say
  • Wooldridge and Jennings
  • A computer system situated in some environment
  • Capable of Autonomous Action to meet its design
    objectives in this environment
  • Autonomy ability to act without direct human

Objects and Agents An Analogy
  • Objects encapsulate state, Agents encapsulate
    state execution behaviour
  • Objects have no control over the execution of
  • Invocation of method m on object o involuntary
    whether object o likes it or not

Objects and Agents An Analogy
  • Agents have control of whether or not to perform
    any given action
  • Request actions rather than invoke methods

Agents - Current Research and Industry
  • theories, architectures, languages, systems
  • agent (internal structure) and mult-agents
    (collaboration, teamwork)
  • still thriving research -gt emerging industry
  • gt20 companies including IBM, BT, HP, Microsoft,
    Fujitsu, AgentSoft, Verity, AOS, Extempo, ...
  • gt40 books on software agents at Amazon
  • gt50 research laboratories worldwide
  • organizations coordinating international agent
  • Agent Society, AgentLink, Agents-in-Melbourne

Agents - Applications
  • many due to
  • appeal of the agent abstraction
  • agent research spans disciplines artificial
    intelligence, distributed computing, software
    engineering (ABSE), sociology, psychology,
    economics, object-oriented systems, artificial
    life, game theory, ...
  • a sampling...

The Internet and the WWW
  • impetus for information agents
  • gathering, filtering, sharing, monitoring,
    recommending, comparing information
  • guiding Web surfers
  • email filtering, autoresponders (e.g., Snoop,
  • technologies NL processing, XML/HTML, machine
    learning, knowledge engineering
  • E.g.s Verity, Autonomy, AgentSoft, CiFi, ...

Electronic Commerce
  • automate CBB stages including
  • product advertising, product brokering,
    merchant brokering, negotiation, purchase and
    delivery, customer services
  • examples for brokering and negotiation
  • PersonaLogic, Firefly, BargainFinder, Jango,
    Kasbah, AuctionBot, Tete-a-tete, ShopBot
  • needs standards for unambiguous definition of
    commerce-related information such as goods,
    services, customer and business profiles,
    electronic forms

Business Process Management
  • streamline business processes in a more flexible
    and robust manner
  • e.g. ADEPT Jennings et al
  • agents representing entities negotiate for
    services from each other
  • negotiation rules
  • applied to BT process for installing a network at
    a customers premises
  • prototypes based on mobile agents intra- and
    inter-organizational workflows, supply-chain
    management in virtual enterprises, project

  • visual manifestation of agent properties
  • e.g.s (life-like interactive animated
    characters) Creatures game Grand and Cliff,
    Extempo, Microsofts Persona Project (3D,
    conversational parrot)
  • believable agents - illusion of life for objects

Pilot Training
  • DSTO and AAIIs SWARMM system
  • agents model pilot reasoning and tactics in air
    battle simulations
  • plan and meta-plan language

  • agents systems for
  • controlling manufacturing robots
  • managing factory production processes
  • e.g. YAMS
  • each factory and factory component is represented
    by an agent
  • automates delegation of production orders via
    bidding between agents

And More...
  • agents for telecommunications network modelling
    and QoS management
  • medical informatics e.g., multi-agent based
    distributed health care systems
  • communityware agents represent people in virtual
  • distributed data mining

Agents - Standardization
  • Agent Communication Languages
  • KQML, ...
  • Agent Lifecycle Management, etc...
  • Organizations creating specifications
  • FIPA gt40 participants including Alcatel, BT,
    Hitachi, NEC, Siemens, IBM, Sun Microsystems,
  • OMG e.g. MASIF

Important Types of Agents
  • Collaborative
  • Interface
  • Mobile
  • Information / Internet
  • Others Reactive, Hybrid, Smart
  • Many Classification Schemes Typologies exist gt
    to come in the next lecture

What is a Mobile Agent ?
  • Software program
  • Moves from machine to machine under its own
  • Suspend execution at any point in time, transport
    itself to a new machine and resume execution
  • Once created, a mobile agent autonomously decides
    which locations to visit and what instructions to
  • Continuous interaction with the agents
    originating source is not required
  • HOW?
  • Implicitly specified through the agent code
  • Specified through a run-time modifiable itinerary

  • BOTTOMLINE Mobile Agents are a distributed
    computing paradigm
  • End point in the incremental evolution of mobile
    abstractions such as mobile code, mobile objects,
    mobile processes.
  • Mobile Code transfers code
  • Mobile Object transfers code data
  • Mobile Process transfers
  • code data thread state
  • Mobile Agent transfers
  • code data thread authority of its owner

RPC Vs Mobile Agents
  • Remote Procedure Calls (RPC)
  • One computer calls procedures on another
  • Messages Requests and Responses
  • Procedure is remote i.e. it is local to the
    machine that performs it
  • Client and Server agree in advance on the
    protocol for communication
  • Continuous on-going interaction and communication
    between the client and server

RPC Vs Mobile Agents
  • Mobile Agents
  • Instead of calling a procedure, supply the
    procedure as well
  • Messages Mobile Agent ( procedure data
  • Sending computer may have begun the procedure
    and the receiving computer will continue the
  • On-going interaction, but NO on-going

Applets, Servlets and Mobile Agents
  • Applet Downloaded from server to client
  • Servlet Uploaded from client to server
  • Mobile Agents Detached from client, can have
    multiple hops

Advantages of the Mobile Agent Paradigm
  • reduce bandwidth consumption and network loads
  • allow dynamic deployment of application
    components to arbitrary network sites
  • encapsulate protocols
  • execute asynchronously and autonomously
  • can adapt by moving
  • run on heterogeneous platforms
  • most distributed applications fit naturally into
    the mobile agent model
  • intuitively suitable for mobile users and
    disconnected operations
  • Mobile agents combine the strengths of techniques
    such as RPC, java applets etc. into a single,
    convenient framework

Mobile Agent Myths
  • MYTH 1 Mobile agents are risky to use.
  • FACT 1 No different to allowing remote
    access or accepting email that contains active
  • MYTH 2 Mobile agent paradigm needs a killer
    application to survive
  • FACT 2 Any technology needs time to mature.
    Several applications rather than one killer
    application can also contribute towards pushing
    this technology further

Mobile Agent Myths
  • MYTH 3 Wide deployment of agent environments is
    unlikely to emerge.
  • Because agents execute within a given
    environment. It is unlikely for such agent
    environments to be available on a base of
    computers world wide that is large enough to make
    MA applications truly ubiquitous

Mobile Agent Myths
  • FACT 3 No Because
  • JVMs and ORBs exist in each browser (most MA
    applications are developed in Java and the OMGs
    MASIF standards rely on CORBA compliant
  • Development of PUSH technology can enable
    uninvited agents to execute on servers that are
    willing to accept them
  • MA toolkits are typically small in size and so
    are easy and inexpensive to download them on
    servers where they do not already exist
  • Emerging standards are likely to lead to
    interoperable agent environments

Mobile Agent Myths
  • MYTH 4 Most things that mobile agents can do,
    static agents can do as well
  • FACT 4 Truebut the performance benefits
    associated with mobile agents can be higher

Mobile Agent Myths
  • MYTH 5 The Mobile Agent paradigm can solve all
    distributed computing issues
  • FACT 5 NO! Mobile Agents are not a substitute
    for client-server techniques. The two techniques
    augment each other and very often a combination
    of the two is the most appropriate.

Levels of Mobility
  • Weak Mobility
  • When moving a mobile agent carries code data
  • Data State - global or instance variable
  • On moving, execution has to start from the

Levels of Mobility
  • Strong Mobility
  • When moving a mobile agent carries
  • code data state execution state
  • Data State - global or instance variable
  • Execution State local variables and threads
  • On moving, execution can continue from the point
    it stopped on the previous host

Mobile Agent Toolkits
  • What a DBMS is to Data, a Mobile Agent Toolkit is
    to Mobile Agents
  • Provides the infrastructure for mobile agents
  • to interact with the underlying computer system
    provide a home, a place, a context for
    agents to reside in and perform their tasks on a
    given host
  • to move from host to host
  • to communicate with each other, with users and
    with host servers
  • to maintain privacy and integrity (of agents as
    well as hosts)
  • Current trend Java based

Java Lingua Franca for Mobile Agent Toolkits
  • Platform independence
  • Secure execution
  • Dynamic class loading
  • Multi-threaded programming
  • Object serialisation

Java Lingua Franca for Mobile Agent Toolkits
  • Inadequate support for resource control
  • No protected references need for a proxy object
    to shield access to public methods
  • No support for preservation and resumption of
    execution state

IBMs Aglet Toolkit
  • An Applet-like programming model for mobile
  • Java (as many mobile agent toolkits are! )
  • Aglet Agent Applet
  • Aglets API facilitates mobile technology
  • Aglet mobile java object that visits aglet
    enabled hosts in a computer network
  • An Aglet Instance of a Java class extending the
    Aglet Class

IBMs Aglet Toolkit
  • An Aglet
  • Aglet state (values in variables)
  • Aglet code (class implementation)
  • Autonomous runs its own thread after arriving
    at a host
  • Reactive responds to incoming messages
  • Weak Mobility

IBMs Aglet Mobile Agent System
  • System elements host, engine, context, proxy,
  • Aglet Transfer Protocol e.g. atp//hostnameport/
  • AgletID system-given globally unique identifier
    for life

IBMs Aglet Mobile Agent System
IBMs Aglet System
  • Proxy representative of an aglet.
  • Shields and protects an aglet from direct access
    to its public methods
  • Provides location transparency for the object
  • Context an aglets work place.
  • A server can have several contexts.
  • Named
  • Stationary
  • Message objects exchanged between aglets
  • Synchronous and Asynchronous messaging (using

The Aglet Model
  • Operations on aglets
  • creation within a context. Assign id,
    initialise and execute.
  • run
  • cloning identical copy in the same context.
    Different id and execution thread
  • dispatching move from one context to another
    where execution will re-start (i.e. threads do
    not migrate)
  • retraction pull from current context and insert
    into the context from which retraction was

The Aglet Model
  • activation deactivation temporary halt and
    store in secondary storage
  • disposal halt execution and remove from current
  • Event-based control via user-defined methods
    onCreation, onDisposing, onCloning,
    onDispatching, onReverting, onArrival,
    onActivation, onDeactivating,
  • Messaging between aglets messaging via proxy, a
    message invokes a method

Several Other Toolkits
  • Gossip - Tryllian
  • Grasshopper IKV Technologies
  • DAgents - Dartmouth University
  • Voyager - ObjectSpace
  • MOA - Mobile Objects and Agents - The Open Group
    Research Institute
  • Concordia - Mitsubishi Electric Lab
  • JSeal, Gypsy, Gossip Many, many more

Why Mobile Agents for Ubiquitous Environments
  • The Metaphor of an Agent
  • Mobility, Frequent Disconnections and Resource
  • Dynamic environment computational resources,
    battery power, memory, bandwidth (with frequent
    disconnections) limited and varying for the same
    computer and across computers set of computers
    in a domain varying
  • move/off-load (multiple) computations to other
    sites (e.g., processing at database, Web and WAP
    servers) no need to maintain connection,
    depleting resources, move to discovered resources
  • software components only when and where needed
    cope with limited memory, zero-maintenance mobile
    computers, different versions for different
    hardware characteristics
  • BUTthe issues are
  • The need for mobility to be integrated with
    reasoning, proactivity and autonomy
  • Trade-offs of intelligence vs. computational

Mobile Agent Toolkits for Ubiquitous Environments
  • Grasshopper
  • JADE-Leap
  • Mobile Agent Environment (MAE)
  • AbiMA
  • AgentFactory WAY
  • MyCampus
  • JAM
  • Nuin

Mobile Agent Toolkits for Ubiquitous Environments
CALMA Context-Aware Light Weight Mobile BDI
Agent Applications in Ubiquitous Environments
  • Ubiquitous Data Analysis
  • Interactions with Web Services or Web
  • Delivering Services to Mobile Users
  • Users service environment can follow users
    mobile device (e.g., VHE, NetChaser)
  • Agents move to mobile devices to perform tasks
    (e.g., monitor and gather information from
    deployed mobile devices)

Other Mobile Agent Applications
  • WWW Information Retrieval
  • Electronic Marketplaces
  • Distributed Data Intensive Applications
  • Space Presence ?
  • Others Network Management, Distributed Database

Current Areas of Work
  • mobile agent theories Pi-calculus extensions,
    Mobile Ambients, Agent Itineraries
  • mobile agent model some component-based,
  • mobile agent infrastructure environment
    supporting mobile agents - security, naming,
    domain crossing, etc
  • mobile agent programming languages, toolkits,
  • mobile agent applications mobile agent
    standards OMGs MASIF, FIPA

Research Issues
  • Security protect host from agents, protect
    agents from agents, protect agents from host
  • Performance if Java or Python, performance
    penalities with interpretation (esp. for
    performance critical applications), but not for
  • Strong mobility move full execution state
    (stacks etc), stacks not accessible with current
  • MA management
  • how control and manage deployed agents
  • issues fault tolerance (e.g., agent fails, host
    fails), recalling agents, tracking agents,
    servicing agents (esp. longer living agents)
Write a Comment
User Comments (0)