reasons for migrating code

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

Upload: cora-schroeder

Post on 30-Dec-2015

122 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Reasons for Migrating Code

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.

Page 2: Reasons for Migrating Code

2

Models for Code Migration

Alternatives for code migration.

Transfer only the code, with initialization data

Executable segment can be transferred Example, applet

Page 3: Reasons for Migrating Code

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

Page 4: Reasons for Migrating Code

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

Page 5: Reasons for Migrating Code

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.

Page 6: Reasons for Migrating Code

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

Page 7: Reasons for Migrating Code

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?

Page 8: Reasons for Migrating Code

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

Page 9: Reasons for Migrating Code

9

Agent Technology

The general model of an agent platform (adapted from [fipa98-mgt]).

Agent communication channel

Page 10: Reasons for Migrating Code

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

Page 11: Reasons for Migrating Code

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)

Page 12: Reasons for Migrating Code

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

Page 13: Reasons for Migrating Code

13

Issues in Agent-Based Systems

• Agent architecture

• Communication frameworks

• Control

• Coordination and cooperation

• Negotiation

• Reconfigurable/reusable agents