View
327
Download
10
Tags:
Embed Size (px)
Citation preview
Agents & Agents & Mobile Mobile AgentsAgents
Introduction – Agents & Mobile AgentsIntroduction – Agents & Mobile Agents 11
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
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
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
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
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
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
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...
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, ...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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”
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
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.
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
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
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
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
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
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
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
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
IBM’s Aglet Mobile Agent IBM’s Aglet Mobile Agent SystemSystem
agletagletproxyproxyproxyproxy
agletagletcontext
agletagletproxyproxyproxyproxy
agletagletcontext engine host
user
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))
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
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
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…
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
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
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 √ √ √
CALMA – Context-Aware Light CALMA – Context-Aware Light Weight Mobile BDI AgentsWeight Mobile BDI Agents
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)
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
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
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)