Transcript ACLs - WSMO
Agents Communication Languages (ACL) http://www.engr.uconn.edu/%7Eibrahim/publications/acl.htm Dumitru Roman Digital Enterprise Research Institute [email protected] Outline • Introduction • Knowledge Query and Manipulation Language (KQML) • Foundation for Intelligent Physical Agents (FIPA) ACL • Comparing between KQML and FIPA • Relevance to WSMO [email protected] 2 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 )> [email protected] 3 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. [email protected] 4 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. [email protected] 5 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 predefined 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. [email protected] 6 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. [email protected] 7 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. [email protected] 8 KQML Performatives • A KQML message is called a performative. • Parameters of a performative: :sender - the actual sender of the performative. :receiver - the actual receiver of the performative. :from - the origin of the performative in :content when forward is used. :to - the final destination of the performative in :content when forward is used. :in-reply-to - the expected label in a response to a previous message (same as the value of the previous message). :reply-with - the expected label in a response to the current message. :language - the name of the representation language of the :content. :ontology - the name of the ontology (e.g., set of term definitions) assumed in the :content parameter. :content - the information about which the performative expresses an attitude. [email protected] 9 A KQML Message performative parameter value (tell :sender bookShopAgent123 :receiver ksAgent :in-reply-to id7.34.96.45391 :ontology books :language Prolog :content “price(ISBN3429459,24.95)”) 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)) [email protected] 10 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 (streamall). • 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 [email protected] 11 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. [email protected] 12 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. [email protected] 13 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. [email protected] 14 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. [email protected] 15 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. [email protected] 16 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. [email protected] 17 ACL Message (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 ) [email protected] Note: FIPA uses a different content language from KQML called SL, which is based on modal logic. 18 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. [email protected] 19 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. [email protected] 20 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. [email protected] 21 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. [email protected] 22 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. [email protected] 23 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. [email protected] 24 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 [email protected] 25