Processes

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.
1
Models for Code Migration
Transfer only the code,
with initialization data
Executable segment can
be transferred
Example, applet
Alternatives for code migration.
2
Migration and Local Resources
example, files
Resource-to machine binding
Process-to- By identifier
resource By value
binding By type
Example,
database and
Example,
device
complete
web
site
Unattached
Fastened
Fixed
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)
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
3
Migration in Heterogeneous Systems
3-15
The principle of maintaining a migration stack to support migration of
an execution segment in a heterogeneous environment
4
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.
5
Software Agents in Distributed Systems
Property
Common 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
Yes
Can 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
Some important properties by which different types of agents
can be distinguished.
6
Challenges in agent systems
•
How can the inherent interdependence between agents be
managed efficiently?


•
What type of agent control and organization structure is
appropriate: centralized? distributed?

•
•
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
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?
7
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
8
Agent Technology
Agent communication
channel
The general model of an agent platform (adapted from [fipa98-mgt]).
9
Agent Communication Languages (1)
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 source
Reference to
source
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.
10
Agent Communication Languages (2)
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)
A simple example of a FIPA ACL message sent between two agents
using Prolog to express genealogy information.
11
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
12
Issues in Agent-Based Systems
•
•
•
•
•
•
Agent architecture
Communication frameworks
Control
Coordination and cooperation
Negotiation
Reconfigurable/reusable agents
13