www.monash.edu.au agent communication languages cse5610- intelligent software systems agent...

45
www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

Post on 20-Dec-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

Agent Communication Languages

CSE5610- Intelligent Software SystemsAgent Communication Languages

Page 2: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

2

Lecture Outline

• Agent Communication – Overview

• Ontologies

• KQML

• FIPA ACL

Page 3: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

3

Agent Communication

• Communication is a requirement for agent co-operation

• A collection of agents can achieve more than a single agent

Page 4: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

4

Agent Communication

• Agent to agent communication is the key to realizing the potential of the agent paradigm

• Analogy – Development of natural languages was the key to the development of human society and intelligence

• Agent Communication Language (ACL) - Language for agents to communicate and exchange information / knowledge

Page 5: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

5

ACL’s Vs the Rest

• ACL’s provide agents with a means for exchanging information and knowledge

• Other means of “seamless” exchange of information between processes..

• RPC

• RMI

• CORBA

• The goal has always been the same…

Page 6: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

6

ACL’s Vs the Rest

• ACL’s handle • Propositions• Rules• Actions

• Instead of simple objects with no semantics associated with them

• ACL messages describe a desired state in a declarative language

• Rather than a procedure or method

Page 7: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

7

The Ideal

• Agents exchange and share:

• Plans

• Goals

• Long-term strategies

• Experiences

Page 8: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

8

Technical Perspective

• Agents transport messages over a network using protocols such as SMTP, TCP/IP or HTTP

• An ACL defines the types of messages - the syntax and semantics – that agents can exchange

• Not mere exchange of single messages• Conversations

• Task-oriented shared sequence of messages for negotiations, auctions etc

Page 9: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

9

Speech Act Theory

• Messages in ACL’s are usually modeled after speech acts

• Speech Act Theory - Languages as Action (Austin)• A high level framework• Account for human communication• Speech is not just about uttering• Speakers perform speech acts:

• Assertions, Commands, Requests, Promises, Threats….

Page 10: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

10

Speech Act Theory

• Example: Shut the door• Locution: physical utterance with context.

• Who is the speaker ? • Which door ?• Who is the hearer ?

• Illocution: act of conveying intentions• Speaker wants hearer to shut the door

• Perlocutions: actions that occur as a result of the illocution• Hearer closes the door

Page 11: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

11

Agent Communication Languages

• ARPA Knowledge Sharing Effort (KSE)• ARPA – Advanced Research Projects Agency

• Other agencies – National Science Foundation, Air Force Office of Scientific Research, National Research Initiative, Industry and Academic Partners

• KQML – Knowledge Query Manipulation Language

• De facto ACL standard

• FIPL ACL• FIPA – Foundation for Intelligent Physical Agents

Page 12: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

12

Ontologies

• A common vocabulary and agreed upon meanings to describe a subject domain

• Systems which communicate and work together must share an ontology

• Implicit Ontotlogies – represented by procedures – unstated

• Explicit Ontologies • Declarative representation using a KR language

Page 13: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

13

Ontologies

• Conceptualisation• Underlying model of the domain in terms of

objects, attributes, relations• Vocabulary

• Assigning symbols/terms to refer to the attributes, objects and relations

• Axiomitisation • Encoding rules and constraints which capture

significant aspects of the domain

Page 14: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

14

Ontologies

• Two ontologies may• Be based on different conceptualizations• Be based on the same conceptualizations but use

different vocabularies• Differ in how much they attempt to axiomitize the

ontologies

• Example: • FRUIT: apple, lemon, orange• FRUIT: mango, banana• FRUIT: tropical, temperate

Page 15: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

15

Ontologies

• Several large ontologies

• Free

• Cyc – Original General Purpose Ontology

• WordNet – on-line lexical reference system

• World Fact Book – 5MB of KIF sentences

• UMLS – Unified Medical Language System

Page 16: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

16

Ontologies

• Ontology building tools• Ontolingua – language for building, publishing and sharing

ontologies• Web based interface to a server• Stanford university• Ontologies can be translated into a number of KR languages – KIF,

CLIPS, Prolog, Lisp

• BOTTOMLINE: • Shared ontologies are important for agent communication and

knowledge sharing • provides a context to the communication

Page 17: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

17

Knowledge Query Manipulation Language (KQML)

• Designed to support interactions among intelligent software agents

• Work by Yannis and Labrou (UMBC)• Message format definition• Message-handling protocol• Extensible• Specification of permitted “speech acts” for agents• Basis for higher levels of agent interactions – such as

negotiation, auctions etc.

Page 18: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

18

Knowledge Query Manipulation Language (KQML)

• Designed to support interactions among intelligent software agents

• Lots of work by Yannis and Labrou (UMBC)• Message format definition• Message-handling protocol• Extensible• Specification of permitted “speech acts” for agents• Basis for higher levels of agent interactions – such as

negotiation, auctions etc.

Page 19: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

19

Knowledge Query Manipulation Language (KQML)

• Allows computer processes to talk• Basic issues…• Knowing who to talk with• How to find them• How to initiate an exchange• How to maintain an exchange• What is the syntax• What are the semantics• KQML = Language + Set of Protocols

Page 20: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

20

Agent Communication Protocols

• Variety of inter-process information exchange protocols

• Exchange 1 (Simplest)

• Agent A acts as client

• Sends a query to agent B (server)

• A waits for reply

• B’s reply might consist of a single answer or a set of answers

• Synchronous model

Page 21: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

21

Agent Communication Protocols

• Exchange 2

• Server’s reply is not the complete answer

• Leads to more exchanges

• Example – querying from a relational database

• Synchronous model - but server should maintain state information

Page 22: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

22

Agent Communication Protocols

• Exchange 3 • Client subscribes to a server’s output• An indefinite number of replies arrive at different

times• Client does not know when replies arrive• Maybe busy doing other things

• VARIATION: Broadcast to several servers. Replies have to be collated and associated with the query

• Asynchronous Model

Page 23: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

23

Architecture for Knowledge Sharing

• Facilitators• Special agents• Coordinate the interactions of other agents• Performs communication services• Maintain registry of service names• Forward messages to named services• Route messages based on content• Matchmake between information providers and clients• Provide mediation and translations

Page 24: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

24

Scenario 1

• Agent A wants to the value of X

• Agent B has X in its knowledge base

• Facilitator F is available

• A is aware that B has X

• Then A can query it directly – simple point-to-point protocol

Page 25: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

25

Scenario 2

• A is not aware what agents are available and what is in their knowledge bases

• A subscribes to the facilitator to request that F for the value of X

• B subsequently informs F of the value of X

• F in turn informs A

• NOTE: ask, tell, subscribe – KQML constructs/primitives.

• In KQML primitives are called performatives

Page 26: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

26

Scenario 3

• A asks F to find an agent that can process ask(X)

• B independently informs F that it is willing to accept performative ask(X)

• F has both messages – sends B the query, gets response and forwards to A

• Performatives: broker, advertise

Page 27: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

27

Scenario 4

• A asks F to find an agent that can process ask(X) and tell it to send the results to A

• Performative used: recruit

Page 28: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

28

Scenario 5

• A asks F for the name of an agent that can process ask(X)

• Performative used: recommend

Page 29: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

29

Performatives’ Summary

• ask – request for information

• tell – reply, give information

• subscribe – let the facilitator know that you want some info. If it comes across it, it will forward it to you

• broker – ask facilitator to find another agent to process a request, receive a reply and forward it to initiating agent

Page 30: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

30

Performatives’ Summary

• recruit – find an agent to satisfy a request and tell it to send the results to the requesting agent

• recommend – ask facilitator for the name of an agent and then talk to that agent directly

• advertise – just inform that you have some info. Without being asked for it

Page 31: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

31

Facilitator

• Helps agents find appropriate clients and servers• How do agents find facilitators ?• Not an issue for KQML• PACT – all agents use a central common facilitator

• Fixed location• Initialised as a parameter during agent creating

• ARPI – On agent start up, connect to a local facilitator

Page 32: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

32

KQML Syntax

• Can carry any representation language

• Message structure is independent of the message content

• KQML implementation ignores the content portion of the message

• Messages are the core of KQML

• Performative + Arguments within parentheses

• Arguments: keyword / value pairs

Page 33: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

33

KQML – Argument Keywords

• :sender - sender of the performative• :receiver – recipient of the message• :from – the origin of the performative when forward

is used in :content• :to – the final destination when forward is used

in :content• :in-reply-to – label when responding to a previous

message• :reply-with – label when responding to a current

message

Page 34: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

34

KQML – Argument Keywords

• :language – the name of the representation language in the :content

• :ontology – the name of the ontology assumed in the :content

• :content – actual content for which the performative was issued and the message was sent

Page 35: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

35

Examples

(ask-all

:sender A

:receiver B

:in-reply-to ID0

:reply-with ID1

:language Prolog

:ontology foo

:content “bar(X,Y)” )

Page 36: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

36

Examples

(tell

:sender B

:receiver A

:in-reply-to ID1

:reply-with ID2

:language Prolog

:ontology foo

:content “[bar(a,b),bar(c,d)]” )

Page 37: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

37

Performative Summary

• BASIC QUERY – ask-if, evaluate, ask-about, ask-one, ask-all

• MULTI-RESPONSE – stream-about, stream-all, eos

• RESPONSE – reply, sorry

• GENERIC INFORMATIONAL – tell, achieve, cancel, untell, unachieve

• GENERATOR – standby, ready, next, rest, discard, generator

• CAPABILITY-DEFINITION – advertise, subsrcibe, monitor, import, export

• NETWORKING – register, unregister, forward, broadcast, route

Page 38: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

38

KQML Evaluation

• Form – declarative, easy to read messages, easy to convert to other formats, easy to parse, simple syntax

• Content - Message is content independent• Semantics – Open ended issue. Very little formal

semantics available as yet. Performatives are generally described in natural languages

• Reliability – Security and authentication issues are still open.

Page 39: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

39

KQML Evaluation

• Networking – communicate directly with other agents using their symbolic name or thru facilitators. Supports both synchronous and asynchronous messaging.

• Implementation – Many implementations available – UNISYS KQML API, Lockheed KQML API, JKQML etc.

• Environment – Any transport protocol TCP/IP, HTTP etc. No restrictions on content language

Page 40: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

40

KQML Applications

• Several prototype and demonstration systems

• Integration of design and engineering tools

• Military transportation and logistics

• Translation of relational data into knowledge structures

• Agent Based Software Integration – Integrating software systems – Stanford Univ.

Page 41: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

41

FIPA ACL

• Foundation for Intelligent Physical Agents

• Agent standards body

• Non-profit association

• Promote success of agent-based applications and services

• Members – academic institutions and commercial organisations

• Alcatel, British Telecom, Hitachi, HP, IBM, Intel, Lucent, NEC..etc. etc.

Page 42: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

42

FIPA ACL

• Syntax is similar to KQML

• Based on speech act theory

• Communication through messages

• Facilitation and Management primitives are not part of the ACL

• Compose primitives from existing/core primitives

• Powerful Language “SL” for describing agent states

Page 43: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

43

(inform :sender agent1 :receiver hpl-auction-server :content (price (bid good02) 150) :in-reply-to round-4 :reply-with bid04 :language sl :ontology hpl-auction)

Message Structure

Page 44: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

44

FIPA ACL – Message Types

accept-proposal

agreecancelconfirmdisconfirmfailureinforminform-ifinform-refnot-understoodproposequery-ifquery-refrefusereject-proposalrequestrequest-whenrequest-wheneversubscribe

Page 45: Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages

www.monash.edu.au

45

References

• KQML Draft Specification – Yannis, Finnin Labrou, Mayfield

• Papers and presentations by Yannis

• http://www.cs.umbc.edu/kqml