Software Agents Research at SICS

62
1 Software Agents Research at SICS Seif Haridi SICS

description

Software Agents Research at SICS. Seif Haridi SICS. What is an agent ?. An agent is a powerful and ubiquitous abstraction in computer science Daemons (e.g. ftp agent) User interface clients (e.g. mail agent) Physical agents (e.g. robotics) Believable agents (e.g. VR and graphics) - PowerPoint PPT Presentation

Transcript of Software Agents Research at SICS

Page 1: Software Agents Research at SICS

1

Software Agents Research at SICS

Seif Haridi

SICS

Page 2: Software Agents Research at SICS

2

What is an agent ?

An agent is a powerful and ubiquitous abstraction in computer science– Daemons (e.g. ftp agent)– User interface clients (e.g. mail agent)– Physical agents (e.g. robotics)– Believable agents (e.g. VR and graphics)– Intelligent software agents

Page 3: Software Agents Research at SICS

3

What is a software agent?

User-facing agents

– Intelligent human-computer interface agents

– Adaptive user modeling agents Personal (expert) assistants

– e.g. personal retrieval agents Mobile software technology Cooperating software agents

– Resource discovery agents

– Mediators and facilitators

– Market agents

We can identify some sub-categories

Page 4: Software Agents Research at SICS

4

So, what’s a software agent?

There isn’t a consensus yet, but several key concepts are important to this emerging paradigm

A software agent:– is an autonomous, goal-directed process– is situated in, is aware of, and reacts to its

environment– cooperates with other agents (software or

human) to accomplish its tasks

Page 5: Software Agents Research at SICS

5

An emerging system-building paradigm (with hype)

agents

DistributedSystems

InformationRetrieval

MobileProcesses

AI & CognitiveScience

Database &Knowledge base

Technology

MachineLearning

StructuredProgramming1975

Objects1982

Agents1997

Page 6: Software Agents Research at SICS

6

Why another paradigm?

Because it addresses current issues– Fully distributed and heterogeneous

» provides inherent scalability

– Proactive as well as reactive» agents generalize client-server

– Adaptable and evolvable» through interoperability and learning

– Easier for us to model and understand» by taking an “intentional stance”

– Scales over many orders of magnitude

Page 7: Software Agents Research at SICS

7

Software Agent Characteristics

Cooperation

Autonomy Adaptation

Adaptation: agents adapt to their environments and users and learn from experience.

Cooperation: agents use standard languages & protocols to cooperate and collaborate to achieve common goals.

Autonomy: agents act autonomously to pursue their agenda.

Mobility? a mobile agent is a process that migrate from machine to machine under its own control.

Page 8: Software Agents Research at SICS

8

Agents Characteristics:Adaptation

Achieved:

– Via machine learning, knowledge discovery, statistical techniques, etc.

– Via communication through exchange of metadata, brokering, and facilitation.

Interface agents acquire and use user models. Adaptation requires agents to be situated and aware of

their environments.

Page 9: Software Agents Research at SICS

9

Cooperation

Agents cooperate with human agents and other software agents.

Supported by agent communication languages and protocols.

Consistent with human conventions and intuitions. Toward team formation and agents ensembles. Another approach is collection of selfish agents that

compete through market mechanisms. Cooperation is an indirect emergent property that results in near-optimal utilization of system resources.

Page 10: Software Agents Research at SICS

10

Autonomy

Proactive and reactive Goal directed behavior Appropriately long-lived Multi-threaded behavior

Page 11: Software Agents Research at SICS

11

Agents vs. Intelligent Agents

A: The size of the price tag. More seriously …

– The paradigm covers agents of varying degrees of intelligence

– Intelligent agents will tend to:» know and apply more sophisticated domain knowledge

» have recognizable goals and intentions (plans to satisfy goals)

» react to unexpected situations in a robust way

» etc.

Software agents techniques and architectures apply to agents of little or no intelligence.

What makes an agent an “intelligent agents”?

Page 12: Software Agents Research at SICS

12

Agent-Based Systems

An agent-based system is a system where critical componentsare realized as agents.

Suitable when:• Problem domain is open

– Changing environment, changing requirements• Problem domain is physically distributed• Problem domain is partitioned across organizations• Data, control and resources are distributed• Technology is heterogeneous

Page 13: Software Agents Research at SICS

13

Single Agent vs. MAS

Some research focuses on developing sophisticated individual agents with advanced capabilities.

SICS as well as others focus on multi-agent systems (MAS).

MAS research is particularly focused on

– Cooperation and collaboration

– Team and coalitions formation

– Information sharing among the teams

– Joint beliefs (knowledge about agents and the environment), goals and plans

Page 14: Software Agents Research at SICS

14

Agent ArchitecturesBeyond client-server

Think of your role in human society. Are you a client or a server?

Mobile agents go beyond C/S by enabling clients to distribute computations to servers and vice-versa.

Communicating agents generalize the C/S model since sometimes an agent acts as a client and sometimes as a server.

Information sources are active components.

Agent architectures generalizes the client-server architecturewhich has dominated the Internet since its beginning.

Page 15: Software Agents Research at SICS

15

Mediated Architecturesmediates service requests and provisions

C

Clients

C

C

C

C

C

Server

Server

SoftwareObjects

SoftwareObjects

DataObjects

DataObjects

DataObjects

DataObjects

DataService

DataService

DataService

DataService

A

A

A

A

A

A

A

A

A

A

A

Agent infra-structure

Page 16: Software Agents Research at SICS

16

Agent and Services

A service is something that is required by an agent or someexternal party (e.g. the user)

A service can be provided by one or more agents (cooperativelyor independently)

A service can be delivered entirely by an agent, or it may be be suitable/necessary to enroll a “team” of agentsto deliver the service.

Page 17: Software Agents Research at SICS

17

Agent Markets

Yet another architectural view is as a decentralized market or swarm.

Key idea -- the parallel, autonomous actions of a large collection of individual agents results in emergent behavior of the collective.

Think of human society where a market view results in a smooth flow of goods from producers to consumers without centralized coordination.

Society defines and supervises only the rules of the market.

Page 18: Software Agents Research at SICS

18

Agent Communication

Hypothesis: Agent-agent communication is the key to realizing the potential of this new paradigm just as the development of human language was the key to developing intelligent human societies.

Agents use a common Agent Communication Language to communicate information, desires (request), and knowledge.

One concrete definition is “A software agent is any system which uses an ACL to exchange information”

Page 19: Software Agents Research at SICS

19

Example: Knowledge Sharing Effort

ACL consists of

– High level interaction language KQML (Knowledge and Query Manipulation Languages) of different message types which is domain independent (ask, tell, reply, subscribe, achieve,…)

– A content language described by its syntax (KIF Knowledge Interchange Format) and meaning of the content (Ontology)

– Ontology defines shared vocabulary

Page 20: Software Agents Research at SICS

20

KQML

Knowledge Query and Manipulation Language (KQML) - language for expressing messages (performatives) - based on speech-act theory - Lisp-like notation with parameter-value pairs

(ask_one :content (price ’VCR34 ?GBP) :in_reply_to nil :language KIF :ontology economy :receiver info@store :reply_with video_query1 :sender 82@ACA)

Performative name: ask_one, ask_all, tell, achieve… the sender’s intention/attitudeContent the informational expressionLanguage in which the content is expressed

Page 21: Software Agents Research at SICS

21

Facilitation Services

Facilitators are a class of agents who

– traffic in meta-knowledge about other agents

– provide communication services such as:

– message forwarding and broadcasting

– resource discovery

– matchmaking

– content-based routing

– meta-knowledge queries Performatives of special interest:

– advertise, broker, recruit, recommend, forward, broadcast

Page 22: Software Agents Research at SICS

22

What about Standards?

• Main (proposed) standards has been about message formats. E.g.:

• KQML, from the Knowledge Sharing Effort• ACL, from Foundation of Intelligent Physical Agents (FIPA)

• Likewise work on the content language E.g.:

• KIF, from the Knowledge Sharing Effort• ACL, from FIPA

• Initiated work on dialogue model (dialogue protocols)• FIPA work

• Initiated work on agent management• FIPA work

Page 23: Software Agents Research at SICS

23

What SICS is doing?

Working on a number of applications designed around the mentioned conceptual agent architectures.

Designing several experimental agent platforms. Doing research on various agent-specific issues:

– Agent communication languages

– Negotiation protocols

– Adaptive agents

– Market mechanisms

– Mobile Agents

– Agent programming languages

Page 24: Software Agents Research at SICS

24

Mediated Architecture: KIMSAC

• Kiosk-Based Integrated Multi-media Service Access for Citizens• European cooperative project - ACTS programme• Broadcom (IE), CAP SESA Telecom (F), CSELT (I),

Digital (IE), FAS (IE), Imperial College (UK), SICS (SE), Social Welfare Services (IE), TelTec (IE), Trinity College (IE)

• Providing personalized information services to the public• Job search for the unemployed - FAS• Social benefits - SWS

• Intelligent agents provide services and aid the user• Multimedia is deployed to improve communication with the user• Open Service Architecture!

Page 25: Software Agents Research at SICS

25

The major components

Kiosk/PC

CommunicationNetwork

Job search

Social Benefits

Databasesearch

Social Benefits

Social Benefits

Job searchJob search

Databaseservice

Kiosk/PCKiosk/PCKiosk/PCKiosk/PC

Video Conference

Video Conference

Video ClipVideo Clip

Page 26: Software Agents Research at SICS

26

The Multi-media Flow

MultimediaPresentation

System

AssetManager

AssetTemplates

ServiceAgent

PresentationMediator

(1)

(2)(3)

(4)

(5)(6)

1. Request for a task to be performed2. Request for multi-media asset3. Binding dialogue4. Delivery of bound asset (short)5. Delivery of bound asset (short)6. Delivery of asset creation request

Page 27: Software Agents Research at SICS

27

An Agent Community

MultimediaPresentation

System AgentAsset

Manager

ServiceAgent

PresentationMediator

DB Agent

DomainAgent

OntologyServer

AgentMaker

Facilitator

VideoClip

VideoConf

ClientVerifier

ServiceAgentServiceAgent

Page 28: Software Agents Research at SICS

28

Kimsac Agent Types

• Asset Manager: extend an asset template with bindings• Ontology Server: provide canonical ontology definitions• Domain Agent: provide, manage and control shared data

about its domain• Video Clip Manager: act as customer towards the Video Clip Server• Video Conference Manager: act as customer towards the Video Conference Server• Presentation System Mediator: translate asset creation requests

to executable creation script• Job Search Agent: find jobs matching the user profile• Social Benefit Agent: find benefits which the user is entitled to

Page 29: Software Agents Research at SICS

29

Kimsac Agent Types (cont.)

• SQL info provider: translates KIF data queries to SQL queries• SWS info provider: translates KIF queries to proprietary

database queries• Meta-service manager (holistic agent): enrolls service agents

in a client session• Client verifier: verifies client identity based on magnetic

stripe card and pin number. Delivers key for data access• Adaptivity Agent: offers help&guidance to the user based on current dialogue state and user profile• Multi-kiosk manager: creates and supervises the agent societies supporting kiosks

Page 30: Software Agents Research at SICS

30

The implementation platform

• LAE - “Local Agent Environment”• Related to but different from AgentBase!• A platform for Prolog-encoded agents • Support a multitude of message formats, protocols, transport

mechanisms, external devices… via “plugins”• Provides services to agents inside the environment:

• transparent message sending/receiving• transparent message format translations• dynamic agent management• management of shared belief databases• event model subsuming both external and internal “happenings”• support for situation-dependent mapping of events to actions

Page 31: Software Agents Research at SICS

31

LAE structure

LAE

Mandatoryservices

Optionalservices

“plugin”services

“plugin”services

“plugin”services

LAEAgent

SystemAgentSystemAgent

AgentAgent

AgentAgent

Agents

Non-agents

Domain independent. E.g. facilitators

Domain dependent

Page 32: Software Agents Research at SICS

32

Implementations of Agents

MultimediaPresentation

System AgentAsset

Manager

ServiceAgent

PresentationMediator

DB Agent

DomainAgent

OntologyServer

AgentMaker

Facilitator

VideoClip

VideoConf

ClientVerifier

ServiceAgentServiceAgent

Agents in the LAE

ASL(ASL = Agent Services Layer. A CORBA-based KQML message transport system.)

Page 33: Software Agents Research at SICS

33

A set of communities

AssetManager

ServiceAgent

PresentationMediator

DomainAgent

OntologyServer

AgentMaker

Facilitator

ServiceAgentServiceAgent

AssetManager

ServiceAgent

PresentationMediator

DomainAgent

OntologyServer

AgentMaker

Facilitator

ServiceAgentServiceAgent

AssetManager

ServiceAgent

PresentationMediator

DomainAgent

OntologyServer

AgentMaker

Facilitator

ServiceAgentServiceAgent

For kiosk 1

For kiosk 2

For kiosk 3

Page 34: Software Agents Research at SICS

34

Facilitator

• Facilitator is an agent• acts as a match-maker (“yellow pages”)• making agents accessible to each other• based on declared competencies (services offered)• and required competencies (services required)

•Two main services offered:• registration and advertisement• recommendations

Page 35: Software Agents Research at SICS

35

Registration

• Agent register with facilitator on creation• Registration announces the address to the facilitator• Establishes the existence of the agent as a member

of the community

Page 36: Software Agents Research at SICS

36

Advertisements

• Advertise the capabilities in terms of services offered(messages delivering services)

• Standard (default) advertisements that are agent-type dependent

default_advertisements([[tell, job_data(_Sel, _Res), 'kif-1', jobs, KId], [tell, client_data(_Id, _Data), 'kif-1', welfare, KId]]) :-

get('kiosk id'(KId)) &

• Instance-specific advertisements

advertise([[tell, euro_job_data(_Sel, _Res) 'kif-1', jobs, k96]])&

• Core properties of this format:[PerfName, Content, Language, Ontology, KioskId]

Page 37: Software Agents Research at SICS

37

Agent Recommendations

• The acquaintances of an agent A: the agents that A can send messages to= the agents that A knows the address of

• Get addresses from facilitator• through recommendation• referring to a competence description:

get('kiosk id'(KId)),

recommend_one([tell, client_data(_Id, _Data), 'kif-1', welfare, KId], MsgId), • Reply provides the contact address of a matching agent• Agent’s private address-book:

set_contact_address(info_store, ClientInfoAgent),

Page 38: Software Agents Research at SICS

38

MarketSpace

• Electronic commerce on the web• Instead of manually surfing the web,

use agents to find matching offersand negotiate a deal.

• Agents in seller and/or buyer roles• Acting on behalf of their owner/user• Each agent knows its user’s eoi, “expression of interest”• An eoi is a set of potential deals• An agent can communicate with other agents to determine whether

they have matching offers/requirements• They can enter negotiation when they have a common interest• They can “conclude a deal”

Page 39: Software Agents Research at SICS

Scope of this work

A contract is signed

advertisesearch

negotiateorder

Page 40: Software Agents Research at SICS

Information - contracts & interests

The goal of participants in a market is to close deals.

Basic information unit is the contract, a structured document.

Interests are sets of possibly interesting contracts.

Contract-3Seller Joakim Eriksson

Buyer Niclas Finne

Goods Refrigerator

Make Electrolux

Price 300 USD

Date Dec 10 1997

WhiteColor

ER3117BModel

signatures

Page 41: Software Agents Research at SICS

Interaction Message types

Noncommitting ask(A, B, eoi) -

give me a matching interest

tell(A, B, eoi) -this is an interest

negotiate(A, B, eoi) -send me an offer

Committing offer(A, B, eoi) -

this is an offer accept(A, B) -

your offer is accepted decline(A, B) -

you are released from your offer

• Message types for: Advertisement, Searching, Negotiation, and Closing of Deals

Page 42: Software Agents Research at SICS

Example interaction

ask(A, D, ”Want to buy a refrigerator”) tell(D, A, ”B and C”) negotiate(A, B, ”Want to buy a refrigerator”) negotiate(A, C, ”Want to buy a refrigerator”) offer(B, A, ”Electrolux 3117B for $350”) offer(C, A, ”Electrolux 3117B for $300”) offer(A, B, ”C sells for $300”) offer(B, A, ”Electrolux 3117B for $300”) accept(A, B) decline(A, C)

Page 43: Software Agents Research at SICS

43

Transactions/Conversations - using sub-agents

ConversationHandlerAgents

Agent Manager

User Agent Other AgentsInterest directory

Match making

Buyer

Page 44: Software Agents Research at SICS

44

Conversations - indicating type

Contract-3Seller Joakim Eriksson

Buyer Niclas Finne

Goods Refrigerator

Make Electrolux

Price >200 USD

Date Dec 10 1997

WhiteColor

ER3117BModel

signatures

Agent MAP://ho.sics.se/joe/auc1

Conversation

Auction-7

Open to

Min. Inc.

Dec 24 1997

10 USD

Page 45: Software Agents Research at SICS

45

DB

Directory

ProductCatalog

User Screen

Store

OntologyManagerHandlerManager

WWW Site

Handler

MIF

MILHTTP

MAP

SMTP

Auc7

...

Active HandlersAgent Manager

Handler Repository

Interest &Knowledge

Auc7

Active Handlers

Web

Ontology

Manager

MIF

MIL

HTTP

MAP

SMTP

Auc7

Interest &Knowledge

Agent Manager

HandlerManage

r

Page 46: Software Agents Research at SICS

46

Summary

Automation of market interaction with agents

Interaction and Information models important

(MIL/MIF) (compare KQML/KIF)

Tight integration with Web

JavaBase - An agent toolkit in Java

Collaboration project with Swedish Telecom, Telia

Page 47: Software Agents Research at SICS

47

Market-based Co-ordination

Co-ordinate allocation of resources among potentially non-cooperative individuals

Domain: allocation of switching capacity in a network

34

28 5

18

Traffic modelfor A

A

Page 48: Software Agents Research at SICS

48

The actors

Competing network providers

Page 49: Software Agents Research at SICS

49

The actors

Competing network providers Customers at different levels (brokers, end

customers) trade capacity

A

Price for A:

buy: 35sell: 38last: 37

Buy!

Page 50: Software Agents Research at SICS

50

The actors

Competing network providers Customers at different levels (brokers, end

customers) trade capacity Traders act on behalf of “selfish” clients

Page 51: Software Agents Research at SICS

51

Practical goals

Reserve capacity along a chain of nodes Co-ordinate resources from multiple sources Quality-of-Service levels Dynamic reallocation Finding scarce resources/suggesting improvements

Page 52: Software Agents Research at SICS

52

Why Markets?

Markets are general coordination algorithms A market provides a quick, aggregated source of

information of the load on a node The information takes alternative paths into

account (in perfect markets) thereby is an automatic load balancing strategy

Page 53: Software Agents Research at SICS

53

The Experiment

Exchange/Bourse

Price for B:

buy: 25sell: 26last: 24

Price for A:

buy: 35sell: 38last: 37

Markets/order books

Markets/order books

GUI

Portfolio Orders Transactions

AgentsAgentsAgentsAgents

AgentsAgentsAgentsAgents

Page 54: Software Agents Research at SICS

54

Site distribution

Page 55: Software Agents Research at SICS

55

Simple Agent Behaviour

Announce fraction of needed vol. Re-evaluate often

Buyer: if no current offer, bid very lowor last price, else bid close to sell price

Seller: start with 50% marginal profit,decrease if not all was sold, else increase

Page 56: Software Agents Research at SICS

56

Complex orders

Combining resources and reselling them creates complex services

Combined transactions serializes trading:– Volvo + Ericsson < 600

We want trading to be asynchronous!

Page 57: Software Agents Research at SICS

57

Reducing risk

Creating a compound resource<=> exposure to risk

Selling first, selling the combined resource before buying component resources (components available for high price)

Buying first, buying components before selling: no body is willing to buy for ‘combined’ price

Hedge the risk with option contracts/futures Extra cost = risk premium How to measure “profitable strategies” and resulting

traffic pattern

Page 58: Software Agents Research at SICS

58

ConCall

• Edinfo project• Editor support for open adaptive information services• ConCall - providing customized information about conferences

and workshops• Users review calls, set up reminders, set up filters

of “buzzwords”• Calls reviewed in Netscape, reminders provided

via email or SMS

Page 59: Software Agents Research at SICS

59

ConCall Architecture

PSA

ReminderService

ConCallAgent

UserProfile

LoggingAgent

DatabaseServer

Page 60: Software Agents Research at SICS

60

Agents in ConCall

• PSA, Personal Service Assistant, helps the user toselect services

• Reminder Service reminds user about upcoming deadlines• User Profile maintains the user profile based on information

about user actions provided by ConCall• ConCall Agent provides the interface to the conference

call database, using profile data to screen the entries• Database Agent, a shared server, provides access to

available calls• Logging Agent stores information about events in the system

Page 61: Software Agents Research at SICS

61

ConCall implementation

• Agents implemented in AgentBase• The personal agents maintain information during

a session, and between sessions (persistence)• Agent communication through KQML messages,

with content as ground Prolog terms• User-to-agent interaction via applets

PSA and Reminder Service via private appletsUser Profile, ConCall and DataBase share one applet

Page 62: Software Agents Research at SICS

62

Other Project

Personal digital library– Individuals maintain personal libraries,

connected to an agent infra-structure– Recommender agents match users profiles and

find other papers that match users interest Network Management

– uses FIPA infra-structures to propose open network management architecture