1 / 73

A Brief Overview of Agent Communication in the Semantic Web Era -- and Beyond --

A Brief Overview of Agent Communication in the Semantic Web Era -- and Beyond --. Tim Finin University of Maryland, Baltimore County April 2007. http://ebiquity.umbc.edu/resource/html/id/220/. Overview. Agent communication languages 1990-2000 DARPA knowledge sharing effort 1997-2002 FIPA

ingo
Download Presentation

A Brief Overview of Agent Communication in the Semantic Web Era -- and Beyond --

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. A Brief Overview of Agent Communication in the Semantic Web Era-- and Beyond -- Tim Finin University of Maryland, Baltimore County April 2007 http://ebiquity.umbc.edu/resource/html/id/220/

  2. Overview • Agent communication languages • 1990-2000 DARPA knowledge sharing effort • 1997-2002 FIPA • 2000- (Semantic) Web • 2010- and beyond • Are we making progress?

  3. Agent Communication • Agent-to-agent communication is key to realizing the potential of the agent paradigm, just as the development of human language was key to the development of human intelligence and societies. • Agents use an Agent Communication Language(ACL) to communication information and knowledge. • Genesereth (CACM 1994) defined a software agent as any system which uses an ACL to exchange information. Genesereth, M. R., Ketchpel, S. P.: “Software Agents”, Communications of the Association for Computing Machinery, July 1994, pp 48-53.

  4. Some ACLs • Knowledge sharing approach • KQML, KIF, Ontologies • FIPA • Ad hock languages • e.g., SRI’s OAA ? ?? Shared Experiences & Strategies ?? e.g., team theories,joint intentions, … Shared beliefs, plans, goals,intentions, policies … Intentional Sharing e.g., KQML, FIPA, KIF, Aglets, OWL Shared facts, rules, constraints, procedures and knowledge Knowledge Sharing Object Sharing Shared objects, procedure calls and data structures e.g., CORBA, RPC, RMI

  5. BDI Agents, Theories and Architectures • BDI architectures describe the internal state of an agent by the mental states of beliefs, goals and intentions • BDI theories provide a conceptual model of the knowledge, goals, and commitments of an agent • BDI agents have some (implicit or explicit) representations of the corresponding attitudes • BDI models are important in defining the semantics of ACLs

  6. B + D => I B + D => I I => A I => A BDI Model and Communication • Communication is a means to (1) reveal to others what our BDI state is and (2) attempt to effect the BDI state of others. • Note the recursion: an agent has beliefs about the world, beliefs about other agents, beliefs about the beliefs of other agents, beliefs about the beliefs another agent has about it, ...

  7. 1990-2000 Knowledge Sharing Effort

  8. Historical Note:Knowledge Sharing Effort • Initiated by DARPA circa 1990 with later support from NSF, AFOSR, etc. • Participation by ~100 researchers in academia and industry • Developing techniques, methodologies and software tools forknowledge sharing and knowledge reuse. • Sharing and reuse can occur at design, implementation or execution time. • Mostly wound down by ~2000 as funding dried up and industry failed to adopt the ideas

  9. Knowledge Sharing Effort • Knowledge sharing requires a communication • … which requires a common language • We can divide a language into syntax, semantics, and pragmatics • Some existing components that can be used independently or together: • KIF - knowledge Interchange Format(syntax) • Ontolingua - a language for defining sharable ontologies (semantics) • KQML - a high-level interaction language (pragmatics) Propositional Propositional attitudes

  10. KIF <-> Lang3 Translator Sys 3 Know. Base Know. Base in KIF KIF <-> Lang2 Translator in KIF Lang3 Know. Base KIF <-> Lang1 Translator in Library Sys 2 Lang2 Know. Base in Sys 1 Lang1 Knowledge Interchange Format • KIF ~ First order logicwithset theory • An interlingua for encoded declarative knowledge • Takes translation among nsystems from O(n2) to O(n) • Common language for reusable knowledge • Implementation independent semantics • Highly expressive - can represent knowledge in typical application KBs. • Translatable - into and out of typical application languages • Human readable - good for publishing reference models and ontologies. • 2003: KIF superceded by Common Logic (http://cl.tamu.edu/) • http://en.wikipedia.org/wiki/Common_Logic • Semantic Web languages RDF and OWL are also alternatives

  11. KIF Syntax and Semantics • Extended version of first order predicate logic • Simple list-based linear ASCII syntax, e.g., (forall ?x (=> (P ?x) (Q ?x))) (exisits ?person (mother mary ?person)) (=> (apple ?x) (red ?x)) (<<= (father ?x ?y) (and (child ?x ?y) (male ?x)) (=> (believes john ?p) (believes mary ?p)) (believes john '(material moon stilton)) • Model-theoretic semantics • KIF includes an axiomatic specification of large function and relation vocabulary and a vocabulary for numbers, sets, and lists

  12. Common Semantics Shared Ontologies and Ontolingua • Ontology: A common vocabulary and agreed upon meanings to describe a subject domain. • Ontolingua is a language for building, publishing, and sharing ontologies. • A web-based interface to a browser/editor server. • Ontologies can be automatically translated into other content languages, including KIF, LOOM, Prolog, etc. • The language includes primitives for combining ontologies.

  13. Common PragmaticsKnowledge Query and Manipulation Language • KQML is a high-level, message-oriented, communication language and protocol for information exchange independent of content syntax and ontology. • KQML is also independent of • transport mechanism, e.g., tcp/ip, email, corba, IIOP, http ... • High level protocols, e.g., Contract Net, Auctions, … • Each KQML message represents a single speech act(e.g., ask, tell, achieve, …) with an associated semantics and protocol. • KQML includes primitive message types of particular interest to building interesting agent architectures (e.g., for mediators, sharing intentions, etc.)

  14. Common High-level Protocols • There is also a need for communication agents to agree on the agent-level protocols they will use. • The protocol is often conveyed via an extra parameter on a message • (ask :from Alice :to Bob … :protocol auction42 …) • Common protocols: • Contract net • Various auction protocols • Name registration • These protocols are often defined in terms of constraints on possible conversations and can be expressed as • Grammars (e.g., DFAs, ATNs, DCGs…) • Petri networks • UML-like interaction (activity) diagrams • Conversation plans • Rules or axioms

  15. Common Service Infrastructure • Many agent systems assume a common set of services such as: • Agent Name Sever • Broker or Facilitator • Communication visualizer • Certificate server • These are often tied rather closely to an ACL since a given service is implemented to speak a single ACL • Moreover, some of the services (e.g., name registration) may be logically ACL-dependent • e.g., Some ACLs don’t have a notion of an agent’s name and others have elaborate systems of naming

  16. (tell :sender bhkAgent :receiver fininBot :in-reply-to id7.24.97.45391 :ontology ecbk12 :languageProlog :content “price(ISBN3429459,24.95)”) performative parameter value A KQML Message Represents a single speech actorperformative ask, tell, reply, subscribe, achieve, monitor, ... with an associated semantics and protocol tell( i,j, Bi ) = fp[Bi Bi Bi( Bifj Bi Uifj Bi )]  re[Bj Bi] ... and a list of attribute/value pairs :content, :language, :from, :in-reply-to

  17. Performatives (1997) Insert Uninsert Delete-one Delete-all Undelete Tell Untell Inform Basic DB Broadcast Forward Inform Ask-if Ask-one Ask-all Network Basic Achieve Unachieve Goal Query Request Stream Stream Eos KQML Performatives Facilitation Cursor Standby Ready Next Rest Discard Broker-one Recommend-one Recruit-one Broker-all Recommend-all Recruit-all Reply Promise Stream Eos Advertise Unadvertise Meta Deny Subscribe

  18. ask-if(P) ask-one(P) Sorry A B tell(P) tell(P1) A B tell((p1 p2 p3...)) Stream-all(P) ask-all(P) Simple Query Performatives tell(P2) tell(P3) eos • The ask-one, ask-all, ask-if, and stream-all performatives provide a basic query mechanism.

  19. advertise(q3) advertise(q2) ask-all(advertise(P) advertise(q1) A B C FAC advertise(p1) advertise(p2) Capability Description The advertise performative is used to describe the performatives an agent is prepared to accept.

  20. adv(ask(P)) recommend(ask(P)) advertise(ask(P)) broker(ask(P)) B C A C B A ask(P) fwd(adv(ask(P))) ask(P) Broker Recommend tell(P) tell(P) tell(P) advertise(ask(P)) recruit(ask(P)) B C A ask(P) tell(P) Recruit Facilitation Performatives • The three facilitation performatives come in a X-one and X-all versions: • Broker-one and broker-all • Recruit-one and recruit-all • recommend-one and recommend-all

  21. Ontology languages vary in expressivity Thesauri “narrower term” relation space of current interest Inverse, Disjointness,part of… Frames (properties) Formal is-a Catalog/ID CYC DB Schema UMLS RDF RDFS DAML Wordnet OO OWL IEEE SUO Formal instance General Logical constraints Informal is-a Value Restriction Terms/ glossary ExpressiveOntologies SimpleTaxonomies After Deborah L. McGuinness (Stanford)

  22. 139 74.50140 77.60 … … Conceptual Schemas A conceptual schema specifies the intended meaning of concepts used in a data base Data Base: Data Base Schema: Table: price *stockNo: integer; cost: float Auto Product Ontology price(x, y) =>  (x’, y’) [auto_part(x’) & part_no(x’) = x & retail_price(x’, y’, Value-Inc) & magnitude(y’, US_dollars) = y] Product Ontology Conceptual Schema: Units & Measures Ontology

  23. 1997-2003StandardizationFIPA

  24. What is FIPA • http://fipa.org/ • The Foundation for Intelligent Physical Agents founded as a non-profit association ~1997. • FIPA’s purpose is to promote the success of emerging agent-based applications, services and equipment by establishing standards • MP3 was the model • In 2006 it became an IEEE standards committee

  25. FIPA Agent Communication Language • Called FIPA ACL • Based on speech acts • Messages are actions (communicative actions or CAs) • Communicative acts are described in both a narrative form and a formal semantics based on modal logic • Syntax is similar to KQML • Specification provides a normative description of high-level interaction protocols (aka conversations) • Separate library of protocols and content languages (e.g., SL, KIF, RDF) • Several serializations

  26. Agent-Standardization - FIPA Cooperation between Agents CAs for Information Exchange • proposition or reference as content • Basic CAs: • inform • query-ref • not-understood • Advanced CAs: • inform-if, inform-ref • confirm, disconfirm • subscribe

  27. Agent-Standardization - FIPA Cooperation between Agents CAs for task delegation • action-description as content • Basic CAs: • request • agree • refuse • failure • not-understood • Advanced CAs: • request-when, request-whenever • cancel

  28. Agent-Standardization - FIPA Cooperation between Agents CAs for Negotiation • action-description and proposition as content • Initiating CA • cfp • Negotiating CA • propose • Closing CAs • accept-proposal • reject-proposal

  29. Agent-Standardization - FIPA Cooperation between Agents Example (request :sender (:name user_agent@bond.mchp.siemens.de:3410) :receiver (:name hilton_hotel@tcp://hilton.com:5001) :ontology fipa-pta :language SL :protocol fipa-request :content ( action hilton_hotel@tcp://hilton.com:5001 ( book-hotel (:arrival 04/07/1999) (:departure 12/07/1999) (:infos ( )) ))) FIPA 99: other possibilities to define content!

  30. Agent-Standardization - FIPA Cooperation between Agents FIPA Cooperation • CAs have their own formal semantics • difficult to implement • need not be implemented - agent must behave according to semantics • Interaction protocols define structured conversations • based on CAs • basis for dialogues between agents • basic set of pre-defined IPs • own IPs can be defined

  31. Agent-Standardization - FIPA Cooperation between Agents FIPA-Query (simplified - for information exchange) query inform not-understood

  32. Agent-Standardization - FIPA Cooperation between Agents FIPA-Request - for task delegation request(action) not-understood refuse(reason) agree failure(reason) inform(done()) inform-ref

  33. AUML • Agent UML • http://www.auml.org/ • ULM like framework for specifying agent communication and interaction protocols

  34. software A A AMS DF ACC IIOP internal platform message transport FIPA Agent Platform Agents belong to one or more agent platforms which provide basic services.

  35. Jade Java Agent Development Framework is an OS software framework for multi-agent systems, implemented in Java. • Developed by Telcom Italia • Built on FIPA standards • Libraries (LEAP) for handheld and wireless devices • http://jade.tilab.com/ System of choice for building FIPA based MAS April 2007

  36. 2000-?Semantic Web

  37. “XML is Lisp's bastard nephew, with uglier syntax and no semantics. Yet XML is poised to enable the creation of a Web of data that dwarfs anything since the Library at Alexandria.” -- Philip Wadler, Et tu XML? The fall of the relational empire, VLDB, Rome, September 2001.

  38. “The web has made people smarter. We need to understand how to use it to make machines smarter, too.” -- Michael I. Jordan, paraphrased from a talk at AAAI, July 2002 by Michael Jordan (UC Berkeley)

  39. “The Semantic Web will globalize KR, just as the WWW globalize hypertext” -- Tim Berners-Lee

  40. Origins Tim Berners-Lee’s original 1989 WWW proposal described a web of relationships among namedobjects unifying many info. management tasks. Capsule history • Guha’s MCF (~94) • XML+MCF=>RDF (~96) • RDF+OO=>RDFS (~99) • RDFS+KR=>DAML+OIL (00) • W3C’s SW activity (01) • W3C’s OWL (03) http://www.w3.org/History/1989/proposal.html

  41. W3C’s Semantic Web Goals Focus on machine consumption: "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Berners-Lee, Hendler and Lassila, The Semantic Web, Scientific American, 2001

  42. Agents? • DARPA gave the Semantic Web a big push starting in 2000 • Going from simple RDF to OWL • DARPA Agent Markup Language • Goal was to give agents access to information and knowledge • And to populate the web with intelligent agents providing services

  43. TBL’s semantic web vision

  44. RDF is the first SW language Graph XML Encoding RDF Data Model <rdf:RDF ……..> <….> <….> </rdf:RDF> Good For HumanViewing Good for MachineProcessing Triples stmt(docInst, rdf_type, Document) stmt(personInst, rdf_type, Person) stmt(inroomInst, rdf_type, InRoom) stmt(personInst, holding, docInst) stmt(inroomInst, person, personInst) RDF is a simple language for building graph based representations Good For Reasoning

  45. Simple RDF Example http://umbc.edu/~finin/talks/idm02/ dc:Title “Intelligent Information Systemson the Web and in the Aether” dc:Creator bib:Aff bib:email http://umbc.edu/ bib:name “finin@umbc.edu” “Tim Finin”

  46. XML encoding for RDF <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:bib="http://daml.umbc.edu/ontologies/bib/"> <description about="http://umbc.edu/~finin/talks/idm02/"> <dc:title>Intelligent Information Systems on the Web and in the Aether</dc:Title> <dc:creator> <description> <bib:Name>Tim Finin</bib:Name> <bib:Email>finin@umbc.edu</bib:Email> <bib:Aff resource="http://umbc.edu/" /> </description> </dc:Creator> </description> </rdf:RDF>

  47. A usecase: FOAF • FOAF (Friend of a Friend) is a simple ontology to describe people and their social networks. • See the foaf project page: http://www.foaf-project.org/ • We recently crawled the web and discovered over 1,000,000 valid RDF FOAF files. • Most of these are from the http://liveJournal.com/ blogging system which encodes basic user info in foaf • See http://apple.cs.umbc.edu/semdis/wob/foaf/ • <foaf:Person> • <foaf:name>Tim Finin</foaf:name> • <foaf:mbox_sha1sum>2410…37262c252e</foaf:mbox_sha1sum> • <foaf:homepage rdf:resource="http://umbc.edu/~finin/" /> • <foaf:img rdf:resource="http://umbc.edu/~finin/images/passport.gif" /> • </foaf:Person>

  48. FOAF: why RDF? Extensibility! • FOAF vocabulary provides 50+ basic terms for making simple claims about people • FOAF files can use other RDF terms too: RSS, MusicBrainz, Dublin Core, Wordnet, Creative Commons, blood types, starsigns, … • RDF guarantees freedom of independent extension • OWL provides fancier data-merging facilities  • Result: Freedom to say what you like, using any RDF markup you want, and have RDF crawlers merge your FOAF documents with other’s and know when you’re talking about the same entities.  After Dan Brickley, danbri@w3.org 

More Related