150 likes | 298 Views
Reasons for Migrating Code. The principle of dynamically configuring a client to communicate to a server. The client first fetches the necessary software, and then invokes the server. Models for Code Migration. Transfer only the code, with initialization data.
E N D
Reasons for Migrating Code • The principle of dynamically configuring a client to communicate to a server. The client first fetches the necessary software, and then invokes the server.
Models for Code Migration Transfer only the code, with initialization data Executable segment can be transferred Example, applet • Alternatives for code migration.
Migration and Local Resources Example, database and complete web site Example, device example, files Resource-to machine binding Process-to-resource binding Actions to be taken with respect to the references to local resources when migrating code to another machine ----- GR: establish a global system-wide reference MV: move the resource CP: copy the value of the resource RB: rebind processes to locally available resource
Migration in Heterogeneous Systems 3-15 • The principle of maintaining a migration stack to support migration of an execution segment in a heterogeneous environment
Software Agents • Definition: an autonomous process capable of reacting to, and initiating changes in, its environment, possibly in collaboration with users and other agents. • Collaborative agent: agent that forms part of a multi-agent system, in which agents seek to achieve some common goal through collaboration • Mobile agent: agent having the capability to move between different machines. • Interface agent: agent that assists an end user in the use of one or more applications. • (learning) • Information agent: agent that manages information from different sources.
Software Agents in Distributed Systems • Some important properties by which different types of agents can be distinguished.
Challenges in agent systems • How can the inherent interdependence between agents be managed efficiently? • Common goals: how to interact through communication, negotiation, coordination, and organizational division of jobs and responsibilities • No common goals: manage and minimize the negative effects of the inherent independence • What type of agent control and organization structure is appropriate: centralized? distributed? • Depends on constraints of the environment, the task, the agent • What protocol/language should be used as a common base for communication? • What capabilities should the agent be given? • Intelligence?
What should be modeled as an Agent • To take advantage of distributed computing resources • To coordinate teams of interacting robots • To increase system robustness • To assist humans • To model communities of interacting experts • To simplify modeling of complex processes • To model processes that are normally conducted by multiple agents
Agent Technology Agent communication channel • The general model of an agent platform (adapted from [fipa98-mgt]).
Agent Communication Languages (1) • Examples of different message types in the FIPA ACL [fipa98-acl], giving the purpose of a message, along with the description of the actual message content.
Agent Communication Languages (2) • A simple example of a FIPA ACL message sent between two agents using Prolog to express genealogy information.
Applications for Agents • Communities of cooperating robots • Web-based agents, electronic personal assistants • Agents in entertainment • Interactive agents with roles and personalities • Modeling economic and business practice • Monitoring agents • Patient, satellite, … • Group decision making and problem solving • Concurrent engineering: design and manufacturing • Intelligent design assistant • Decision-making support: military logistics, command, control • Filtering information, generate plan alternatives, replan when circumstances change, assess hypotheses based on uncertain data
Issues in Agent-Based Systems • Agent architecture • Communication frameworks • Control • Coordination and cooperation • Negotiation • Reconfigurable/reusable agents