Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages."— Presentation transcript:

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

2 www.monash.edu.au 2 Lecture Outline Agent Communication – Overview Ontologies KQML FIPA ACL

3 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

4 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

5 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…

6 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

7 www.monash.edu.au 7 The Ideal Agents exchange and share: Plans Goals Long-term strategies Experiences

8 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

9 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….

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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.

18 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.

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 www.monash.edu.au 28 Scenario 5 A asks F for the name of an agent that can process ask(X) Performative used: recommend

29 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

30 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

31 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

32 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

33 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

34 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

35 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)” )

36 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)]” )

37 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

38 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.

39 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

40 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.

41 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.

42 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

43 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

44 www.monash.edu.au 44 FIPA ACL – Message Types accept-proposal agree cancel confirm disconfirm failure inform inform-if inform-ref not-understood propose query-if query-ref refuse reject-proposal request request-when request-whenever subscribe

45 www.monash.edu.au 45 References KQML Draft Specification – Yannis, Finnin Labrou, Mayfield Papers and presentations by Yannis http://www.cs.umbc.edu/kqml


Download ppt "Www.monash.edu.au Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages."

Similar presentations


Ads by Google