170 likes | 314 Views
Processes. Chapter 3. Part IV Software Agents. Software Agents. There is a lot of controversy on what a software agent is Getting increasingly important in distributed systems. Broad Definition. A software agent is an autonomous process that can: React to and Initiate changes in
E N D
Processes Chapter 3 Part IV Software Agents
Software Agents • There is a lot of controversy on what a software agent is • Getting increasingly important in distributed systems
Broad Definition • A software agent is an autonomous process that can: • React to and • Initiatechanges in • its environment (possibly) by collaboration with other agents or users
Characterization of Agents - Collaborative • Multi-agent systems: a collection of agents that collaborate to a achieve a common goal • Collaborative agent: part of a multi-agent system • Cooperation and autonomy • Examples: • Agents for meeting arrangements • Agents for contract negotiation
Characterization of Agents - Mobile • Mobile agent: can move between different places • Mainly require strong mobility • Can also be useful with weak mobility • Examples: • Agents that travel to extract information • BOTs
Characterization of Agents - Interface • Interface agent: assists a user in the use of applications • Can learn through interaction with users • Examples: • Agents for contract negotiation • Agents for match-making
Characterization of Agents - Information • Information agent: manages information from different resources • Order, filter, can collate information • Examples: • email agent • Agents for monitoring Web sites
Software Agents in Distributed Systems • Some important properties by which different types of agents can be distinguished.
Agent Technology • Separate general (common) components between different agents into a separate layer • FIPA (Foundation for Intelligent Physical Agents) is working on such a generic model
FIPA agent platform • The general model of an agent platform (adapted from [fipa98-mgt]).
Management Component • Keeps track of agents • Provides facilities for managing agents: • Create • Delete • Lookup (naming and locating agents)
Directory Service • Yellow pages for agents: • Lookup agents by attributes • Can be accessed by remote agents (those sitting on a different platform)
Agent Communication Channel • Agents (mainly) communicate by messages • ACC looks after (inter-platform) communication between agents • Can be implemented as a communication server
Agent Communication Language • Agents communicate through an application-level communication protocol, called ACL • ACL separates the purpose and content of a messages
Purpose and Content of Messages • 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.
Application-Level Protocol • Agents must agree on an understanding of message purpose • Purpose of a message determines the reaction of the receiver
Example Message • A simple example of a FIPA ACL message sent between two agents using Prolog to express genealogy information.