1 / 25

Agents Communication Languages (ACL)

Agents Communication Languages (ACL) . http://www.engr.uconn.edu/%7Eibrahim/publications/acl.htm Dumitru Roman Digital Enterprise Research Institute dumitru.roman@deri.ie. Outline. Introduction Knowledge Query and Manipulation Language (KQML)

jaden
Download Presentation

Agents Communication Languages (ACL)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agents Communication Languages (ACL) http://www.engr.uconn.edu/%7Eibrahim/publications/acl.htm Dumitru Roman Digital Enterprise Research Institute dumitru.roman@deri.ie

  2. Outline • Introduction • Knowledge Query and Manipulation Language (KQML) • Foundation for Intelligent Physical Agents (FIPA) ACL • Comparing between KQML and FIPA • Relevance to WSMO dumitru.roman@deri.ie

  3. Introduction • Motivation: standard communication between heterogeneous agent communities. • The origin of ACLs: Knowledge Sharing Effort (KSE) - 1990 • software systems are virtual knowledge bases that exchange propositions using a language that expresses various complex attitudes - propositional attitudes - three part relationships between: • An agent, • A content bearing proposition (for example, it is raining), and • A finite set of propositional attitudes an agent might have with respect to the proposition (for example, believing, asserting, fearing, wondering, hoping, and so on). Example: <a,fear,raining(t_now )> dumitru.roman@deri.ie

  4. Requirements of ACLs (1) • Form – an ACL should be: • Declarative, syntactically simple, and readable by people. • Concise, easy to parse and to generate. • Content • A distinction should be made between the communication language, which expresses communicative acts, and the content language, which expresses facts about the domain. • The language should commit to a well-defined set of communicative acts (primitives). • Semantics - should be grounded in theory, and should be unambiguous. dumitru.roman@deri.ie

  5. Requirements of ACLs (2) • Implementation - should be efficient, both for speed, and for bandwidth utilization. • Networking – an ACL should fit well with modern networking technology. • Environment – an ACL must provide tools for coping with heterogeneity and dynamism and support interoperability with other languages and protocols. • Reliability – an ACL must support reliable and secure communication among agents. dumitru.roman@deri.ie

  6. Requirements on agents to support ACL • Agents should send not-understood (or error) if they receive a message that they do not recognize or they are unable to process the content of the message. • An ACL compliant agent may choose to implement any subset of the pre-defined message types and protocols. • An ACL compliant agent which uses the communicative acts whose names are defined in ACL’s specification must implement them correctly with respect to their definition. • Agents may use communicative acts with other names, and are responsible for ensuring that the receiving agent will understand the meaning of the act. • An ACL compliant agent must be able to correctly generate a syntactically well-formed message in the transport form that corresponds to the message it wishes to send. • In general, a content language must be able to express propositions, objects and actions. dumitru.roman@deri.ie

  7. Basic concepts of ACL • An ACL provides agents with a means of exchanging information and knowledge. • The ACL itself defines the types of messages (and their meanings) that agents can exchange. • Agents have conversations—task oriented, shared sequences of messages that they follow, such as a negotiation or an auction. • The message types of ACLs - speech acts. dumitru.roman@deri.ie

  8. Knowledge Query and Manipulation Language (KQML) • A high-level, message-oriented communication language and protocol for information exchange independent of content syntax and applicable ontology. • Three layers in a KQML message: • Content - bears the actual content of the message in the program’s own representation language. • Communication - encodes a set of features to the message that describe the lower-level communication parameters. • Message - identify the network protocol with which to deliver the message and supply a speech act or perfomative that the sender attaches to the content. dumitru.roman@deri.ie

  9. KQML Performatives • A KQML message is called a performative. • Parameters of a performative: dumitru.roman@deri.ie

  10. (tell:sender bookShopAgent123 :receiver ksAgent :in-reply-to id7.34.96.45391 :ontology books :languageProlog :content “price(ISBN3429459,24.95)”) performative parameter value A KQML Message A KQML Dialogue: A to B: (ask-if (> (price bk1) (price bk2))) B to A: (reply true) B to A: (inform (= (price bk1) 25.50)) B to A: (inform (= (price bk2) 19.99)) dumitru.roman@deri.ie

  11. KQML Performatives - Discourse performatives (1) • ask-if - S wants to know if the :content is in R's KB. • ask-all - S wants all of R's instantiations of the :content that are true of R. • ask-one - S wants one of R's instantiations of the :content that is true of R. • stream-all - multiple-response version of ask-all. • eos - the end-of-stream marker to a multiple-response (stream-all). • tell - the sentence is in S's KB. • untell - the sentence is not in S's KB. • deny - the negation of the sentence is in S's KB. • insert - S asks R to add the :content to its KB dumitru.roman@deri.ie

  12. KQML Performatives - Discourse performatives (2) • uninsert - S wants R to reverse the act of a previous insert. • delete-one - S wants R to remove one matching sentence from its KB. • delete-all - S wants R to remove all matching sentences from its KB. • undelete - S wants R to reverse the act of a previous delete. • achieve - S wants R to do make something true of its physical environment. • unachieve - S wants R to reverse the act of a previous achieve. • advertise - S wants R to know that S can and will process a message like the one in :content. • unadvertise - S wants R to know that S cancels a previous advertise and will not process any more messages like the one in the :content. dumitru.roman@deri.ie

  13. KQML Performatives - Intervention and mechanics of conversation performatives • error - S considers R's earlier message to be mal-formed. • sorry - S understands R's message but cannot provide a more informative response. • standby - R will deliver its response to the S as soon as a response is generated. • ready - S is ready to respond to a message previously received from R. • next - S wants R's next response to a message previously sent by S. • rest - S wants R's remaining responses to a message previously sent by S, • discard - S does not want R's remaining responses to a previous (multi-response) message. dumitru.roman@deri.ie

  14. KQML Performatives - Networking and Facilitation performatives (1) • register - S announces to R its presence and symbolic name. • unregister - S wants R to reverse the act of a previous register. • forward - S wants R to forward the message to the :to agent (R might be that agent). • broadcast - S wants R to send a message to all agents that R knows of. • transport-address - S associates its symbolic name with a new transport address. dumitru.roman@deri.ie

  15. KQML Performatives - Networking and Facilitation performatives (2) • broker-one - S wants R to find one response to the :content (some agent other than R is going to provide that response). • broker-all - S wants R to find all responses to the :content (some agent other than R is going to provide that response). • recommend-one - S wants to learn of an agent who may respond to the :content. • recommend-all - S wants to learn of all agents who may respond to the :content. • recruit-one - S wants R to get one suitable agent to respond to the :content. • recruit-all - S wants R to get all suitable agents to respond to the :content. dumitru.roman@deri.ie

  16. Semantics of KQML • Semantics of each performative is defined in terms of: • preconditions - indicate the necessary states for an agent to send a performative and for the receiver to accept it and successfully process it. • postconditions - describe the states of the sender after the successful utterance of a performative, and of the receiver after the receipt and processing of a message. • completion conditions - indicate the final state, after a conversation has taken place and the intention associated with the performative that started the conversation has been fulfilled. dumitru.roman@deri.ie

  17. Foundation for Intelligent Physical Agents (FIPA) ACL • Based on speech act theory: messages are actions or communicative acts. • Consists of a set of message types and the description of their pragmatics—that is, the effects on the mental attitudes of the sender and receiver agents. • Describes every communicative act with both a narrative form and a formal semantics based on modal logic. • Separates the outer language (the intended meaning of the message) from the inner language (content language). • The communication primitives are called communicative acts. dumitru.roman@deri.ie

  18. 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 ) ACL Message Note: FIPA uses a different content language from KQML called SL, which is based on modal logic. dumitru.roman@deri.ie

  19. FIPA - Communicative Acts (1) • accept-proposal - The action of accepting a previously submitted proposal to perform an action. • agree - The action of agreeing to perform some action, possibly in the future. • cancel - The action of cancelling some previously request'ed action which has temporal extent (i.e. is not instantaneous). • cfp - The action of calling for proposals to perform a given action. • confirm - The sender informs the receiver that a given proposition is true, where the receiver is known to be uncertain about the proposition. • disconfirm - The sender informs the receiver that a given proposition is false, where the receiver is known to believe, or believe it likely that, the proposition is true. • failure - The action of telling another agent that an action was attempted but the attempt failed. • inform - The sender informs the receiver that a given proposition is true. dumitru.roman@deri.ie

  20. FIPA - Communicative Acts (2) • inform-if - A macro action for the agent of the action to inform the recipient whether or not a proposition is true. • inform-ref - A macro action for sender to inform the receiver that an object corresponds to a definite descriptor (e.g. a name). • not-understood - The sender of the act (e.g. i) informs the receiver (e.g. j) that it perceived that j performed some action, but that i did not understand what j just did. • propose - The action of submitting a proposal to perform a certain action, given certain preconditions. • query-if - The action of asking another agent whether or not a given proposition is true. • query-ref - The action of asking another agent for the object referred to by an expression. • refuse - The action of refusing to perform a given action, and explaining the reason for the refusal. dumitru.roman@deri.ie

  21. FIPA - Communicative Acts (3) • reject-proposal - The action of rejecting a proposal to perform some action during a negotiation. • request - The sender requests the receiver to perform some action. One important class of uses of the request act is to request the receiver to perform another communicative act. • request-when - The sender wants the receiver to perform some action when some given proposition becomes true. • request-whenever - The sender wants the receiver to perform some action as soon as some proposition becomes true and thereafter each time the proposition becomes true again. • request-whomever - The sender wants an action performed by some agent other than itself. The receiving agent should either perform the action or pass it on to some other agent. • subscribe - The act of requesting a persistent intention to notify the sender of the value of a reference, and to notify again whenever the object identified by the reference changes. dumitru.roman@deri.ie

  22. Semantics of FIPA ACL • SL (Semantic Language) – it can represent propositions, objects, and actions. • Semantics of each communicative act is specified as sets of SL formulae that describe the act’s • feasibility pre-conditions - describe the necessary conditions for the sender of the CA. • rational effect - represents the effect that an agent can expect to occur as a result of performing the action; it also typically specifies conditions that should hold true of the recipient. dumitru.roman@deri.ie

  23. Comparing KQML and FIPA ACL (1) • Almost identical with respect to their basic concepts and the principles they observe. • Differ primarily in the details of their semantic frameworks. • KQML and FIPA ACL messages look syntactically identical. • Difference in their treatment of the registration and facilitation primitives. dumitru.roman@deri.ie

  24. Comparing KQML and FIPA ACL (2) • agent management • KQML: register, unregister, recommend, broker, recruit, advertise. • FIPA considers these to be services offered by the basic agents in a system, rather than message types. • communications management • KQML: broadcast, transport-address, forward. • FIPA considers these to be services offered by the basic agents in a system, rather than message types. • multiple solutions • KQML: ask-one, ask-all, stream-all, eos, standby, ready, next, rest, discard. • FIPA does not express these concepts in the ACL, but in the content of the ACL messages. • direct belief manipulation • KQML: insert, uninsert, delete-one, delete-all. • FIPA has no equivalent of these, since agents are not given the power to directly manipulate the beliefs of other agents. • goal definition • KQML: acheive, unacheive. • FIPA does not express these concepts in the ACL, but in the context of the ACL messages. dumitru.roman@deri.ie

  25. Relevance to WSMO • Consider the idea of speech acts for simple MEP in WSMO: • FIPA ACL request • FIPA ACL inform • FIPA ACL failure • Consider WSML as the content language dumitru.roman@deri.ie

More Related