software agent -communication-. outline overview speech act theory agent communication languages...

36
Software Agent -communication-

Post on 19-Dec-2015

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Software Agent-communication-

Page 2: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Outline

• Overview

• Speech act theory

• Agent communication languages

• Summary

2/35

Page 3: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Example: Personal Assistant Agent (PA)

• Task: organize an evening with Heikki

• What is needed?– Participants’ calendar info– Info about restaurants, pubs, etc.– Weather forecast

Multi-agent System

3/35

Page 4: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Example: Organizing Evening (1)

Calendar

PAA

DA

Who takes care of Heikki’s Calendar?

It is HCA and address is http:…; MTP is…; Presentation is …; CL is…; Ontology is …; …

HCA

Give me Heikki’s free evenings in this week?

Heikki is free on Tuesday and Friday evening

4/35

Page 5: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Example: Organizing Evening (2)

Calendar

PAA

HCA

I want to book Friday evening

Tuesday evening booked

No, I don’t want to book Friday evening

I want to book Tuesday evening

5/35

Page 6: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Example: Sending a Message to an Agent

Allocate time from Heikki’s calendar

Find out Heikki’s calendar agent

Who takes care of Heikki’s Calendar?

To: DF@HAP Query Heikki Calendar Ser-vice

6/35

Page 7: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Layered Model

7/35

Page 8: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Agent Communication Language

• Definition– An agent communication language (ACL) allows agents to communicate with each

other about their positions and actions– An agents communication language (ACL) provides agents with a means of ex-

changing information and knowledge

• Earlier attempts at seamless exchange of information and knowledge between applications

– e.g. Remote Procedure Calls, Remote Method Invocation, CORBA

• Differences between the above and ACLs are– Semantic complexity– ACLs can handle propositions, rules and actions instead of simple objects with no

semantics associated with them– An ACL message describes a desired state in a declarative language, rather than a

procedure or a method

8/35

Page 9: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Agent Communication

• Agents have conversations (as opposed to exchange single mes-sages), e.g.

– Task-oriented– Negotiations

• A higher level conceptualization of an agent’s strategies drive an agent’s communicative behavior

• Message type of agents : Speech acts

9/35

Page 10: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Speech Acts (1)

• Communication in MAS is inspired by speech act theory

• Speech act theories are pragmatic theories of language– They attempt to account for how language is used by people every day to achieve

their goals and intentions– The origin of speech act theories are usually traced to the work of the philosopher

John Austin• Austin noticed that some utterances are like ”physical actions” that appear to change the

state of the world. e.g.– Declaring war– ”I now pronounce you man and wife”

• In general, every thing we utter is uttered with the intention of satisfying some goal or in-tention

– A theory of how utterances are used to achieve intentions is a speech act theory

10/35

Page 11: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Speech Acts (2)

• Austin distinguished 3 different aspects of speech acts:– Locutionary act - act of making an utterance

• e.g. saying ”please make some tea” ’– Illocutionary act – action performed in saying something

• e.g. he requested me to make some tea– Perlocution – effect of the act

• e.g. he got me to make tea

• Searle identified 5 different types of speech acts:

Speech Act Type Description and Example

Representatives or AssertivesInforming

e.g. ”It is raining”.

DirectivesSpeaker tries to make the hearer do something

e.g. ”Please close the window”

CommisivesCommits the speaker to future action

e.g. ”I will close the window”

ExpressivesSpeaker expresses a mental statee.g. ”Excuse me”, ”congratulations”

DeclarativesEffect some changes

e.g. ”I name this city Trondheim”

11/35

Page 12: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Speech Acts (3)

• In general, speech acts can be seen to have 2 components:– A performative verb

• e.g. Request, inform– Propositional content

• e.g. ”the window is closed”

Speech Act Please close the door The door is closed Is the door closed?

Performative request inform inquire

Content the door is closed the door is closed the door is closed

12/35

Page 13: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Speech Acts (4)

• How does one define the semantics of speech acts? When can one say someone has uttered, e.g. a request or an inform?

• How can the properties of speech acts be represented such that planning systems could reason about them?

• Speech acts are treated as physical actions– Actions are characterised via preconditions and postconditions– Semantics for request: request(s,h,)

• Pre:– s believes h can do

(you don’t ask someone to do something unless you think that they can do it)– s believes h believes h can do

(you don’t ask someone unless they believe they can do it)– s believes s wants

(you don’t ask someone unless you want it!)

• Post:– h believes s believes s wants

(the effect is to make them aware of your desire)

13/35

Page 14: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Agent Communication Language (ACL)

• ACLs allow agents to effectively communicate and exchange knowledge with other agents

• Three important aspects– Syntax: How the symbols of

communication are structured– Semantics: What the symbols denote– Pragmatics: How the symbols are

interpreted

Agenti Agentj

Convert to transport

form

Convert to transport

form

Message delivery/transportation service

Goal G

Intent I

Perform-ative

Message

(Meaning is a combination of

semantics and pragmatics)

14/35

Page 15: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Communication Levels

• Requirements for an ACL– Syntactic translation between

languages– Semantic content preservation

among applications• The concept must have a uniform

meaning across applications.– Ability to communicate complex

attitudes about their information and knowledge.

• Agents need to question, request, etc.

• Not about transporting bits and bytes.

Syntax

Format of information being transferred

Semantics

Meaning of the information

Communication

Method of interconnection

15/35

Page 16: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Origins of ACLs

• Knowledge Sharing Effort (KSE), funded by ARPA– Central concept: knowledge sharing requires communication, which in turn requires

a common language. KSE focused on defining that common language

• KQML: Knowledge Query and Manipulation Language– Language for both message formatting and message handling protocols

• KIF: Knowledge Interchange Format– Language for expressing message content

16/35

Page 17: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

KIF

• Creation of a common language for expressing properties– Intended to express contents of a message; not the message itself– Based on first-order logic

• Using KIF, it’s possible to express:– Properties of things in a domain (e.g. Michael is a vegetarian)– Relationships between things in a domain (e.g. Michael and Janine are married)– General properties of a domain (e.g. Everybody has a mother)

• Example– Relation between 2 objects:

• The temperature of m1 is 83 Celsius:– (= (temperature m1) (scalar 83 Celsius))

– Definition of new concept:• An object is a bachelor if this object is a man and not married:

– (defrelation bachelor (?x) := (and (man ?x) (not (married ?x))))

– Relationship between individuals in the domain:• A person with the property of being a person also has the property of being a mammal:

– (defrelation (person ?x) :=> (mammal ?X))

17/35

Page 18: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

KQML: Overview

• An “outer language” that defines a set of performatives (communica-tive acts), such as ask, reply

• Performatives form the core of the language:– Determine the kinds of interactions one can have with KQML-speaking agents– Identify the protocol to be used to deliver the message– Signify that the content is an assertion, a query, a command or another speech act– Describe how the sender would like any reply to be delivered

CommunicationMechanics of communication, e.g. Sender, receiver.

Performatives (message layer)

Content of communication,e.g. a KIF expression

Content

Logic of communication, e.g. ask, tell.

e.g.

(ask-if :sender agenti

:receiver agentj

:language Prolog

:ontology genealogy

:content “spouse(adam, eve)”)

18/35

Page 19: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

KQML: Categories of Performatives

Category Performatives

Basic Query evaluate, ask-if, ask-one, ask-all, ask-about

Multi-response Query stream-about, stream-all

Response reply, sorry

Generic informational tell, achieve, cancel, untell

Generator standby, ready, next,rest, discard, generator

Capability-definition advertise, subscribe, monitor, import, export

Networking register, unregister, forward, broadcast, route

19/35

Page 20: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

KQML: Example

(evaluate:sender A : receiver B:language KIF: ontology motors:reply-with q1 :content (val (torque m1)))

(reply:sender B : receiver A:language KIF: ontology motors:in-reply-to q1 :content (= (torque m1) (scalar 12 kgf)))

(stream-about:sender A : receiver B:language KIF: ontology motors:reply-with q1 :content (m1)

(tell:sender B : receiver A:in-reply-to q1 :content (= (torque m1) (scalar 12 kgf)))

(tell:sender B : receiver A:in-reply-to q1 :content (= (status m1) (normal)))

(eos:sender B : receiver A:in-reply-to q1)

20/35

Page 21: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators

• KQML environments (may) contain facilitators that help make the communication protocol transparent

• Facilitators: a special class of agents that perform useful communica-tion services such as:

– Maintain registry of service names– Forward messages to named services– Routing messages based on content– Provide matchmaking between information providers and seekers– Provide mediation and translation services

21/35

Page 22: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators: Example (1)

A B

F

ask(X)

tell(X)

Point-to-point protocol

A is aware that it is appropriate

to send a query about X to B

There are several ways to

achieve this via a Facilitator.

22/35

Page 23: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators: Example (2)

A B

F

tell(X)

subscribe(ask(X)) tell(X) Using the subscribe performative

Request that Facilitator F monitor for

the truth of X. If B subsequently informs

F that it believes X to be true, then F

can in turn inform A

23/35

Page 24: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators: Example (3)

A B

Ftell(X) ask(X)

broker(ask(X))

advertise(ask(X))

tell(X)Using the broker performative

A Asks Facilitator to find another

agent which can process a given

performative

24/35

Page 25: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators: Example (4)

A B

Fask(X)

recruit(tell(X))

advertise(ask(X))

tell(X)

Using the rercruit performative

Asks Facilitator to find an appropriate

agent to which an embedded

performative can be forwarded. A

reply is returned directly to the original

agent

25/35

Page 26: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Facilitators: Example (5)

A B

Freply(B)

ask(X)

tell(X)

recommend(ask(X)) advertise(ask(X))

Using the recommend performative

Asks Facilitator to respond with the

”name” of another agent which is

appropriate for sending a particular

performative.

26/35

Page 27: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Discussion on KQML

• Weak semantics of performatives – Different implementations of KQML could not interoperate

• Transportation mechanisms were not defined

• Lacked the class of performatives: commissives– Difficult to implement multi-agent scenarios without commissives

• Set of performatives was large and ad hoc– Recently, more efforts have been made to provide formal semantics in terms of

preconditions, postconditions and completion conditions (ref: Labrou et. al., 1999.)

27/35

Page 28: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA

• The Foundation for Intelligent Physical Agents (FIPA) is a non-profit association

• FIPA’s purpose is to promote the success of emerging agent-based applications, services and equipment

• FIPA operates through the open international collaboration of member organizations: companies, universities and government organizations

28/35

Page 29: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA ACL (1)

• Basic structure is quite similar to KQML:– Performative (communicative act)

• 20 performatives in FIPA ACL– Housekeeping

• e.g. Sender– Content

• the actual content of the message

• Message structure (Envelope):– Comprises of a collection of parameters– Contains at least the mandatory to and sender pa-

rameters

• Example FIPA ACL message

Envelope(transport information)

Message body(ACL message)

(inform:sender agentA:receiver agentB:content (price good200 150):language sl:ontology hpl-auction

)

29/35

Page 30: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA ACL (2)

• Inform and request– Inform and Request are the two basic performatives in FIPA ACL. All others are

macro definitions, defined in terms of these– The meaning of inform and request are defined in 2 parts:

• Precondition: What must be true in order for the speech act to succeed• Rational effect: What the sender of the message hopes to bring about

Inform Request

Content statement action

Precondition •Holds that the content is true.

•Intends that the recipient believe the content

•Does not already believe that the recipient is aware whether content is true or not

•Intends action content to be performed

•Believes recipient is capable of performing this action•Does not believe that sender already intends to perform action

30/35

Page 31: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA Message Transport Model

Agent Platform

Agent Communication Channel

Agent A Agent Platform

Agent Communication Channel

Agent B

Message Transport Protocol

ACL message sentover the Message Transport Service

31/35

Page 32: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA Sending Messages

• 3 options– Via local ACC– Via remote ACC– Direct communication mechanism

Agent Platform

Agent Communication Channel

Agent A Agent Platform

Agent Communication Channel

Agent B

1 1&21

2

3

32/35

Page 33: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA Agent Interaction Protocol (1)

• Ongoing conversations between agents fall into typical patterns. In such cases, certain message sequences are expected, and at any point in the conversation, other messages are expected to follow.

– These typical patterns of message exchange are called protocols

(request :sender A:receiver B:content some-act:protocol fipa-contract-net

)

reject-proposalreason

Not-understood refusereason

proposepreconditions2

cfp actionpreconditions1

accept-proposalproposal

failurereason

informDone(action)

cancelreason

Deadline for proposals

Manager cancelsthe contract

due to a change

manager

Potential contractors

33/35

Page 34: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

FIPA Agent Interaction Protocol (2)

Potential contractors

Manager

cfp

refuse

not-understood

propose

reject-proposal

accept-proposal

cancel

inform

deadline

34/35

Page 35: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Comparison between KQML & FIPA ACL

• Similarities:– Separation of the outer language (performative) and the inner language (content).– Allows for any content language

• Differences– Communication primitives:

• KQML – performative• FIPA ACL – communicative act

– Different semantic frameworks – impossible to come up with an exact mapping or transformation between KQML and FIPA performatives

– KQML provides facilitator services; FIPA ACL does not

35/35

Page 36: Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35

Summary

• Agent communication– Speech act theory– Agent communication languages

• Open issues– How do we verify whether an agent complies with the semantic definition?

• E.g. If an agent sends a message ( say inform Ф), how do we know whether the agent be-lieve Ф or not

– Is sincerity a tall-order for agent society?• E.g negotiation

– Can we specify semantics without a context?• E.g. Query If in an oral examination setting• We need a context (protocol)

• Next lecture: Application & review

36/35