Agents - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Agents

Description:

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:147
Avg rating:3.0/5.0
Slides: 50
Provided by: shonalikri
Category:
Tags: agents | mobile

less

Transcript and Presenter's Notes

Title: Agents


1
Agents Mobile Agents
  • Introduction Agents Mobile Agents 1

2
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

3
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

4
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
    intervention

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

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

7
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
    research
  • Agent Society, AgentLink, Agents-in-Melbourne

8
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...

9
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,
    Smartbot)
  • technologies NL processing, XML/HTML, machine
    learning, knowledge engineering
  • E.g.s Verity, Autonomy, AgentSoft, CiFi, ...

10
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

11
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
    management

12
Entertainment
  • 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

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

14
Manufacturing
  • 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

15
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
    communities
  • distributed data mining

16
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,
    Telia,...
  • OMG e.g. MASIF

17
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

18
What is a Mobile Agent ?
  • Software program
  • Moves from machine to machine under its own
    control.
  • 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
    perform
  • Continuous interaction with the agents
    originating source is not required
  • HOW?
  • Implicitly specified through the agent code
  • Specified through a run-time modifiable itinerary

19
Evolution
  • 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

20
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

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

22
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

23
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

24
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
    entities
  • 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

25
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

26
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
    interfaces)
  • 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

27
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

28
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.

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

30
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

31
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

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

33
Java Lingua Franca for Mobile Agent Toolkits
  • LIMITATIONS
  • 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

34
IBMs Aglet Toolkit
  • An Applet-like programming model for mobile
    agents
  • 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

35
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

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

37
IBMs Aglet Mobile Agent System
38
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
    FUTURE REPLY)

39
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
    requested

40
The Aglet Model
  • activation deactivation temporary halt and
    store in secondary storage
  • disposal halt execution and remove from current
    context
  • 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

41
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

42
Why Mobile Agents for Ubiquitous Environments
  • The Metaphor of an Agent
  • Mobility, Frequent Disconnections and Resource
    Limitations
  • 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
    efficiency

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

44
Mobile Agent Toolkits for Ubiquitous Environments
45
CALMA Context-Aware Light Weight Mobile BDI
Agents
46
Agent Applications in Ubiquitous Environments
  • Ubiquitous Data Analysis
  • Interactions with Web Services or Web
    Applications
  • 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)

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

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

49
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
    long?
  • Strong mobility move full execution state
    (stacks etc), stacks not accessible with current
    Java?
  • 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)
About PowerShow.com