www.monash.edu.au monash university semester 1, march 2005 introduction – agents & mobile...

49
www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

Upload: jonah-wilkins

Post on 03-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

Monash University

Semester 1, March 2005

Introduction – Agents & Mobile Agents

Page 2: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 3: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 4: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 5: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 6: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

6

Objects and Agents – An Analogy

• Agents have control of whether or not to perform any given action

• Request actions rather than invoke methods

Page 7: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

7

Agents - Current Research and Industry

• theories, architectures, languages, systems • agent (internal structure) and multi-agents

(collaboration, teamwork)• still thriving research -> emerging industry• >20 companies including IBM, BT, HP, Microsoft,

Fujitsu, AgentSoft, Verity, AOS, Extempo, ...• >40 books on “software agents” at Amazon• >50 research laboratories worldwide• organizations coordinating international agent

research: Agent Society, AgentLink, Agents-in-Melbourne

Page 8: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 9: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 10: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 11: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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 customer’s premises

• prototypes based on mobile agents: intra- and inter-organizational workflows, supply-chain management in virtual enterprises, project management

Page 12: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

12

Entertainment

• visual manifestation of agent properties • e.g.s (life-like interactive animated

characters): Creatures game [Grand and Cliff], Extempo, Microsoft’s Persona Project (3D, conversational parrot)

• believable agents - illusion of life for objects

Page 13: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

13

Pilot Training

• DSTO and AAII’s SWARMM system

– agents model pilot reasoning and tactics in air battle simulations

– plan and meta-plan language

Page 14: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 15: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 16: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

16

Agents - Standardization

• Agent Communication Languages:– KQML, ...

• Agent Lifecycle Management, etc...• Organizations creating specifications:

– FIPA: >40 participants including Alcatel, BT, Hitachi, NEC, Siemens, IBM, Sun Microsystems, Telia,...

– OMG: e.g. MASIF

Page 17: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

17

Important Types of Agents

• Collaborative

• Interface

• Mobile

• Information / Internet

• Others – Reactive, Hybrid, Smart

• Many Classification Schemes & Typologies exist => to come in the next lecture

Page 18: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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 agent’s originating source is not required

• HOW? – Implicitly specified through the agent code– Specified through a run-time modifiable itinerary

Page 19: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 20: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

CLIENT SERVERnetwork

Page 21: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

CLIENT

SERVER

network

Mobile

AgentService

Page 22: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 23: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 24: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 25: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

25

Mobile Agent Myths

• MYTH #3: Wide deployment of agent environments is unlikely to emerge….

– Because agent’s 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

Page 26: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

26

Mobile Agent Myths

• FACT #3 : No …Because…

– JVM’s and ORB’s exist in each browser (most MA applications are developed in Java and the OMG’s 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”

Page 27: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

27

Mobile Agent Myths

• MYTH #4: Most things that mobile agents can do, static agents can do as well

• FACT #4: True…but the performance benefits associated with mobile agents can be higher

Page 28: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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.

Page 29: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 30: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 31: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 32: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

32

Java – Lingua Franca for Mobile Agent Toolkits

• BENEFITS– Platform independence– Secure execution– Dynamic class loading– Multi-threaded programming– Object serialisation

Page 33: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 34: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

34

IBM’s Aglet Toolkit

• An Applet-like programming model for mobile agents

• Java (as many mobile agent toolkits are! )• Aglet = Agent + Applet• Aglet’s 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

Page 35: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

35

IBM’s 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

Page 36: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

36

IBM’s Aglet Mobile Agent System

• System elements: host, engine, context, proxy, aglet

• Aglet Transfer Protocol e.g. “atp://hostname:port/context/”

• AgletID: system-given globally unique identifier for life

Page 37: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

37

IBM’s Aglet Mobile Agent System

agletagletproxyproxyproxyproxy

agletagletcontext

agletagletproxyproxyproxyproxy

agletagletcontext engine host

user

Page 38: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

38

IBM’s Aglet System

• Proxy: representative of an aglet.

– Shields and protects an aglet from direct access to its public methods

– Provides location transparency for the objectContext: an aglet’s work place.

– A server can have several contexts. – Named – StationaryMessage: objects exchanged between aglets

– Synchronous and Asynchronous messaging (using FUTURE REPLY)

Page 39: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 40: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

Page 41: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

41

Several Other Toolkits

• Gossip - Tryllian• Grasshopper – IKV++ Technologies

• D’Agents - Dartmouth University • Voyager - ObjectSpace• MOA - Mobile Objects and Agents - The Open

Group Research Institute

• Concordia - Mitsubishi Electric Lab• JSeal, Gypsy, Gossip – Many, many more…

Page 42: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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

• BUT…the issues are– The need for mobility to be integrated with reasoning, proactivity and

autonomy – Trade-offs of intelligence vs. computational efficiency

Page 43: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

43

Mobile Agent Toolkits for Ubiquitous Environments

• Grasshopper• JADE-Leap• Mobile Agent Environment (MAE)• AbiMA• AgentFactory & WAY• MyCampus• JAM• Nuin• CALMA

Page 44: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

44

Mobile Agent Toolkits for Ubiquitous Environments

MSN Messenger 6.0.lnk

BDI/Intelligent

AgentMobile Agent

Context Awareness

Support for Semantic Web

and Web Services

Support Agent Applications on Mobile and Small Devices

JAM BDI √ √

AbiMA BDI √ √ √

Nuin BDI

Relies on features

available on the selected underlying

agent platform

√ √

MyCampus Intelligent √ √ √

Agent Factory & WAY

BDI √ √ √

Page 45: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

45

CALMA – Context-Aware Light Weight Mobile BDI Agents

Page 46: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

46

Agent Applications in Ubiquitous Environments

• Ubiquitous Data Analysis• Interactions with Web Services or Web Applications• Delivering Services to Mobile Users• User’s service environment can follow user’s mobile

device (e.g., VHE, NetChaser)• Agents move to mobile devices to perform tasks

(e.g., monitor and gather information from deployed mobile devices)

Page 47: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

47

Other Mobile Agent Applications

• WWW Information Retrieval

• Electronic Marketplaces

• Distributed Data Intensive Applications

• Space Presence • Others – Network Management,

Distributed Database Access

Page 48: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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: OMG’s MASIF, FIPA

Page 49: Www.monash.edu.au Monash University Semester 1, March 2005 Introduction – Agents & Mobile Agents

www.monash.edu.au

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)