agents & mobile agents introduction – agents & mobile agents1

49
Agents & Agents & Mobile Mobile Agents Agents Introduction – Agents & Mobile Agents Introduction – Agents & Mobile Agents 1

Post on 22-Dec-2015

326 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agents & Agents & Mobile Mobile AgentsAgents

Introduction – Agents & Mobile AgentsIntroduction – Agents & Mobile Agents 11

Page 2: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agents - The ConceptAgents - The Concept software system which acts “intelligently” on your software system which acts “intelligently” on your

behalfbehalf convenient metaphorconvenient metaphor situated in an environment and exhibit behaviour situated in an environment and exhibit behaviour

which can be viewed as:which can be viewed as: pro-active, autonomous, communicative, pro-active, autonomous, communicative,

persistent, mobile, benevolent, persistent, mobile, benevolent, adaptive/learning, collaborative, reactive, adaptive/learning, collaborative, reactive, deliberative, ...deliberative, ...

stronger notions of agency: mentalistic notions such as stronger notions of agency: mentalistic notions such as knowledge, beliefs, desire, intention, goals, and a logic knowledge, beliefs, desire, intention, goals, and a logic for reasoning with themfor reasoning with them

Cutting out the hype – a kind of software and an Cutting out the hype – a kind of software and an approach to software designapproach to software design

Page 3: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agent DefinitionsAgent 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: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

What the Gurus Say…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: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Objects and Agents – An Objects and Agents – An AnalogyAnalogy• 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: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Objects and Agents – An Objects and Agents – An AnalogyAnalogy• Agents have control of whether or not to

perform any given action• Request actions rather than invoke

methods

Page 7: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agents - Current Research and Agents - Current Research and IndustryIndustry

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

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

Microsoft, Fujitsu, AgentSoft, Verity, AOS, Microsoft, Fujitsu, AgentSoft, Verity, AOS, Extempo, ...Extempo, ...

>40 books on “software agents” at Amazon>40 books on “software agents” at Amazon >50 research laboratories worldwide>50 research laboratories worldwide organizations coordinating international organizations coordinating international

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

MelbourneMelbourne

Page 8: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agents - ApplicationsAgents - Applications

many due to:many due to: appeal of the agent abstractionappeal of the agent abstraction agent research spans disciplines: agent research spans disciplines:

artificial intelligence, distributed artificial intelligence, distributed computing, software engineering computing, software engineering (ABSE), sociology, psychology, (ABSE), sociology, psychology, economics, object-oriented economics, object-oriented systems, artificial life, game systems, artificial life, game theory, ...theory, ...

a sampling... a sampling...

Page 9: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

The Internet and the The Internet and the WWWWWW impetus for information agentsimpetus for information agents gathering, filtering, sharing, monitoring, gathering, filtering, sharing, monitoring,

recommending, comparing informationrecommending, comparing information guiding Web surfersguiding Web surfers email filtering, autoresponders (e.g., Snoop, email filtering, autoresponders (e.g., Snoop,

Smartbot) Smartbot) technologies: NL processing, XML/HTML, technologies: NL processing, XML/HTML,

machine learning, knowledge engineeringmachine learning, knowledge engineering E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...

Page 10: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Electronic CommerceElectronic Commerce

automate CBB stages including automate CBB stages including

product advertising, product brokering, merchant product advertising, product brokering, merchant brokering, negotiation, purchase and delivery, brokering, negotiation, purchase and delivery, customer services customer services

examples for brokering and negotiation: examples for brokering and negotiation:

PersonaLogic, Firefly, BargainFinder, Jango, Kasbah, PersonaLogic, Firefly, BargainFinder, Jango, Kasbah, AuctionBot, Tete-a-tete, ShopBotAuctionBot, Tete-a-tete, ShopBot

needs: standards for unambiguous definition of needs: standards for unambiguous definition of commerce-related information such as goods, commerce-related information such as goods, services, customer and business profiles, electronic services, customer and business profiles, electronic formsforms

Page 11: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Business Process Business Process ManagementManagement streamline business processes in a more streamline business processes in a more

flexible and robust mannerflexible and robust manner e.g.: ADEPT [Jennings et al] e.g.: ADEPT [Jennings et al]

agents representing entities negotiate for agents representing entities negotiate for services from each otherservices from each other

negotiation rulesnegotiation rules applied to BT process for installing a network applied to BT process for installing a network

at a customer’s premisesat a customer’s premises prototypes based on mobile agents: intra- and prototypes based on mobile agents: intra- and

inter-organizational workflows, supply-chain inter-organizational workflows, supply-chain management in virtual enterprises, project management in virtual enterprises, project managementmanagement

Page 12: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

EntertainmentEntertainment visual manifestation of agent visual manifestation of agent

properties properties e.g.s (life-like interactive animated e.g.s (life-like interactive animated

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

believable agents - illusion of life for believable agents - illusion of life for objectsobjects

Page 13: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Pilot TrainingPilot Training

DSTO and AAII’s SWARMM DSTO and AAII’s SWARMM systemsystem agents model pilot reasoning agents model pilot reasoning

and tactics in air battle and tactics in air battle simulationssimulations

plan and meta-plan languageplan and meta-plan language

Page 14: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

ManufacturingManufacturing

agents systems for:agents systems for: controlling manufacturing robotscontrolling manufacturing robots managing factory production processesmanaging factory production processes

e.g.: YAMSe.g.: YAMS each factory and factory component is each factory and factory component is

represented by an agentrepresented by an agent automates delegation of production automates delegation of production

orders via bidding between agentsorders via bidding between agents

Page 15: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

And More...And More...

agents for telecommunications: agents for telecommunications: network modelling and QoS network modelling and QoS managementmanagement

medical informatics: e.g., multi-agent medical informatics: e.g., multi-agent based distributed health care systemsbased distributed health care systems

communityware: agents represent communityware: agents represent people in virtual communitiespeople in virtual communities

distributed data miningdistributed data mining

Page 16: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agents - StandardizationAgents - Standardization

Agent Communication Languages:Agent Communication Languages: KQML, ...KQML, ...

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

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

OMG: e.g. MASIFOMG: e.g. MASIF

Page 17: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Important Types of AgentsImportant 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: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

What is a What is a Mobile Mobile AgentAgent ? ? Software programSoftware program

Moves from machine to machine Moves from machine to machine under its under its own control….own control….

Suspend execution at any point in time, Suspend execution at any point in time, transport itself to a new machine and resume transport itself to a new machine and resume executionexecution

Once created, a mobile agent autonomously Once created, a mobile agent autonomously decides which locations to visit and what decides which locations to visit and what instructions to performinstructions to perform

Continuous interaction with the agent’s Continuous interaction with the agent’s originating source is not requiredoriginating source is not required

HOW? HOW? Implicitly specified through the agent codeImplicitly specified through the agent code Specified through a run-time modifiable Specified through a run-time modifiable

itineraryitinerary

Page 19: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

EvolutionEvolution

BOTTOMLINE: Mobile Agents are a distributed BOTTOMLINE: Mobile Agents are a distributed computing paradigmcomputing paradigm

End point in the incremental evolution of End point in the incremental evolution of mobile abstractions such as mobile abstractions such as mobile code, mobile code, mobile objects, mobile processes.mobile objects, mobile processes. Mobile Code – transfers codeMobile Code – transfers code Mobile Object – transfers code + dataMobile Object – transfers code + data Mobile Process – transfers Mobile Process – transfers

code + data + thread statecode + data + thread state Mobile Agent – transfers Mobile Agent – transfers

code + data + thread + authority of its code + data + thread + authority of its ownerowner

Page 20: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

RPC Vs Mobile Agents RPC Vs Mobile Agents Remote Procedure Calls (RPC)Remote Procedure Calls (RPC)

One computer calls procedures on anotherOne computer calls procedures on another Messages: Messages: RequestsRequests and and ResponsesResponses Procedure is “Procedure is “remoteremote” – i.e. it is local to the ” – i.e. it is local to the

machine that performs itmachine that performs it Client and Server agree in advance on the Client and Server agree in advance on the

protocol for communicationprotocol for communication Continuous on-going interaction and Continuous on-going interaction and

communication between the client and communication between the client and serverserver

CLIENT SERVERnetwork

Page 21: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

RPC Vs Mobile Agents RPC Vs Mobile Agents Mobile Agents Mobile Agents

Instead of calling a procedure, supply the procedure as Instead of calling a procedure, supply the procedure as wellwell

Messages: Messages: Mobile Agent ( procedure + data + state)Mobile Agent ( procedure + data + state) ““Sending” computer may have begun the procedure Sending” computer may have begun the procedure

and the receiving computer will continue the and the receiving computer will continue the procedureprocedure

On-going interaction, but NO on-going communicationOn-going interaction, but NO on-going communication

CLIENT

SERVER

network

Mobile

AgentService

Page 22: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Applets, Servlets and Applets, Servlets and Mobile AgentsMobile Agents

Applet – Downloaded from server Applet – Downloaded from server to clientto client

Servlet – Uploaded from client to Servlet – Uploaded from client to serverserver

Mobile Agents – Detached from Mobile Agents – Detached from client, can have multiple hopsclient, can have multiple hops

Page 23: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Advantages of the Advantages of the Mobile Agent ParadigmMobile Agent Paradigm

reduce bandwidth consumption and network reduce bandwidth consumption and network loadsloads

allow dynamic deployment of application allow dynamic deployment of application components to arbitrary network sitescomponents to arbitrary network sites

encapsulate protocolsencapsulate protocols execute asynchronously and autonomouslyexecute asynchronously and autonomously can adapt by movingcan adapt by moving run on heterogeneous platforms run on heterogeneous platforms most distributed applications fit naturally into the most distributed applications fit naturally into the

mobile agent modelmobile agent model intuitively suitable for mobile users and intuitively suitable for mobile users and

disconnected operationsdisconnected operations Mobile agents combine the strengths of Mobile agents combine the strengths of

techniques such as RPC, java applets etc. into a techniques such as RPC, java applets etc. into a single, convenient frameworksingle, convenient framework

Page 24: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent MythsMobile Agent Myths MYTH #1:MYTH #1: Mobile agents are risky to use.Mobile agents are risky to use. FACT #1 : FACT #1 : No different to allowing remote No different to allowing remote

access or accepting email that contains access or accepting email that contains active entitiesactive entities

MYTH #2: MYTH #2: Mobile agent paradigm needs a Mobile agent paradigm needs a killer application to survivekiller application to survive

FACT #2: FACT #2: Any technology needs time to Any technology needs time to mature. Several applications rather than mature. Several applications rather than one killer application can also contribute one killer application can also contribute towards pushing this technology furthertowards pushing this technology further

Page 25: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent MythsMobile Agent Myths MYTH #3:MYTH #3: Wide deployment of agent Wide deployment of agent

environments is unlikely to emerge….environments is unlikely to emerge…. Because agent’s execute within a Because agent’s execute within a

given environment. It is unlikely for given environment. It is unlikely for such agent environments to be such agent environments to be available on a base of computers available on a base of computers world wide that is large enough to world wide that is large enough to make MA applications truly ubiquitousmake MA applications truly ubiquitous

Page 26: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent MythsMobile Agent Myths FACT #3 : No …Because…FACT #3 : No …Because…

JVM’s and ORB’s exist in each browser JVM’s and ORB’s exist in each browser (most MA applications are developed in Java (most MA applications are developed in Java and the OMG’s MASIF standards rely on and the OMG’s MASIF standards rely on CORBA compliant interfaces)CORBA compliant interfaces)

Development of PUSH technology can Development of PUSH technology can enable “uninvited” agents to execute on enable “uninvited” agents to execute on servers that are willing to accept themservers that are willing to accept them

MA toolkits are typically small in size and so MA toolkits are typically small in size and so are easy and inexpensive to download them are easy and inexpensive to download them on servers where they do not already existon servers where they do not already exist

Emerging standards are likely to lead to Emerging standards are likely to lead to “interoperable agent environments” “interoperable agent environments”

Page 27: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent MythsMobile Agent Myths

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

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

Page 28: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent Mobile Agent Myths Myths

MYTH #5:MYTH #5: The Mobile Agent The Mobile Agent paradigm can solve all paradigm can solve all distributed computing issuesdistributed computing issues

FACT #5: NO! FACT #5: NO! Mobile Agents Mobile Agents are not a substitute for client-are not a substitute for client-server techniques. The two server techniques. The two techniques augment each other techniques augment each other and very often a combination of and very often a combination of the two is the most appropriate.the two is the most appropriate.

Page 29: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Levels of MobilityLevels of Mobility

Weak Mobility Weak Mobility When moving a mobile agent When moving a mobile agent

carries carries code + data statecode + data state Data State Data State - global or - global or

instance variableinstance variable On moving, execution has to On moving, execution has to

start from the beginning start from the beginning

Page 30: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Levels of MobilityLevels of Mobility

Strong MobilityStrong Mobility When moving a mobile agent carries When moving a mobile agent carries

code + data state + code + data state + execution stateexecution state

Data State Data State - global or instance - global or instance variablevariable

Execution State – Execution State – local variables local variables and threadsand threads

On moving, execution can continue On moving, execution can continue from the point it stopped on the from the point it stopped on the previous hostprevious host

Page 31: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent ToolkitsMobile Agent Toolkits What a DBMS is to Data, a Mobile Agent Toolkit What a DBMS is to Data, a Mobile Agent Toolkit

is to Mobile Agentsis to Mobile Agents Provides the infrastructure for mobile agents:Provides the infrastructure for mobile agents:

to interact with the underlying computer to interact with the underlying computer system – provide a “home”, a “place”, a system – provide a “home”, a “place”, a “context” – for agents to reside in and “context” – for agents to reside in and perform their tasks on a given hostperform their tasks on a given host

to move from host to hostto move from host to host to communicate with each other, with users to communicate with each other, with users

and with host serversand with host servers to maintain privacy and integrity (of agents to maintain privacy and integrity (of agents

as well as hosts) as well as hosts) Current trend: Java basedCurrent trend: Java based

Page 32: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Java – Lingua Franca for Java – Lingua Franca for Mobile AgentMobile Agent Toolkits Toolkits

BENEFITSBENEFITS Platform independencePlatform independence Secure executionSecure execution Dynamic class loadingDynamic class loading Multi-threaded programmingMulti-threaded programming Object serialisationObject serialisation

Page 33: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Java – Lingua Franca for Java – Lingua Franca for Mobile AgentMobile Agent Toolkits Toolkits

LIMITATIONSLIMITATIONS Inadequate support for resource Inadequate support for resource

controlcontrol No protected references – need No protected references – need

for a proxy object to shield for a proxy object to shield access to public methodsaccess to public methods

No support for preservation and No support for preservation and resumption of execution stateresumption of execution state

Page 34: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

IBM’s Aglet ToolkitIBM’s Aglet Toolkit An Applet-like programming An Applet-like programming

model for mobile agentsmodel for mobile agents Java (as many mobile agent Java (as many mobile agent

toolkits are! )toolkits are! ) Aglet = Agent + AppletAglet = Agent + Applet Aglet’s API facilitates mobile Aglet’s API facilitates mobile

technologytechnology Aglet:Aglet: mobile java object that mobile java object that

visits aglet enabled hosts in a visits aglet enabled hosts in a computer networkcomputer network

An Aglet = Instance of a Java An Aglet = Instance of a Java class extending the Aglet Classclass extending the Aglet Class

Page 35: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

IBM’s Aglet ToolkitIBM’s Aglet Toolkit An Aglet =An Aglet = Aglet state (values in Aglet state (values in

variables) variables) + + Aglet code (class Aglet code (class

implementation)implementation) AutonomousAutonomous – runs its own – runs its own

thread after arriving at a hostthread after arriving at a host Reactive Reactive – responds to – responds to

incoming messagesincoming messages Weak MobilityWeak Mobility

Page 36: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

IBM’s Aglet Mobile Agent IBM’s Aglet Mobile Agent SystemSystem

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

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

AgletID: system-given globally AgletID: system-given globally unique identifier for lifeunique identifier for life

Page 37: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

IBM’s Aglet Mobile Agent IBM’s Aglet Mobile Agent SystemSystem

agletagletproxyproxyproxyproxy

agletagletcontext

agletagletproxyproxyproxyproxy

agletagletcontext engine host

user

Page 38: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

IBM’s Aglet SystemIBM’s Aglet System Proxy: Proxy: representative of an aglet.representative of an aglet.

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

Provides location transparency for the Provides location transparency for the objectobject

Context: Context: an aglet’s work place. an aglet’s work place.

A server can have several contexts. A server can have several contexts. Named Named StationaryStationaryMessage: Message: objects exchanged between agletsobjects exchanged between aglets

Synchronous and Asynchronous Synchronous and Asynchronous messaging (using FUTURE REPLYmessaging (using FUTURE REPLY))

Page 39: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

The Aglet ModelThe Aglet Model Operations on aglets: Operations on aglets:

creationcreation – within a context. Assign id, – within a context. Assign id, initialise and execute.initialise and execute.

runrun ccloningloning – identical copy in the same – identical copy in the same

contextcontext. Different id and execution . Different id and execution threadthread

ddispatchingispatching – move from one context – move from one context to another where execution will re-to another where execution will re-start (i.e. threads do not migrate)start (i.e. threads do not migrate)

rretractionetraction – pull from current context – pull from current context and insert into the context from which and insert into the context from which retractionretraction was requested was requested

Page 40: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

The Aglet ModelThe Aglet Model activation & deactivationactivation & deactivation – –

temporary halt and store in temporary halt and store in secondary storagesecondary storage

ddisposalisposal – halt execution and – halt execution and remove from current contextremove from current context

Event-based control via user-defined Event-based control via user-defined methods: onCreation, onDisposing, methods: onCreation, onDisposing, onCloning, onDispatching, onCloning, onDispatching, onReverting, onArrival, onActivation, onReverting, onArrival, onActivation, onDeactivating,… onDeactivating,…

Messaging between aglets: messaging via Messaging between aglets: messaging via proxy, a message invokes a methodproxy, a message invokes a method

Page 41: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Several Other Several Other ToolkitsToolkits

Gossip - TryllianGossip - Tryllian Grasshopper – IKV++ TechnologiesGrasshopper – IKV++ Technologies D’Agents - D’Agents - Dartmouth University Dartmouth University Voyager - ObjectSpaceVoyager - ObjectSpace MOA - Mobile Objects and Agents - MOA - Mobile Objects and Agents - The Open The Open

Group Research InstituteGroup Research Institute Concordia - Concordia - Mitsubishi Electric LabMitsubishi Electric Lab JSeal, Gypsy, Gossip – Many, many more…JSeal, Gypsy, Gossip – Many, many more…

Page 42: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Why Mobile Agents for Why Mobile Agents for Ubiquitous EnvironmentsUbiquitous Environments

The Metaphor of an AgentThe Metaphor of an Agent

Mobility, Frequent Disconnections and Resource LimitationsMobility, Frequent Disconnections and Resource Limitations Dynamic environment: computational resources, battery Dynamic environment: computational resources, battery

power, memory, bandwidth (with frequent disconnections) power, memory, bandwidth (with frequent disconnections) limitedlimited and and varyingvarying for the for the same computersame computer and and across across computers; computers; set of computers in a domain set of computers in a domain varyingvarying

move/off-load (multiple) computations to other sites (e.g., move/off-load (multiple) computations to other sites (e.g., processing at database, Web and WAP servers): no need to processing at database, Web and WAP servers): no need to maintain connection, depleting resources, move to maintain connection, depleting resources, move to discovered resourcesdiscovered resources

software components only when and where needed: cope software components only when and where needed: cope with limited memory, zero-maintenance mobile computers, with limited memory, zero-maintenance mobile computers, different versions for different hardware characteristicsdifferent versions for different hardware characteristics

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

autonomy autonomy Trade-offs of intelligence vs. computational efficiencyTrade-offs of intelligence vs. computational efficiency

Page 43: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent Toolkits for Mobile Agent Toolkits for Ubiquitous EnvironmentsUbiquitous Environments

GrasshopperGrasshopper JADE-LeapJADE-Leap Mobile Agent Environment (MAE)Mobile Agent Environment (MAE) AbiMAAbiMA AgentFactory & WAYAgentFactory & WAY MyCampusMyCampus JAMJAM NuinNuin CALMACALMA

Page 44: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Mobile Agent Toolkits for Mobile Agent Toolkits for Ubiquitous EnvironmentsUbiquitous Environments

MSN Messenger 6.0.lnk

BDI/Intelligent

Agent

Mobile Agent

Context Awarenes

s

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: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

CALMA – Context-Aware Light CALMA – Context-Aware Light Weight Mobile BDI AgentsWeight Mobile BDI Agents

Page 46: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Agent Applications in Agent Applications in Ubiquitous EnvironmentsUbiquitous Environments

Ubiquitous Data AnalysisUbiquitous Data Analysis Interactions with Web Services or Web Interactions with Web Services or Web

ApplicationsApplications Delivering Services to Mobile UsersDelivering Services to Mobile Users User’s service environment can follow User’s service environment can follow

user’s mobile device (e.g., VHE, user’s mobile device (e.g., VHE, NetChaser)NetChaser)

Agents move to mobile devices to perform Agents move to mobile devices to perform tasks (e.g., monitor and gather information tasks (e.g., monitor and gather information from deployed mobile devices)from deployed mobile devices)

Page 47: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Other Mobile Agent Other Mobile Agent ApplicationsApplications WWW Information Retrieval WWW Information Retrieval Electronic MarketplacesElectronic Marketplaces DDistributed Data Intensive istributed Data Intensive

ApplicationsApplications SSpace pace PPresence resence Others – Network Management, Others – Network Management,

Distributed Database AccessDistributed Database Access

Page 48: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Current Areas of WorkCurrent Areas of Work

mobile agent theories: Pi-calculus extensions, Mobile mobile agent theories: Pi-calculus extensions, Mobile Ambients, Agent ItinerariesAmbients, Agent Itineraries

mobile agent model: some component-based, AI-mobile agent model: some component-based, AI-basedbased

mobile agent infrastructure: environment supporting mobile agent infrastructure: environment supporting mobile agents - security, naming, domain crossing, mobile agents - security, naming, domain crossing, etcetc

mobile agent programming: languages, toolkits, mobile agent programming: languages, toolkits, abstractions abstractions

mobile agent applications: mobile agent standards: mobile agent applications: mobile agent standards: OMG’s MASIF, FIPAOMG’s MASIF, FIPA

Page 49: Agents & Mobile Agents Introduction – Agents & Mobile Agents1

Research IssuesResearch Issues Security: protect host from agents, protect Security: protect host from agents, protect

agents from agents, agents from agents, protect agents from hostprotect agents from host Performance: if Java or Python, performance Performance: if Java or Python, performance

penalities with interpretation (esp. for penalities with interpretation (esp. for performance critical applications), but performance critical applications), but not for not for long?long?

Strong mobility: move full execution state (stacks Strong mobility: move full execution state (stacks etc), stacks not accessible with current Java?etc), stacks not accessible with current Java?

MA management: MA management: how control and manage deployed agentshow control and manage deployed agents issues: fault tolerance (e.g., agent fails, host issues: fault tolerance (e.g., agent fails, host

fails), recalling agents, tracking agents, fails), recalling agents, tracking agents, servicing agents (esp. longer living agents) servicing agents (esp. longer living agents)