reasons for migrating code
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
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.
2
Models for Code Migration
Alternatives for code migration.
Transfer only the code, with initialization data
Executable segment can be transferred Example, applet
3
Migration and Local Resources
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
Unattached Fastened Fixed
By identifier
By value
By type
MV (or GR)
CP ( or MV, GR)
RB (or GR, CP)
GR (or MV)
GR (or CP)
RB (or GR, CP)
GR
GR
RB (or GR)
Resource-to machine binding
Process-to-resource
binding
example, files
Example, database and complete web
siteExample, device
4
Migration in Heterogeneous Systems
The principle of maintaining a migration stack to support migration of an execution segment in a heterogeneous environment
3-15
5
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.
6
Software Agents in Distributed Systems
Some important properties by which different types of agents can be distinguished.
PropertyCommon to all agents?
Description
Autonomous Yes Can act on its own
Reactive Yes Responds timely to changes in its environment
Proactive Yes Initiates actions that affects its environment
Communicative YesCan exchange information with users and other agents
Continuous No Has a relatively long lifespan
Mobile No Can migrate from one site to another
Adaptive No Capable of learning
7
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?
8
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
9
Agent Technology
The general model of an agent platform (adapted from [fipa98-mgt]).
Agent communication channel
10
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.
Message purpose Description Message Content
INFORM Inform that a given proposition is true Proposition
QUERY-IF Query whether a given proposition is true Proposition
QUERY-REF Query for a give object Expression
CFP Ask for a proposal Proposal specifics
PROPOSE Provide a proposal Proposal
ACCEPT-PROPOSAL Tell that a given proposal is accepted Proposal ID
REJECT-PROPOSAL Tell that a given proposal is rejected Proposal ID
REQUEST Request that an action be performed Action specification
SUBSCRIBE Subscribe to an information sourceReference to source
11
Agent Communication Languages (2)
A simple example of a FIPA ACL message sent between two agents using Prolog to express genealogy information.
Field Value
Purpose INFORM
Sender max@http://fanclub-beatrix.royalty-spotters.nl:7239
Receiver elke@iiop://royalty-watcher.uk:5623
Language Prolog
Ontology genealogy
Content female(beatrix),parent(beatrix,juliana,bernhard)
12
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
13
Issues in Agent-Based Systems
• Agent architecture
• Communication frameworks
• Control
• Coordination and cooperation
• Negotiation
• Reconfigurable/reusable agents