250 likes | 398 Views
LS/TS. Semantic Communication. Agenda. Overview Semantic communication model Layers API Example application. Overview. Provide higher interaction model
E N D
LS/TS Semantic Communication
Agenda • Overview • Semantic communication model • Layers • API • Example application
Overview • Provide higher interaction model • Messaging and Task scheduling is effectively addressed by CAL, MDAL, …, the structure of the exchange messages is application specific • The goal of SemCom is to provide a kind of message exchange system where the information transferred among different software agents is amenable to a deeper interpretation by humans or by automated interaction controllers and constraint enforcers. • Inspiration from philosophy, social sciences, biological systems
Semantic Communication Model • Message Content Model • Schema Representation (ontology) • Conversations • Layered Model
Layered Model • Communication Tiers • Interaction – raw messages • Linguistic – single message, taxonomy • Domain – application specific information • Social - conversations
Linguistic Tier • Single messages • Application independent taxonomy of message kinds • Ideas from Agent Communication Languages, FIPA ACL spec. • Types of messages (performatives): • Request – to express a request for an action • Notify – to express the transfer of information about occurred event • Ask-If – to express closed yes/no questions • Ask-Which to express open questions • Agent Communication Language Ontology
What is Ontology? • Short answer: • An ontology is a specification of a conceptualization • Every ontology defines: • a vocabulary - the set of terms used for modeling • a structure of the concepts in the model • the semantic interpretations of these terms.
ACL Ontology Concepts • Agent Communication Language – linguistic model • Actions can be executed or requested • Events can be consumed or notified
Domain Tier • SemCom recognizes importance of Domain Model (domain driven design) • what application does • Application specific information that agents typically exchange in messages -> topic of agent conversations • Domain Ontology • what the agents talk about • structured conversation topic • extends ACL ontology with three kinds of items • Domain Actions, Domain Events, Domain Object Descriptions • LS/TS supports automatic OWL to Java mapping and code generation
Social Tier • Conversation support • Interaction protocols • Requesting an Action • Notifying an Event • Asking a Query (open/closed questions)
Request Interaction • Request performative
Notify Interaction • Notify performative
Query Interaction (closed questions) • Ask-If performativeTrue/False questions
Query Interaction (open questions) • Ask-Which performative
SemCom Usage • Identify information exchanged in communication • Create domain ontology of conversation topics or use/extend existing one • Class-level Model/View association: DomainContext • “one to many” association between an item in domain model and the ontological view View 1 View 2 Concept B Concept A Concept D Concept C Domain layer Concept A Domain Class B Domain Class A Domain Class D Domain Class C
SemCom usage (cont.) • 2 Layers • Domain • Ontological proxies (views) • 3rd layer: Ontological concepts (SOFA) • Domain Context • Connection “point” betweendomain model and ontologicalviews SOFA Domain Context Ontological Proxies(view) Domain Layer
SemCom usage (cont.) • Automatic code generation of ontological interfaces from OWL • OWL -> Java mapping
SemCom usage (cont.) • DomainContext ctx = getDomainContext(); • ctx.registerActionClass(Buy.class, DomainBuy.class, null, Buy.URI); • ctx.registerObjectDescriptionClass(Person.class, DomainPerson.class, Person.URI); • ctx.registerObjectDescriptionClass(Book.class, DomainBook.class, Book.URI); • //... some simple application logic here • DomainBuy buy = new DomainBuy(); • buy.setSeller(new Person(“Mr. Anderson”)); • buy.setBuyer(new Person(“Mr. Bean”)); • Buy.setItem(new Book(“My Perfect Book Book About Agents”)); • // … now send a request message using ontological view • Buy viewBuy = (Buy) ctx.getAction(buy); • viewBuy.request(someAgentId);
Request example • Description:Trivial ‘buy’ example, where buyer agent can send request messages to seller agent. Seller agents can perform a ‘buy’ action according to ‘seller’, ‘buyer’ and ‘item’ attributes in ‘buy’ action.
Agent roles (example cont.) • Customer delegates buy action to buyer agent to act on behalf of him • Buyer contacts Seller or Reseller agent that executes “Buy” action, or delegates action to other agent Seller Buyer Reseller
Domain classes (example cont.) Buyer Domain • Domain entities • Person, Book – objects • Buy - action Seller Domain
Domain Ontology (example cont.) • Identifying entities that appear in communication • Buy • Action • Person • Object Description • Book • Object Description
OWL (example cont.) • <owl:Class rdf:ID="Book"> <rdfs:subClassOf rdf:resource="http://www.whitestein.com/semcom/ACLOntology.owl#ObjectDescription"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="Title"/> </owl:onProperty> <owl:cardinality rdf:datatype=http://www.w3.org/2001/XMLSchema#int >1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • <owl:DatatypeProperty rdf:about="#Title"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Book"/></owl:DatatypeProperty>
Interaction schema (example cont.) • Request interaction- Buyer: Requester- Reseller: Executor1- Seller: Executor2 • Let’s see the source